1 / 85

Consolidation

Consolidation. John H. Vande Vate Spring, 2007. Combining LTL into TL shipments Motivation Models Issues Multi-Stop TL shipments Column Generation Approach. Agenda. Speed LTL shipments are consolidated, routed to intermediate terminals, sorted, … TL shipments can be faster Cost

dyan
Download Presentation

Consolidation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Consolidation John H. Vande Vate Spring, 2007 1

  2. Combining LTL into TL shipments Motivation Models Issues Multi-Stop TL shipments Column Generation Approach Agenda 2

  3. Speed LTL shipments are consolidated, routed to intermediate terminals, sorted, … TL shipments can be faster Cost Remember concave cost structure Typically TL is less expensive per unit Motivations 3

  4. Manufacturer/Distributor shipping to regular customers Default Option: LTL shipment to each customer Consolidation: TL several order to LTL terminal near customers LTL from terminal to customers Typically not dynamic: Where is the customer? How large is the order? Context 4

  5. Where do we consolidate (what terminals)? Which customers (orders) do we serve through each terminal? Interrelated Questions 5

  6. Single Plant or origin for supplies We are not allocating customers to production plants. That’s already been done We know our customers Not always the case Can use geographic regions in place of actual customer locations We have adjusted last year’s orders to reflect next year’s projections Assumptions 6

  7. Identify a candidate set of consolidation points (terminals) More choices allows exploring more options More choices slows computation On the order of 30 say Key Decisions Open: Do we use a candidate consol pt or not? One for each candidate consol pt Assign: Does a consol pt serve a customer or not? One for each candidate consol pt and (reasonably close) customer ServeDirect: Do we serve the customer directly via LTL or not? One for each Trucks: Annual (say) number of TL shipments to a candidate consol pt. One for each candidate consol pt. A Model 7

  8. LTL shipments direct to customers Easy to rate these, we’ve been shipping this way Recommend using rating engine to rate them anyways Compute discount rate: DR = (Rated Cost -Actual Cost)/Rated Cost Cost to serve * Serve Direct Truck load shipments to consolidation points Might use $/mile and get distances from PC Miler or CzarLite Might distinguish by region of country Cost per truck * Trucks to Consol Pt. LTL shipments from consol pts to customers These are painful to get Use rating engine to rate historical shipments apply discount rate DR Cost to Serve from Consol pt * Assign to Consol pt Objective: Transportation Cost 8

  9. Elaborations • Consider inventory costs • Handling charges at consol pts • Amortized capital charge or rent for consol pts • Time to customer • … 9

  10. TL shipments cost depends on capacity How many trucks Homogeneous commodity Either weight or cube or floor space drives capacity Translate each customers annual demand into a demand for this unit of capacity, e.g., weight Heterogeneous commodities Treat like homogeneous commodity based on basket of products or Translate each customers annual demand into weight and cube (or floor space) Transport Requirements 10

  11. Every Customer is Served For each customer: ServeDirect + Sum over consol pts Assign = 1 Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight, cube, floor space) Trucks*Load Factor  Sum over customers Assign*Requirement/Capacity Constraints e.g.,Weight of customer’s orders Demand varies. Trucks won’t be full e.g.,Weight limit of Truck 11

  12. Time matters Minimum level of service to consol pt E.g., once per week or thrice per week… Amounts to a fixed (operating cost) for opening a consol pt. ServiceLevelConstraint: For each consol pt Trucks  Minimum Service level*Open Frequency e.g.,156 = 52*3 12

  13. Can’t assign a customer to a consol pt unless it is open For each customer and consol pt (within reason) Assign ≤ Open Logic 13

  14. Typical of integer optimization Does strange things to ensure we get the most out of the fixed operating cost associated with opening a consol pt. See assignments bypassing consol pts Adding a nearby customer may force us to use another truck, but adding a smaller one farther away may not Peculiarities 14

  15. Odd Assignments • Reasonable to use recommended consol pts? • Reasonable to use recommended assignments? Plant in FL!?* 15

  16. Suggests the value of dynamic assignments that change from week to week Reasonable to drop integrality of Assign One Project: Implement and evaluate the impact of dynamic assignments Translation to Implementation 16

  17. Can we improve performance by sharing the fixed operating cost across several consol pts Advantage: Allows smaller consol pts Disadvantage: Lower “efficiency” in TL shipments Do you really want to run trucks half empty half way across the country? Stop charges: e.g., $50 per stop Next Step: Multi-Stop Routes 17

  18. Typical Multi-Stop Rt Clustered destinations 18

  19. ServeDirect: Do we serve customer via direct LTL shipments Open: Do we open a candidate consol pt. One for each candidate consol pt. Assign: Do we assign customer to consol pt. One for each customer and (reasonable) consol pt. Trucks: Annual trucks running to consol pt One for each candidate consol pot RouteTrucks: Annual trucks running on multi-stop route One for each candidate multi-stop route RouteVolume: Annual volume at each consol pt that is picked up by each multi-stop route One for each candidate route and stop on the route Model: Key Decisions 19

  20. Volume to a consol pt can be split among direct trucks and (potentially several) multi-stop routes The operating fixed cost imposed by the frequency requirement can be shared among these, i.e., there’s a lower bound on the number of times we “stop” at the consol pt each year. Assumptions 20

  21. Transportation Costs TL to Consol Pts Multi-stop TL to Consol Pts LTL to Consol Pts LTL Direct to Customer Multi-Stop TL costs include Mileage charge Stop charges Objective 21

  22. Every Customer is Served For each customer: ServeDirect + Sum over consol pts Assign = 1 Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight, cube, floor space) Sum over routes that stop at the consol pt Route Volume + Trucks*Load Factor Sum over customers Assign*Requirement/Capacity Service Level Constraint For each consol pt. Trucks + Sum over routes that stop at the consol pt MultiStopTrucks  Minimum Service level*Open Logic: For each customer and consol pt (within reason) Assign ≤ Open Multi-Stop Trucks For each multi-stop route MultiStopTrucks*Load Factor  Sum over stops on the route Route Volume Constraints 22

  23. How do we know all the (interesting) routes? How many are there? If we have ~ 50 consol pts and limit routes to say 4 stops, we get 5.5 million potential routes! Problems 23

  24. We can find good routes as we solve the problem Use technique called Column Generation Big Idea: Use Shadow Price information from current solution to identify attractive routes When no new routes are attractive, we’ve found all the interesting ones (well sort of) Good News! 24

  25. Turns out this is a bit more complicated Illustrate the basic concept first Apply to our Multi-Stop problem Column Generation 25

  26. Illustrate with a “pure” Multi-Commodity Flows problem Multi-Commodity Network Flows Network flows with several products (commodities) Joint capacity constraints Total volume of all commodities moving on a link Column Generation 26

  27. 2 “commodities” Example MCNF Problem 2 to 4 has lots of capacity Prod 1 from 1 to 5 But it is expensive Prod 1 from 2 to 4 27

  28. Capacity Constraints: Capacity on 1-3 is 1 Either 1 unit of Product 1 or 1 unit of Product 2, not both Can send 0.5 units of Product 1 & 0.5 units of Product 2. How to solve this if there are no capacity constraints? Understand Problem? 28

  29. Variables: For Product 1: Each path from node 1 to node 5 For Product 2: Each path from node 2 to node 4 A “Flows on Paths” Model 2 3 1 4 5 29

  30. Product 1 Demand: Total Flow of Product 1 on paths from 1 to 5 is 10 Product 2 Demand: Total Flow of Product 2 on paths from 2 to 4 is 20 And? Constraints 30

  31. One for each edge in the network (in this case 20) Example: Capacity on 2-3 is 1: Total Flow of Product 1 on paths that use edge from 2 to 3 + Total Flow of Product 2 on paths that use edge from 2 to 3≤ 1 Capacity Constraints 31

  32. Start with a small initial set of paths E.g., just the single-edge path from 1 to 5 for Product 1 and from 2 to 4 for Product 2 Solve the Flows on Paths Model with these paths Use the Dual Prices or Shadow Prices from this solution to determine if any new paths will improve the solution. If there are no better paths, you’re done. Otherwise add the paths to the formulation and repeat. The art & science Column Generation Approach 32

  33. One for each constraint Tell us the change in the objective per unit increase in the right-hand-side of the constraint (it’s a rate, i.e., $/unit) Examples: Product 1 Demand Constraint: The dual price tells us how much more it would cost if we insisted on sending 10 +  units of Product 1 from 1 to 5 Capacity Constraint on Edge 2-3: The dual prices tells us how much more (less) it would cost if we increase the capacity on this edge by  What does intuition suggest about the signs? The Dual Prices 33

  34. Try It 34

  35. Use the Dual Prices from this solution to determine if any new paths will improve the solution. If the Reduced Cost of a path is negative, it is attractive, i.e., adding it (can) improve the solution. Reduced Cost of a Path? Finding Attractive Paths 35

  36. Sending flow on a new path has two impacts: We have to pay to send the flow We reduce flows on the current paths Computing the cost of sending the flow is easy: Cost of the path * Units sent Cost of the path is? Computing the cost of the corresponding changes in the flows on the current paths turns out to be “easy” too. Reduced Cost 36

  37. Sending flow of Product 1 on the path from 1 to 3 and then 3 to 5 has 4 effects: It incurs the cost to send flow on this path It reduces the requirements for sending flow of Product 1 from node 1 to node 5 on the current paths: What’s the value of this? It reduces the capacity on the edge 1-3 available to the current paths: What’s the value of this? It reduces the capacity on the edge 3-5 available to the current paths: What’s the value of this? Reduced Cost of Path 1-3-5: Cost of using edge 1-3 + Cost of using edge 3-5 Minus Shadow Price for demand of Product 1 Minus Shadow Price for capacity on edge 1-3 Minus Shadow Price for capacity on edge 3-5 Use the Shadow Prices 37

  38. Is Reduced Cost of Path 1-3-5 < 0? Cost of using edge 1-3 + Cost of using edge 3-5 Minus Shadow Price for demand of Product 1 Minus Shadow Price for capacity on edge 1-3 Minus Shadow Price for capacity on edge 3-5 < 0? Reduced Cost of Path: Sum over the edges of Cost of edge – Shadow Price for capacity on edge < Shadow Price for Demand Is Path 1-3-5 Attractive? The net cost (including the value of the consumed capacities) to send a unit of flow The net value 38

  39. Reduced Cost of Path: Sum over the edges of Cost of edge – Shadow Price for capacity on edge < Shadow Price for Demand If we fix the commodity, the right-hand-side is a constant Find a shortest path for this commodity using the modified costs for the edges If the length of this path is less than the Shadow Price for Demand, we have a candidate Greater than the Shadow Price for Demand, there is no candidate path for this commodity Finding Attractive Paths 39

  40. Shadow Price for Demand for Product 1 is 60 (Explain) No edge is at capacity so all shadow prices for capacities are 0 Find a shortest path from 1 to 5, if it is less than 60, it is better than sending flows direct. Try It 40

  41. For Product 1 1-3-5 has cost 5 < 60 so it’s reduced cost is -55. It is attractive, add it. For Product 2 2-1-4 has cost 8 < 70 so it’s reduced cost is -62. It is attractive, add it. Shortest Path 41

  42. The Master Problem now has 4 paths For Product 1: 1-5 with cost 60 and capacity 10 1-3-5 with cost 5 and capacity ? Repeat 1 • For Product 2: • 2-4 with cost 70 and capacity 20 • 2-1-4 with cost 8 and capacity ? 1 42

  43. Uses the new paths to capacity Objective value drops to 1883 Edge 3-5 at capacity. Shadow Price – 55 Modified cost for 3-5 is 1 – (-55) = 56 Edge 2-1 at capacity Shadow Price – 62 Modified cost for 2-1 is 0 – (-62) = 62 Solve the Master Since these edges are at capacity, using them in a new path would force us to give up some of the gains 43

  44. A Most attractive path for Product 1 1-2-5 with cost 12 A Most attractive path for Product 2 2-5-4 with cost 10 Master Problem objective drops to 1823 Shadow Price for capacity on 2-5 is -60 Next Iteration Competing for capacity 44

  45. After 4 iterations, the Objective value in the Master Problem has fallen to 1721 The Shadow Prices for demand are still Product 1: 60 Product 2: 70 The lengths of the Shortest Paths using modified costs are Product 1: 60 Product 2: 70 We have an optimal answer. Etc. 45

  46. Everyone understand the basics of column generation Comment: Computationally this is only different from basic LP in so far as we used the Shortest Path Problem to find an attractive path rather than simply work through a list of variables, “pricing them out” one by one. Questions? 46

  47. Let’s apply Column Generation to solve our Multi-Stop Consolidation Problem Recall Shipping to customers from a single plant Consolidating LTL shipments through consolidation points Serving the consolidation points via TL and/or Multi-Stop TL Modeled as though we knew all the Multi-Stop Routes Use Column Generation to produce the Routes Back to Multi-Stop Routes 47

  48. Transportation Costs TL to Consol Pts Multi-stop TL to Consol Pts LTL to Consol Pts LTL Direct to Customer Multi-Stop TL costs include Mileage charge Stop charges Objective 48

  49. Every Customer is Served For each customer: ServeDirect + Sum over consol pts Assign = 1 Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight, cube, floor space) Sum over routes that stop at the consol pt Route Volume + Trucks*Load Factor - Sum over customers Assign*Requirement/Capacity  0 Service Level Constraint For each consol pt. Trucks + Sum over routes that stop at the consol pt MultiStopTrucks - Minimum Service level*Open  0 Logic: For each customer and consol pt (within reason) Open - Assign  0 Multi-Stop Trucks For each multi-stop route MultiStopTrucks*Load Factor - Sum over stops on the route Route Volume 0 Two aspects of a route: Trucks & Volume Constraints 49

  50. Issue #1: What columns do we generate? MultiStop Trucks? Route Volume? Both? … Two Issues 50

More Related