Download presentation
Presentation is loading. Please wait.
Published byTerence Mason Modified over 9 years ago
1
Weight and Cube, Frequency zExtend Network Flows to Multicommodity zMore than one product zDifferent products share conveyance capacity zDelivery Schedules or Frequency
2
Separate Network Flows zMove two products through the network zE.g., CPU’s and Monitors zHow does this affect our Transshipment Model?
3
With 2 Products z3 plants z2 distribution centers z2 customers zMinimize shipping costs yDirect from plant to customer yVia DC
4
A Transshipment Model zThe Sets yThe Plants set PLANTS; yThe Distribution Centers set DCS; yThe Customers set CUSTS; The Products set PRODS;
5
Transshipment Model zThe Set of Edges zWe assume all Plant-DC, Plant-Customer, DC-Customer edges are possible. zConvenient to define a set of Edges set EDGES := (PLANTS cross DCS) union (PLANTS cross CUSTS) union (DCS cross CUSTS); z
6
A Transshipment Model zThe Parameters yThe Supply at each plant of each product param Supply{PLANTS, PRODS}; yThe Demand at each Customer for each product param Demand{CUSTS, PRODS}; yThe Cost on each edge - cost of the truck param Cost{EDGES};
7
A Transshipment Model zThe Variables yThe volume shipped on each edge of each product var Ship{EDGES, PRODS} >= 0; zThe Constraints zCombine ideas of Shortest paths (flow conservation) with Transportation (meet supply and demand) for each Product
8
A Transshipment Model zFor each Plant s.t. RespectSupply {plant in PLANTS, prod in PRODS}: sum{(plant, t) in EDGES} Ship[plant,t, prod] <= Supply[plant, prod];
9
A Transshipment Model zFor each Customer s.t. MeetDemand {cust in CUSTS, prod in PRODS}: sum{(f, cust) in EDGES} Ship[f, cust, prod] >= Demand[cust, prod];
10
A Transshipment Model zFor each DC: Conserve flow s.t. ConserveFlow {dc in DCS, prod in PRODS}: sum{(f, dc) in EDGES} Ship[f,dc,prod] = sum{(dc, t) in EDGES} Ship[dc,t, prod]; zFlow into the DC = Flow out of the DC for each product
11
Modeling Trucks zThe cost per conveyance param Cost {EDGES}; zThe number of conveyances var Conveyances{EDGES} integer >= 0; zFreight Cost in the Objective minimize FreightCost: sum {(f,t) in EDGES} Cost[f,t]*Conveyances[f,t];
12
How many Conveyances? zDifferent commodities sharing a vehicle zEasy to figure vehicle capacity for single commodity zHow to figure vehicle capacity for mixed loads?
13
Typical Approach 10 items 20 items 40% 60% 4 items 12 items
14
Formulation zBlue Vol/10 + Red Vol/20 1 zTo calculate the number of vehicles required to carry the given volumes zConveyances = Blue Vol/10 + Red Vol/20
15
Several Capacities zWeight Limit zSpace or Cube zEnsure loads meet each limit zVehicles Blue Vol/10 + Red Vol/20 zVehicles Blue Vol/8 + Red Vol/25 Number that reaches the weight limit Number that fills the cube
16
Counting Conveyances zWeight of each product param Weight{PRODS}; zCube of each product param Cube{PRODS}; zWeight Limit param WeightLimit; zCubic capacity param CubicCap;
17
Counting Conveyances zConveyances required by weight s.t. ConveyByWeight{(f,t) in EDGES}: Conveyances[f,t] >= sum{prod in PRODS} Ship[f,t,prod]*Weight[prod]/WeightLim it ; zConveyances required by cube s.t. ConveyByCube{(f,t) in EDGES}: Conveyances[f,t] >= sum{prod in PRODS} Ship[f,t,prod]*Cube[prod]/CubicCap ;
18
Frequency zSometimes conveyances depart on a schedule even if they are not full yTime definite delivery xLTL carriers xParcel carriers yLean Manufacturing xAuto industry yScheduled Service xOcean carriers xAir carriers x“Pool operators”
19
Impacts zNumber of conveyances required yEquipment Utilization zTime product waits for carriage yService yInventory...
20
Number of Conveyances zOne way to handle zGiven number of departures in the period modeled param Frequency{EDGES}; var Conveyances{(f,t) in EDGES} integer >= Frequency[f,t]; zWriting these as bounds is better than adding separate constraints.
21
Inventory zSo far, just Freight zInventory Component zWe focus on moving and waiting inventory zCapture moving inventory as we did in Total Cost
22
Moving Inventory zHolding Cost * Product Value * Daily Volume * Days of Transit = Pipeline inventory cost on edge param HoldingCost; param Value{PRODS}; param TransitDays{EDGES}; zAssuming Ship[f,t,prod] is daily volume shipped from f to t of prod...
23
Pipeline Inventory Sum{(f,t) in EDGES, prod in PRODS} HoldingCost*Value[prod]*Ship[f,t,pr od]* TransitDays[f,t]; zThis is the annual cost to finance the value of products that are always on the road.
24
Waiting Inventory zJust looks at waiting for transport zIgnores waiting for production and consumption. zAssumes smooth or uniform operations zIf carrier departs once every 5 days, ysome parts arrive just after last departure ysome parts arrive just before next departure yon average parts wait about 2.5 days yadd this to the transit time
25
Adding Waiting Time zIf Frequency is given in departures per day (e.g., Frequency of 0.2 = 1 every 5 days) z1/Frequency = Days between departures z0.5/Frequency = Average days product waits for transport
26
Pipeline and Waiting Inventory Sum{(f,t) in EDGES, prod in PRODS} HoldingCost*Value[prod]*Ship[f,t,pr od]* (TransitDays[f,t]+0.5/Frequency[f,t ]); zThis assumes the system operates like a subway and pays inventory on riders from the time they put their token in at the first station till they exit the last station. zAdd this to the objective to minimize freight and inventory costs
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.