Simple Bill of Materials example showing how a finished good is made from 3 raw materials
...
| bom_id | location | lead_time_days |
|---|---|---|
| 1 | factory_1 | 5 |
| 2 | factory_1 | 10 |
| bom_id | input_item | input_qty |
|---|---|---|
| 1 | rm_1 | 1.0 |
| 1 | rm_2 | 2.0 |
| 1 | rm_3 | 0.5 |
| bom_id | output_item | output_qty |
|---|---|---|
| 1 | fg_1 | 1 |
| location | item | need_date | demand_qty |
|---|---|---|---|
| store_1 | fg_1 | 5/30/2024 | 1 |
| item | location | genesis |
|---|---|---|
| rm_1 | supplier_1 | True |
| rm_2 | supplier_1 | True |
| rm_3 | supplier_2 | True |
| item | from_location | to_location | lead_time_days |
|---|---|---|---|
| fg_1 | factory_1 | store_1 | 5 |
| rm_1 | supplier_1 | factory_1 | 8 |
| rm_2 | supplier_1 | factory_1 | 8 |
| rm_3 | supplier_2 | factory_1 | 8 |
| item | location | activity | activity_date | pegged_qty | demand_key |
|---|---|---|---|---|---|
| rm_1 | supplier_1 | 0_item_genesis | 2024-05-12 | 1.0 | 0 |
| rm_2 | supplier_1 | 0_item_genesis | 2024-05-12 | 2.0 | 0 |
| rm_1 | supplier_1 | 7_shipment_from | 2024-05-12 | 1.0 | 0 |
| rm_2 | supplier_1 | 7_shipment_from | 2024-05-12 | 2.0 | 0 |
| rm_3 | supplier_2 | 0_item_genesis | 2024-05-12 | 0.5 | 0 |
| rm_3 | supplier_2 | 7_shipment_from | 2024-05-12 | 0.5 | 0 |
| rm_1 | factory_1 | 2_shipment_to | 2024-05-20 | 1.0 | 0 |
| rm_2 | factory_1 | 2_shipment_to | 2024-05-20 | 2.0 | 0 |
| rm_3 | factory_1 | 2_shipment_to | 2024-05-20 | 0.5 | 0 |
| rm_1 | factory_1 | 6_BOM_input | 2024-05-20 | 1.0 | 0 |
| rm_2 | factory_1 | 6_BOM_input | 2024-05-20 | 2.0 | 0 |
| rm_3 | factory_1 | 6_BOM_input | 2024-05-20 | 0.5 | 0 |
| fg_1 | factory_1 | 3_BOM_output | 2024-05-25 | 1.0 | 0 |
| fg_1 | factory_1 | 7_shipment_from | 2024-05-25 | 1.0 | 0 |
| fg_1 | store_1 | 2_shipment_to | 2024-05-30 | 1.0 | 0 |
| level | from_location | to_location | item | ship_date | arrival_date | shipment_qty | demand_key |
|---|---|---|---|---|---|---|---|
| 1 | factory_1 | store_1 | fg_1 | 2024-05-25 | 2024-05-30 | 1.0 | 0 |
| 4 | supplier_2 | factory_1 | rm_3 | 2024-05-12 | 2024-05-20 | 0.5 | 0 |
| 7 | supplier_1 | factory_1 | rm_2 | 2024-05-12 | 2024-05-20 | 2.0 | 0 |
| 10 | supplier_1 | factory_1 | rm_1 | 2024-05-12 | 2024-05-20 | 1.0 | 0 |
Loading Supply Chain Network from Files Running obo Solver ***Starting to plan for demand key 0*** At store_1: Searching inventory for 1 of fg_1 At store_1: No inventory for fg_1 At store_1: Searching BodEdge fg_1-factory_1 to fg_1-store_1 --At factory_1: Searching inventory for 1 of fg_1 --At factory_1: No inventory for fg_1 --At factory_1: Searching BomOutputEdge BOM-1 to fg_1-factory_1 ----At BOM 1 input 1/3: Searching for 1.0 of rm_1 ------At factory_1: Searching inventory for 1.0 of rm_1 ------At factory_1: No inventory for rm_1 ------At factory_1: Searching BodEdge rm_1-supplier_1 to rm_1-factory_1 --------At supplier_1: Genesis Node for rm_1. All 1.0 need satisfied ------At factory_1: Found all supply. Done searching edges of rm_1-factory_1 ----At BOM 1 input 1/3: Found all supply for rm_1 ----At BOM 1 input 2/3: Searching for 2.0 of rm_2 ------At factory_1: Searching inventory for 2.0 of rm_2 ------At factory_1: No inventory for rm_2 ------At factory_1: Searching BodEdge rm_2-supplier_1 to rm_2-factory_1 --------At supplier_1: Genesis Node for rm_2. All 2.0 need satisfied ------At factory_1: Found all supply. Done searching edges of rm_2-factory_1 ----At BOM 1 input 2/3: Found all supply for rm_2 ----At BOM 1 input 3/3: Searching for 0.5 of rm_3 ------At factory_1: Searching inventory for 0.5 of rm_3 ------At factory_1: No inventory for rm_3 ------At factory_1: Searching BodEdge rm_3-supplier_2 to rm_3-factory_1 --------At supplier_2: Genesis Node for rm_3. All 0.5 need satisfied ------At factory_1: Found all supply. Done searching edges of rm_3-factory_1 ----At BOM 1 input 3/3: Found all supply for rm_3 --At factory_1: Found all supply. Done searching edges of fg_1-factory_1 At store_1: Found all supply. Done searching edges of fg_1-store_1 ***Found 100.00% supply for demand key 0*** Solver complete. Writing output
Created by Bill Ulrich
See the About page for more details