MRP Simulation with Simulink - BOM explosion

18 views (last 30 days)

I study supply chain and manufacturing processes. My target is to create a simulation in Simulink starting from a Sales Order, ending with the Delivery, and showcasing the Materials Requirement Process :

  1. Sales Order (SO), requiring n
  2. Products (PR) in Inventory (IN), and if not enough stock available, generate either a
  3. Manufacturing Order (MO) to produce the Product (PR) if sourced internally, or a
  4. Purchase Order (PO) if the Product is sourced externally.
  5. The Product is made of Components linked together through of a Bill of Materials (BOM).
  6. a BOM is an array of qty of Products. Again, if not enough available, generate a MO or a PO
  • The BOM can be multi-level and forms in that case a directed graph (DAG)

I have started with Simulink and the SimEvents Library. Basically, I generate an Entity for the SO, check if stock is available, and if not, check if sourced internally, and ... here I need to "read" the BOM of the Product, to further check availability, etc. This is a recursive process, ending when the leaf has enough stock OR the Product is sourced externally and a PO is created.

I went through the article for_each_subsystem but could not implement it correctly in my use case.

I also tried to query a database to fetch the BOM on demand. This works in Matlab, but not in a Simulink function.

If possible, I would like to create a subsystem for each Product or Component in the multi-level BOM, in order to simulate a flow of n-Customer Orders, and measure the impact on the inventory values, the stress at the internal Assembly departments, etc.

Do you have experience to share with me in that field ? Which blocks would you use to model that situation (especially the BOM explosion). Any help is appreciated.

Thanks.

  1 Comment
Alejandro Aguilera Lazaro
Alejandro Aguilera Lazaro on 30 Oct 2019
Hello, I start to study the same, and I am lookig for a methodology or something. Have you solved the problem already?

Sign in to comment.

Answers (1)

Juliana Castañeda Jimenez
Hello, could you please share a code?

Categories

Find more on General Applications in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!