Upload
journey-england
View
228
Download
2
Tags:
Embed Size (px)
Citation preview
15.057 Spring 02 Vande Vate 11
Modeling Service
When Transport is restricted to Load-Driven
Pool Points in Retail Distribution
John Vande Vate
Spring 2007
15.057 Spring 02 Vande Vate 22
Retail Inventory
• Single “Product”, many SKUs• Style
• Color
• Size
• Broad Offering attracts customers
• Depth in SKU avoids missed sales
• Stock enough in each SKU to cover replenishment time (OTD)
15.057 Spring 02 Vande Vate 33
Service Requirement
• Keep OTD short
• Reduce depth without losing sales
• Increase breadth to attract more customers and expand market
• OTD requirements differ by store– Manhattan, NY– Manhattan, KS
15.057 Spring 02 Vande Vate 44
What’s in OTD
• POS system records sale
• Transmitted to DC
• Orders batched for efficient picking
• Order picked
• Trailer filled (Load driven)
• Line Haul to Pool Point
• Delivery
15.057 Spring 02 Vande Vate 55
Pool Points
Asian Port
US Port
Pool
Store
Asian Factory
US DC
15.057 Spring 02 Vande Vate 66
Pools Influence
• Trailer Fill– The greater the volume to the pool the faster the
trailer fills
• Line Haul– Is determined by the distance from the DC to the
Pool
• Delivery– Messier
15.057 Spring 02 Vande Vate 77
The Trade-offs
• Too Few Pools– High Delivery Costs– More moving inventory– Less waiting inventory
• Too Many Pools– Low Delivery Costs– Less moving inventory– More waiting inventory
OTD Dissected
• POS system records sale
• Transmitted to DC
• Orders batched for efficient picking
• Order picked
• Trailer filled (Load driven)
• Line Haul
• Delivery
Constantcost & time
Cost & Time depend on Pool Assignment
15.057 Spring 02 Vande Vate 99
Line Haul
• Time & Cost Depend on – The Pool Assignment– Which DC’s serve the Pool
• NY DC to Chicago Pool
• LA DC to Chicago Pool
15.057 Spring 02 Vande Vate 1010
Trailer Fill
• Time Depends on– The Pool Assignments
• Which pool this store is assigned to
• What other stores are assigned to this pool
• Rate at which the Pool draws goods
– How the Pool is served• The Rate at which the Pool draws goods from
each DC
15.057 Spring 02 Vande Vate 1111
Drilling Down on Service
• Simple Model– Cube only (trailers never reach weight limit)– One DC only (don’t split volumes to Pool)
• Many DC’s– Cube only
• Weight & Cube and Many DC’s• Soft Constraints:
– Infeasible is not an acceptable answer
15.057 Spring 02 Vande Vate 1212
Toward a Simple Model
Trailer Fill Time (for pool) * Rate Trailer Fills = Cubic Capacity of the Trailer
• Rate Trailer Fills– Translate annual demand at stores assigned to
the pool into cubic feet per day– Rate to pool is:
sum{prd in PRODUCTS, s in STORES}
CubicFt[prd]*(Demand[prd,s]/DaysPerYear)*Assign[s, pool]
15.057 Spring 02 Vande Vate 1313
Make It Linear
Trailer Fill Time * sum{prd in PRODUCTS, s in STORES}
CubicFt[prd]*(Demand[prd,s]/DaysPerYear)*Assign[s, pool] = Cubic Capacity of the Trailer
• Trailer Fill Time * Assign
• What to do?
15.057 Spring 02 Vande Vate 1414
Can’t Know Trailer Fill Time
Trailer Fill Time * Rate Trailer Fills = Cubic Capacity of the Trailer
Max Time to Fill Trailer * Rate Trailer Fills ? Cubic Capacity of the Trailer
Why Cubic Capacity of the Trailer?
What does this accomplish?
What’s Wrong?
Max Time to Fill Trailer * Rate Trailer Fills Cubic Capacity of the Trailer
Max Time to Fill Trailer*(sum{prd in PRODUCTS, s in STORES}
CubicFt[prd]*(Demand[prd,s]/DaysPerYear)*Assign[s, pool]) Cubic Capacity of the Trailer
15.057 Spring 02 Vande Vate 1616
Our Simple Model
var Assign{STORES, POOLS} binary;
Service Constraint for each pool:
Max Time to Fill Trailer * sum{prd in PRODUCTS, s in STORES}
CubicFt[prd]*(Demand[prd,s]/DaysPerYear)*Assign[s, pool] >= Cubic Capacity of the Trailer
Max Time to Fill Trailer depends on the Pool:
Service Requirement, e.g., 3 days
Constant Order time, e.g., order processing, picking, etc.
Line haul time from DC to Pool – varies by Pool
Delivery time from Pool to Store
15.057 Spring 02 Vande Vate 1717
Which Pools?
• If the Pool is open…– Ensure we get there in reasonable time
• If the Pool is NOT open…– No Time constraint, but – You can’t assign stores to it
15.057 Spring 02 Vande Vate 1818
A Simple Modelvar Assign{STORES, POOLS} binary;
Service Constraint for each pool:Max Time to Fill Trailer * sum{prd in PRODUCTS, s in STORES}
CubicFt[prd]*(Demand[prd,s]/DayPerYear)*Assign[s, pool] >= Cubic Capacity of the Trailer*Open[pool]
Assignment Constraint for each store: sum {pool in POOLS} Assign[store, pool] = 1
Logical Constraint for each pool and store: Assign[store, pool] <= Open[pool]
var Open{POOLS} binary;
15.057 Spring 02 Vande Vate 1919
Realities
• Silly to include every store-pool pair. Some pools are just too far away.
• Modeling the impacts on delivery costs is more complicated
• Operating fewer, larger pools offers economies of scale, e.g., automation