Example: One Bom

Simple Bill of Materials example showing how a finished good is made from 3 raw materials

...


bom_ids

bom_id location lead_time_days
1 factory_1 5
2 factory_1 10

bom_inputs

bom_id input_item input_qty
1 rm_1 1.0
1 rm_2 2.0
1 rm_3 0.5

bom_outputs

bom_id output_item output_qty
1 fg_1 1

demand

location item need_date demand_qty
store_1 fg_1 5/30/2024 1

item_location

item location genesis
rm_1 supplier_1 True
rm_2 supplier_1 True
rm_3 supplier_2 True

lanes

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

Output Data

item_location_peggings

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

shipments

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