Download presentation
Presentation is loading. Please wait.
Published bySilvester Rich Modified over 9 years ago
1
1 1 ISyE 6203 Location John H. Vande Vate Spring 2012
2
2 2 Agenda Context Academic Development with Euclidean Distance –Single location –Several locations Discussion of Distances –Euclidean –Surface of the Earth –Over-the-road Making it Practical –Discussion of Frequency & Pool Points –Line Haul & Delivery Long Digression on Traveling Salesman Problem Apply to Our Company More complex model
3
3 3 Context We will not discuss Site Selection –Zoning –Road access –Utilities –Tax incentives –Labor –…. We will focus on –Guidelines for the site selection process –Number and general location of facilities –Which county or region –Part of Supply Chain design exercise
4
4 4 1-D Academic Model Problem: Locate a point x on the line to minimize the total (weighted) distance to a fixed set of customer locations x i d i (x) = Min or Min
5
5 5 1-D Solution Where to put x? What kind of function is |x – x i |? What kind of function is |x – x i |? So? What is a local minimum? What if we have 2 points x 1 and x 2 ?
6
6 6 Academic Model Problem: Locate a point (x,y) on the plane to minimize the total (weighted) distance to a fixed set of customer locations (x i,y i ) d i (x,y) = Min or Min
7
7 7 Convexity The Hessian of d(x,y), describing the local curvature of the function, is Its first principal minors are Its second principal minor is 0 As these are all non-negative, d is Convex
8
8 8 Solution The partials of
9
9 9 Solution So a local minimum is a global minimum and we just need to find (x, y) that satisfies Solving for x and y yields
10
10 Solution Note that if all the distances d i (x,y) are equal reduces to But this is rarely the answer
11
11 Simple Example x (X 1, Y 1 ) = (1, 0) x (X 2, Y 2 ) = (0, 1) Solution: y = 1 – x so long as 0 ≤ x ≤ 1 So (½, ½) is a solution in this case
12
12 General Case: Finding x and y Start at Compute the distances d i = d i (x,y) Compute the new values of x and y repeat
13
13 Example Using Euclidean Distance from Our Company stores
14
14 To Think About Repeat this analysis with each store weighted by its store number What are the expressions for x and y? How should the iterations change?
15
15 Academic Model: Several Facilities Problem: Locate m points (x j,y j ) on the plane to minimize the total (weighted) distance to the set of customer locations (a c,b c ) that each point serves. Each customer must be served by some point d c (x j,y j ) = z cj = 1 if customer c is assigned to point j, 0 otherwise Min s.t. Each customer assigned to one of the points
16
16 Single Sourcing Only 1 Point can serve a Customer Each Customer assigned to 1 point for each Customer c Z cj {0, 1} Binary
17
17 Split Sourcing Model D c = Demand at Customer c d c (x j,y j ) = w c typically D c z cj = Fraction of demand at Customer c supplied by point j for each Customer c z cj non-negative, but not necessarily binary z cj D c is the volume supplied to customer c from point j Only makes sense if there is some other constraint, e.g., capacity of the facilities that forces this
18
18 Split Sourcing Model D c = Demand at Customer c d c (x j,y j ) = w c typically D c z cj = Fraction of demand at Customer c supplied by point j for each Customer c Facility capacity constraints
19
19 Simple Versions If we know where the points should be located, how can we solve the problem? If we know which customers should be assigned to which points, how can we solve the problem?
20
20 Agenda Team Presentations –Challenge 3 –Challenge 4 Location –Making the ALT Heuristic Practical
21
21 Challenge 3 Determine the appropriate mode and shipping quantity from Green Bay to Store #2 in Los Angeles. Briefly describe the thinking behind your calculations Due Jan 31 st
22
22 Challenge 3
23
23 Challenge 4 Roll this strategy out to all Stores. Determine the appropriate mode and shipping quantity to every store Remember to keep it practical. Briefly describe the thinking behind your calculations What are the impacts on SPEED, ROIC and Margin? What would you do next as VP of SC? Due Jan 31 st
24
24 Challenge 4 Start with a few “representative” stores distributed across the country Develop some insight from that
25
25 Observations Best to send the minimum to EVERY store from Green Bay –High Value Density Best to send 1,000 lb shipment to every store (except 9 stores) –Just shipping 1,000 lbs shipments leaves under $3,000 on the table –Medium Value Density
26
26 Denver Best to send either 10,000 lbs or TL EOQ to every store except 2 in Colorado –Just using the TL EOQ leaves about $65K on the table –Low value density
27
27 Logic?
28
28 The ALT Heuristic If we know where the points should be located, how can we solve the problem? Fix the locations of the points and determine the best customer assignments If we know which customers should be assigned to which points, how can we solve the problem? Fix the customer assignments, find the best locations for the points Repeat
29
29 The ALT Heuristic Fix the locations of the points and determine the best customer assignments Fix the customer assignments, find the best locations for the points Repeat
30
30 The ALT Heuristic It is a Heuristic – no guarantee it finds a best answer It is simple and effective The idea has broader applicability than this academic problem We will come back to this broader idea First, let’s make it more practical
31
31 Making It Practical Distances –Euclidean –Surface of the Earth –Over-the-Road A small Challenge Frequency & Pool Points Line Haul & Delivery –Digression on TSP Challenge
32
32 Euclidean Distance In the US actual distance is something like 60*Euclidean Distance Not appropriate for distances more than about 20 miles Better estimate for larger distances 69 * ArcCos(Sin(latA * pi / 180) * Sin(latB * pi / 180) + Cos(latA * pi / 180) * Cos(latB * pi / 180) * Cos((lonA - lonB) * pi / 180)) I’ve built this into OurCompany.xls as Distance(LonA, LatA, LonB, LatB) Included in RadicalTools as rlDirectDistance
33
33 Working with Distance Complicated to find/simplify the roots of the partials. Just use Solver or any Convex Optimization tool like Minos or various Matlab packages So, the ALT heuristic becomes –Fix the locations of the facilities and find the best assignments of the customers to them –Fix the assignments and use Solver or Minos to find the best locations for the facilities Note once the assignments are made, you can locate each facility separately to best serve the customers assigned to it
34
34 As the Crow Flies
35
35 Over-The-Road Distances Available from many sources –CzarLite –MapPoint –Radical Tools –PC Miler (rlPCMiler(OZip, DZip) in Radical Tools if you have PCMiler) –…. Can be slow, tedious to work with –Distance computations are more demanding Makes sense to use approximations –At least until the last few iterations –Generally the differences don’t matter, but we do want to avoid inaccessible locations and account for geographic barriers (Great Lakes, Grand Canyon, Mississippi River, …or Alps, Baltic, North, Aegean, Adriatic, …) May want to use actual transport cost and time for toll roads or ferries, etc.
36
36 With OTR distances Why didn’t that work? If you are going to use OTR distances, they need to be calculated based on lat-long not zip code or other aggregate
37
37 With OTR distances A crude fix that smoothes things out? But … In MapPoint…
38
38 Implementing ALT Separate –Allocation: Which dc is each store assigned to? –Location: Where should each dc be? Guess initial DC locations Compute distances to each pool
39
39 Assignments Location problem uses static current assignments Allocation problem simply copies “best” assignments over to the current assignments Select arbitrary initial assignments Compute best assignments based on distances These are static values These change as the locations of the dcs change
40
40 Let’s Try It Choose initial DC locations Update Assignments Adjust Locations … How Many DCs? Fixed DC locations? Eg., existing facilities
41
41 Questions?
42
42 Projects Halstead/Vertex – flooring supplier to HD. –How best to use our 3 domestic DCs one of which is owned –Technically simple, but business value? Acumen Fund ZHL Ziqitza –Where to station and how to dispatch ambulances in Mumbai –Balance technical sophistication with practicality and impact Tiffany’s –UPS vs Brinks. –Financial analysis Staples –How to dynamically allocate labor among functions in a DC –Prototype to evaluate impact Noranda – Integrated bauxite mining, aluminum smelting –Planning transport from mines in Jamaica to plants in the mid West –More details tomorrow
43
43 Preferences If your project teams are different, send me new team info Each team contact send me –Resumes of the team (file name should reflect the person’s name, not “resume.pdf”) –Preferences (1 is most preferred, 5 is least preferred) Due by end of business Friday (5pm) Set up calls next week or soon after
44
44 Frequency Revisited Most companies have 100’s or 1000’s or even 10’s of thousands of SKUs Especially in retail, there is often a battle between –Breadth – Having many SKUs available for customers –Depth – Having more of each SKU available The two compete for –Limited shelf space –Limited working capital Frequency of replenishment is often fixed by limits on Depth
45
45 Cross Docks Cross docks or “Pool Points” help –DC ships to a pool point (line haul) –Pool point distributes to stores (delivery) –No inventory at the pool point Frequency ensures low cycle stock Consolidation reduces transportation impacts –Aggregating stores for line haul –Multi-stop or mode shift for delivery
46
46 Location How many pools should we have and which stores should each one serve? Frequency is fixed, say once per week Sets cycle stocks, e.g., half a week at the stores Our goal is to manage transportation and operating expenses at the pools
47
47 Transportation Line Haul –Weekly volume to a pool dictated by weekly demand at the stores it serves –Distance dictated by location of the pool Delivery –Delivery distance TSP Tour LTL/parcel rates –Distance & assignments dictated by pool locations
48
48 Delivery Let’s first look at the TSP: Weekly Delivery Route Traveling Salesman Problem –Visit a set of cities once and return to your starting point –Minimize total travel distance
49
49 The Spanning Tree Heuristic A Spanning Tree is a –Tree: connected, no cycles ignoring direction –Spanning: Reaches every city Easy to find a Minimum Spanning Tree –Greedy Heuristic –Add edges in increasing order of length, discarding any that creates a cycle –Stop when you have a spanning tree
50
50 The Spanning Tree Heuristic Theorem: Assuming the Triangle Inequality holds, the shortest TSP tour is never more than twice the length of a Minimum Spanning Tree. Proof: Double the edges of a Minimum Spanning Tree. That creates a connected network with an even number of edges at each city. The total length of the edges in this graph is twice the length of the Minimum Spanning Tree. We will find a shorter TSP tour.
51
51 Euler’s Problem Theorem: In a connected graph with an even number of edges at each node, you can walk on each edge exactly once in such a way that you end up back where you started – an Eulerian Circuit. See Chapter 6 of Problem Solving Through Recreational Mathematics by Bonnie Averback and Orin Chein for a discussion of this Theorem and its proof.Chapter 6 of Problem Solving Through Recreational Mathematics by Bonnie Averback and Orin Chein
52
52 The Spanning Tree Heuristic Follow the Eulerian Circuit, taking a short cut to the next new node in the Circuit whenever it re-visits before completing the tour The result is a TSP tour that is no longer than twice the length of our Minimum Spanning Tree.
53
53 Example
54
54 Euler Circuit 1 2 3 4 5 6 7 8 9 10 11 12 13 14
55
55 TSP 1 2 3 4 5 6 7 8 9 10 11 12 13 14
56
56 Questions?
57
57 Agenda Deciding the number and locations of cross docks/pool points –A simple approximation for delivery costs –A simple ALT type heuristic –A more complex model that considers both line haul and delivery in making assignments (MIP for assigning stores) –Industrial MIP modeling tools (AMPL)
58
58 Approximating Delivery Something simple –Sum of distances from Pool to Stores –Greater than the Minimum Spanning Tree –Probably larger than the TSP –Easy to work with Different cost per mile for Delivery than for Line Haul –Usually several smaller vans –Usually more surface streets –More time spent stopping
59
59 Minimize Weekly Transport Costs Delivery –Delivery $/mile * Distance from Store to Pool (a very crude approximation) Line Haul –Line Haul $/mile * Distance from Pool to Cross Dock*# of Truckloads Shipments to the Cross Dock –Line Haul $/mile * Distance from each Plant to Cross Dock*# of Truckloads
60
60 Strategy Separate Costs & Assignments to facilitate ATL heuristic Calculate Costs from each Pool to each Store “Best” Assignments use cheapest Pool Keep 2 Assignments –“Current” Assignments – what was best before we started moving the pools around –“Best” Assignments – using cheapest pool Use Costs to improve Pool and Cross Dock locations given “Current” Assignments Use “Best” Assignments to update Assignments
61
61 Challenge 8 Use the ALT Heuristic Idea to find good locations for the Pools Repeat the exercise for different #’s of Pools and show how Transportation Costs change with the # of Pools. Identify shortcomings of this approach Due 2/14
62
62 Questions?
63
63 Challenge 6: Simple TL Consolidation Assume we operate with full truck load shipments using Indianapolis in this way Adjust the financial statements to reflect changes in transportation and inventory Discuss the impacts, relate them to our initial assessment. Explain the differences. What would you do next? Due Tues, Feb 7 th
64
64 Summary Direct Full Truckloads –$158 million in inventory –$435 thousand in transportation Single EOQ to All Stores –$15.8 million in inventory –$2.48 million in transportation Different EOQ shipments –$15.2 million in inventory –$2.47 million in transportation Simple TL Consolidation –$36.9 million in inventory –$654 thousand in transportation
65
65 Summary Direct Full Truckloads –Gross Margin %: 32.9% –ROIC 22.9% –SPEED 1.08 –Days in Inventory: 191 Single EOQ to All Stores –Gross Margin %: 32.5% –ROIC 33.5% –SPEED 1.65 –Days in Inventory: 19 Different EOQ shipments –Gross Margin %: 32.5% –ROIC 33.6% –SPEED 1.65 –Days in Inventory: 18 Simple TL Consolidation –Gross Margin %: 32.9% –ROIC: 31.7% –SPEED: 1.53 –Days in Inventory: 45 For a small increase in operating expense, a huge reduction in Inventory. How?!
66
66 Review Consolidation for balance Consolidation for transport: Pool points Simple model – ALT Heuristic –Problem: Doesn’t consider inbound shipments from Indianapolis to pools in making assignments of stores to pools
67
67 A More Complex Model The current model assigns each store to the Pool closest to it It ignores the costs of getting product to the Pool Example: Pool 8 only serves 2 Stores so the Line Haul is very expensive. Why? Objective: Develop an Assignment model that considers this cost as well.
68
68 A More Complex Model Three tasks in building an LP or IP or MIP model: –The Decision Variables: What we can change –The Objective Function: What we are trying to accomplish –The Constraints: The limits to our choices The Objective Function and Constraints must by Linear –Sum of Constant*Decision Variable
69
69 A More Complex Model The Objective –Minimize Transportation Costs from the Cross Dock to the Stores Cross Dock to the Pool –Line Haul Cost * Distance * # of Trucks/week Pool to the Store –Delivery Cost*Distance The Decision Variables –Assignments of Stores to Pools z ij = 1 if Store i assigned to Pool j, 0 otherwise
70
70 A More Complex Model The Constraints –Each Store is assigned to 1 Pool –For each Store i –z ij is Binary (0 or 1)
71
71 The Objective Minimize Transportation Costs from the Cross Dock to the Stores –Cross Dock to the Pool Line Haul Cost * Distance * # of Trucks/week –Line Haul Cost is a constant, e.g., $1/mile –Once we fix locations of the Pool and the Cross Dock, Distance from the Cross Dock to each Pool is a constant (This is the advantage of the ALT heuristic) –# of Trucks/week Must be enough to carry one week sales at the stores served by the pool. Must be at least one Restrict to integers?
72
72 New Variables & Constraints Add new variables to capture this –T j = the number of trucks we run from the Cross Dock to Pool j each week. This should be restricted to integer values. Need new Constraints to enforce these definitions –There are enough trucks to carry the load to each Pool each week
73
73 New Variables & Constraints Add new variables to capture this –T j = the average number of trucks we run from the Cross Dock to Pool j each week Need new Constraints to enforce these definitions –There are enough trucks to carry the load to each Pool each week T j *5*10*55/30,000 Weight of 1 weeks sales
74
74 New Variables & Constraints What if we choose not to open a pool? –Open[pool] = 1 if we open it, 0 otherwise Don’t assign stores to a pool that’s not open –Open[j] z ij for each pool j and store i
75
75 Questions?
76
76 With AMPL
77
77 Model Pools –set POOLS; –param LineHaulDist{POOLS}; Stores –set STORES; Delivery (Pool to Store) –set DELIVERYLEGS dimen 2; –param DeliveryDist{DELIVERYLEGS}; Model requires a set of Pools Each pool has data called LineHaulDist Model requires a set of Stores Model requires a set of pairs (Pool, Store) Each pair has data called DeliveryDist
78
78 Model Other Data –param LineHaulCost := 1.00; –param DeliveryCost := 1.75; –param LbsPerTruck := 30000; –param WeightPerWeekPerStore := 5*10*55; Better if this is read from a table, but… Model Variables –var Open{POOLS} binary; –var Trucks{POOLS} integer; –var Assign{DELIVERYLEGS} binary; A binary variable for each pool An integer variable for each pool A binary variable for each (Pool, Store) pair
79
79 Model minimize TotalTransportCost: sum{pool in POOLS} LineHaulCost*LineHaulDist[pool]*Trucks[pool] + sum{(pool,store) in DELIVERYLEGS} DeliveryCost*DeliveryDist[pool,store]* Assign[pool,store]; s.t. AssignEachStore{store in STORES}: sum{(pool,store) in DELIVERYLEGS} Assign[pool,store] = 1; The objective is to minimize total transportation cost Total Line Haul cost Total delivery cost A constraint for each store Assign the store to exactly 1 pool
80
80 Model s.t. EnoughTrucksToCarryLoad{pool in POOLS}: Trucks[pool] >= WeightPerWeekPerStore*sum{(pool, store) in DELIVERYLEGS}Assign[pool,store]/LbsPerTruck; s.t. AtLeastOneTruckToOpenPool{pool in POOLS}: Trucks[pool] >= Open[pool]; s.t. DontAssignStoresToClosedPools{(pool,store) in DELIVERYLEGS}: Open[pool] >= Assign[pool, store]; A constraint for each pool Enough trucks to carry all the demand it serves And at least one truck if the pool is open If the pool is closed, it can’t serve any stores
81
81 ODBC Open Data Base Connectivity: –Read model data from Access, Excel, SQL Server, … table PoolTable IN "ODBC" "DSN=OptimizationData" "SQL=SELECT Pool, Distance AS LineHaulDist from PoolData": POOLS <-[Pool], LineHaulDist; read table PoolTable; Ample name for the table For reading Access via ODBC ODBC Data Source Name Reading instructions Mapping to AMPL model Parameters Command to read the table
82
82 Solve & Report option solver cplex solve; table DeliveryOut OUT "ODBC" "DSN=OptimizationData" "DeliveryOut": {pool in POOLS, store in STORES: Assign[pool, store] > 0.01}->[pool, store]; write table DeliveryOut; Select a solver Solve the problem Write out the solution If the pool is closed, it can’t serve any stores Just write out the “active” assignments
83
83 Challenge For you to think about (no presentation): –What if we had more than one Cross Dock? –How would the model change? We will discuss in class, best to have thought it through first
84
84 Observations This approach works in the context of the ALT heuristic – move the Pools around This approach works in the context of a fixed set of candidate pool locations
85
85 Summary Direct Full Truckloads –$158 million in inventory –$435 thousand in transportation Single EOQ to All Stores –$15.8 million in inventory –$2.48 million in transportation Different EOQ shipments –$15.2 million in inventory –$2.47 million in transportation Simple TL Consolidation –$36.9 million in inventory –$654 thousand in transportation Consolidation with EOQ –$10.5 million in inventory –$1.86 million in transportation
86
86 Summary Direct Full Truckloads –Gross Margin %: 32.9% –ROIC 22.9% –SPEED 1.08 –Days in Inventory: 191 Single EOQ to All Stores –Gross Margin %: 32.5% –ROIC 33.5% –SPEED 1.65 –Days in Inventory: 19 Different EOQ shipments –Gross Margin %: 32.5% –ROIC 33.6% –SPEED 1.65 –Days in Inventory: 18 Simple TL Consolidation –Gross Margin %: 32.9% –ROIC: 31.7% –SPEED: 1.53 –Days in Inventory: 45 Consolidation with EOQ –Gross Margin %: 32.6% –ROIC: 34.3% –Speed: 1.68 –Days in Inventory: 13
87
87 Zone Skipping Original applications from bulk mail Where do we give the mail to the USPS? –Close to origin? Our cost to get mail to the USPS is low Mail crosses several zones so rates are high –Close to destination? Our cost to get mail to the USPS is high Mail delivered “locally” so rates are low
88
88 Zone Skipping LTL application We send (or manage) large volume of small LTL shipments from a limited number of origins Where should we give the freight to the LTL carrier? –Close to the origin? –Close to the destination? We pay TL rates to get it to the LTL terminal
89
89 A Model Fixed set of candidate LTL terminals to deliver mail to Includes our origin (LTL door-to-door) Appropriately aggregated shipments –Origin –Destination –Class –Weight –Ship date –Special handling requirements Aggregate as much as is appropriate e.g., destination region (3-digit zip) and weight range (e.g., LTL ranges) Rarely a dynamic model so we want averages (per day or perhaps longer depending on service commitment) Some concern about variability/
90
90 Concave Cost Shipment Size Cost Cost per unit decreasing So?!
91
91 Estimating Rates Small shipments Shipment Size Cost Large shipments Cost of Average shipment Average Cost of shipment
92
92 A Model How do we get shipments (of this category) from this terminal to this destination (e.g. 3-digit zip)? –LTL door-to-door? –TL to LTL terminal A and LTL from there –TL to LTL terminal B and LTL from there –… Very similar to our pool point model –LTL from terminal to destination is analogous to delivery –TL to LTL terminal is analogous to Line Haul –New option is just go LTL all the way Z ij = 1 if we assign destination j to LTL terminal i Z i = 1 if we deliver LTL direct to destination I
93
93 A Model LTL Cost from LTL terminal to customer is analogous to “Delivery cost”. Now we can use rating engine to estimate it TL Cost from our origin to the LTL terminal is analogous to Line Haul Cost, based on distance and # of trucks per period LTL Direct cost from our origin to the destination is new. Use the rating engin to produce it. Model decides which ones to pay
94
94 HDT Case Read Case Answer three questions: –Compare the direct costs of the alternatives –Considering cash flow impacts, make a recommendation about which alternative to pursue –Since the buyer pays for the trucks as they are delivered, analyze whether or not it would be advantageous for HDT to pay overtime to speed up production assuming they ship the trucks via Baltimore as soon as they are ready. Assume that HDT’s cost of borrowing is 12% per year. Make reasonable assumptions about the cost of overtime and the impacts of overtime on production. Due Thursday February 23 rd
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.