Example: One Bom

Simple Bill of Materials example showing how a bagel is made from 3 materials

About Example

The one bom example shows how the solver is able to simulate a manufacturing activity, like making a bagel. A BOM, or a bill of material, is basically just a recipe that shows the inputs and outputs of a manufacturing activity.

In this example the bagel has 3 inputs:

Is this a good bagel recipe? Probably not, but it is a good simple example of BOM planning.

Video Nodes

Data Notes


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 water 1.0
1 flour 2.0
1 yeast 0.5

bom_outputs

bom_id output_item output_qty
1 bagel 1

demand

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

item_location

item location genesis image
water supplier_1 True water.png
water factory_1 False water.png
flour supplier_1 True flour.png
flour factory_1 False flour.png
yeast supplier_2 True yeast.png
yeast factory_1 False yeast.png
bagel factory_1 False bagel.png
bagel store_1 False bagel.png

lanes

item from_location to_location lead_time_days
bagel factory_1 store_1 5
water supplier_1 factory_1 8
flour supplier_1 factory_1 8
yeast supplier_2 factory_1 8

item_location_peggings

item location activity activity_date pegged_qty demand_key
water supplier_1 0_item_genesis 2024-05-12 1.0 0
flour supplier_1 0_item_genesis 2024-05-12 2.0 0
water supplier_1 7_shipment_from 2024-05-12 1.0 0
flour supplier_1 7_shipment_from 2024-05-12 2.0 0
yeast supplier_2 0_item_genesis 2024-05-12 0.5 0
yeast supplier_2 7_shipment_from 2024-05-12 0.5 0
water factory_1 2_shipment_to 2024-05-20 1.0 0
flour factory_1 2_shipment_to 2024-05-20 2.0 0
yeast factory_1 2_shipment_to 2024-05-20 0.5 0
water factory_1 6_BOM_input 2024-05-20 1.0 0
flour factory_1 6_BOM_input 2024-05-20 2.0 0
yeast factory_1 6_BOM_input 2024-05-20 0.5 0
bagel factory_1 3_BOM_output 2024-05-25 1.0 0
bagel factory_1 7_shipment_from 2024-05-25 1.0 0
bagel 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 bagel 2024-05-25 2024-05-30 1.0 0
4 supplier_2 factory_1 yeast 2024-05-12 2024-05-20 0.5 0
7 supplier_1 factory_1 flour 2024-05-12 2024-05-20 2.0 0
10 supplier_1 factory_1 water 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 bagel
At store_1: No inventory for bagel
At store_1: Searching BodEdge bagel-factory_1 to bagel-store_1
--At factory_1: Searching inventory for 1 of bagel
--At factory_1: No inventory for bagel
--At factory_1: Searching BomOutputEdge BOM-1 to bagel-factory_1
----At BOM 1 input 1/3: Searching for 1.0 of water
------At factory_1: Searching inventory for 1.0 of water
------At factory_1: No inventory for water
------At factory_1: Searching BodEdge water-supplier_1 to water-factory_1
--------At supplier_1: Genesis Node for water. All 1.0 need satisfied
------At factory_1: Found all supply. Done searching edges of water-factory_1
----At BOM 1 input 1/3: Found all supply for water
----At BOM 1 input 2/3: Searching for 2.0 of flour
------At factory_1: Searching inventory for 2.0 of flour
------At factory_1: No inventory for flour
------At factory_1: Searching BodEdge flour-supplier_1 to flour-factory_1
--------At supplier_1: Genesis Node for flour. All 2.0 need satisfied
------At factory_1: Found all supply. Done searching edges of flour-factory_1
----At BOM 1 input 2/3: Found all supply for flour
----At BOM 1 input 3/3: Searching for 0.5 of yeast
------At factory_1: Searching inventory for 0.5 of yeast
------At factory_1: No inventory for yeast
------At factory_1: Searching BodEdge yeast-supplier_2 to yeast-factory_1
--------At supplier_2: Genesis Node for yeast. All 0.5 need satisfied
------At factory_1: Found all supply. Done searching edges of yeast-factory_1
----At BOM 1 input 3/3: Found all supply for yeast
--At factory_1: Found all supply. Done searching edges of bagel-factory_1
At store_1: Found all supply. Done searching edges of bagel-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