890 likes | 1.05k Views
ISyE 6203 Location. John H. Vande Vate Spring 2012. 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
E N D
ISyE 6203Location John H. Vande Vate Spring 2012 1
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 Agenda 2
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 Context 3
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 xi • di(x) = • Min or Min 4
1-D Solution • Where to put x? • What kind of function is |x – xi|? • What kind of function is |x – xi|? • So? • What is a local minimum? • What if we have 2 points x1 and x2? 5
Academic Model • Problem: Locate a point (x,y) on the plane to minimize the total (weighted) distance to a fixed set of customer locations (xi,yi) • di(x,y) = • Min or Min 6
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 7
Solution • The partials of 8
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 9
Solution • Note that if all the distances di(x,y) are equal reduces to But this is rarely the answer 10
x (X2, Y2) = (0, 1) x (X1, Y1) = (1, 0) Simple Example • Solution: y = 1 – x so long as 0 ≤ x ≤ 1 • So (½, ½) is a solution in this case 11
General Case: Finding x and y • Start at • Compute the distances di = di(x,y) • Compute the new values of x and y • repeat 12
Example • Using Euclidean Distance from Our Company stores 13
Academic Model: Several Facilities • Problem: Locate m points (xj,yj) on the plane to minimize the total (weighted) distance to the set of customer locations (ac,bc) that each point serves. Each customer must be served by some point • dc(xj,yj) = • zcj = 1 if customer c is assigned to point j, 0 otherwise • Min • s.t. Each customer assigned to one of the points 15
Single Sourcing • Only 1 Point can serve a Customer • Each Customer assigned to 1 point for each Customer c • Zcj {0, 1} Binary 16
Split Sourcing Model • Dc = Demand at Customer c • dc(xj,yj) = • wc typically Dc • zcj = Fraction of demand at Customer c supplied by point j for each Customer c • zcj non-negative, but not necessarily binary • zcj Dc 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 17
Split Sourcing Model • Dc = Demand at Customer c • dc(xj,yj) = • wc typically Dc • zcj = Fraction of demand at Customer c supplied by point j for each Customer c • Facility capacity constraints 18
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? Simple Versions 19
Team Presentations Challenge 3 Challenge 4 Location Making the ALT Heuristic Practical Agenda 20
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 31st 21 21 21
Challenge 3 22
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 31st 23 23 23
Start with a few “representative” stores distributed across the country Develop some insight from that Challenge 4 24
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 Observations 25
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 Denver 26
Logic? 27
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 The ALT Heuristic 28
Fix the locations of the points and determine the best customer assignments Fix the customer assignments, find the best locations for the points Repeat The ALT Heuristic 29
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 The ALT Heuristic 30
Distances Euclidean Surface of the Earth Over-the-Road A small Challenge Frequency & Pool Points Line Haul & Delivery Digression on TSP Challenge Making It Practical 31
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 32
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 33
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. Over-The-Road Distances 35
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 With OTR distances 36
A crude fix that smoothes things out? But … In MapPoint… With OTR distances 37
Separate Allocation: Which dc is each store assigned to? Location: Where should each dc be? Implementing ALT Guess initial DC locations Compute distances to each pool 38
Location problem uses static current assignments Allocation problem simply copies “best” assignments over to the current assignments These change as the locations of the dcs change Select arbitrary initial assignments Assignments Compute best assignments based on distances These are static values 39
Choose initial DC locations Update Assignments Adjust Locations … How Many DCs? Fixed DC locations? Eg., existing facilities Let’s Try It 40
Questions? 41
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 Projects 42
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 Preferences 43
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 44
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 Cross Docks 45
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 Location 46
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 Transportation 47
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 Delivery 48
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 The Spanning Tree Heuristic 49
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. The Spanning Tree Heuristic 50
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. Euler’s Problem 51