Download presentation
Presentation is loading. Please wait.
1
John H. Vande Vate Spring, 2008
Consolidation John H. Vande Vate Spring, 2008 1
2
Agenda Combining LTL into TL shipments Multi-Stop TL shipments
Motivation Models Issues Multi-Stop TL shipments Column Generation Approach 2
3
Motivations Speed Cost
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 3
4
Class Context Third (and last) discussion of consolidation
Reduced inventory by improving the mix in our first “case study” Focus on the time (OTD) at each individual pool in load-driven context Focus on transport cost in a (more) schedule-driven context 4
5
Context Manufacturer/Distributor shipping to regular customers
Default Option: LTL shipment to each customer Consolidation: TL several orders to LTL terminal near customers LTL from terminal to customers Typically not dynamic: Where is the customer? How large is the order? 5
6
More context Service (OTD) is still an issue
Frequency of TL shipments to consolidation points In some cases, this kind of consolidation can improve service Issues regarding TL utilization and service… 6
7
Variability Issues Daily “demand” Average demand
In any case, variability erodes capacity utilization. We will need to plan for extra capacity. The more extra capacity, the better the service, but… Variability Issues Do we send a second truck? Make the goods wait? Send them LTL? Daily “demand” Do we send a truck? What’s our commitment to the carrier? Average demand 7
8
Variability We will defer those questions
For now, there’s some capacity buffer. We will “guess” what it should be We might use G/G/1 queue to estimate or just simulate 8
9
Interrelated Questions
Where do we consolidate (what terminals)? Which customers (orders) do we serve through each terminal? Impact of service (OTD) Similar to our Pool Point discussion, but with some key differences Change of mode: LTL to TL Emphasis changing from speed to cost 9
10
Assumptions Single Plant or origin for supplies We know our customers
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 No seasonality or we are addressing each season separately. 10
11
A Model US Land Area: 3.5million sq mi Alaska: 0.57 million sq miles
50 consol pts are < 140 mile radius Identify a candidate set of consolidation points (terminals) More choices allows exploring more options More choices slows computation On the order of 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. 11
12
Objective: Transportation Cost
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 Remember the caveat from Lecture 1 about rating the average shipment Cost to Serve from Consol pt * Assign to Consol pt We probably want to do this twice: 1st with estimates. Then with rated costs 12
13
Elaborations … Consider inventory costs Handling charges at consol pts
Amortized capital charge or rent for consol pts Time to customer … 13
14
Transport Requirements
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) 14
15
Constraints e.g.,Weight of customer’s orders
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 e.g.,Weight of customer’s orders Demand varies. Trucks won’t be full e.g.,Weight limit of Truck 15
16
Frequency e.g.,156 = 52*3 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 e.g.,156 = 52*3 16
17
Logic Can’t assign a customer to a consol pt unless it is open
For each customer and consol pt (within reason) Assign ≤ Open 17
18
Peculiarities 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 18
19
Odd Assignments Plant in FL!?*
Reasonable to use recommended consol pts? Reasonable to use recommended assignments? 19
20
Translation to Implementation
Suggests the value of dynamic assignments that change from week to week Reasonable to drop integrality of Assign Typically doesn’t make a significant difference Build and evaluate more “compact” assignments that are easier to manage 20
21
Next Step: Multi-Stop Routes
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 21
22
Clustered destinations
Typical Multi-Stop Rt Clustered destinations 22
23
Model: Key Decisions 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 23
24
Assumptions 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. 24
25
Objective Transportation Costs Multi-Stop TL costs include
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 25
26
Constraints Every Customer is Served Trucks required to each consol pt
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 26
27
Problems 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! 27
28
Good News! 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) 28
29
Column Generation Turns out this is a bit more complicated
Illustrate the basic concept first Apply to our Multi-Stop problem 29
30
Column Generation 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 30
31
Example MCNF Problem 2 “commodities” Prod 1 from 1 to 5
But it is expensive Costs From\To 1 2 3 4 5 9 8 60 70 6 7 Product 1 10 -10 Product 2 20 -20 Capacities Prod 1 from 1 to 5 2 to 4 has lots of capacity Prod 1 from 2 to 4 31
32
Understand Problem? 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? 32
33
A “Flows on Paths” Model
Variables: For Product 1: Each path from node 1 to node 5 For Product 2: Each path from node 2 to node 4 2 3 1 4 5 33
34
Constraints Product 1 Demand: Product 2 Demand: And?
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? 34
35
Capacity Constraints 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 35
36
Column Generation Approach
The art & science 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. 36
37
The Dual Prices (or shadow prices)
One for each constraint Tell us the change in the objective value of an optimal solution 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? 37
38
Try It 38
39
Why is this shadow price 0?
Shadow Price of demand for product 1 39
40
Finding Attractive Paths
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? 40
41
Reduced Cost 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. 41
42
Use the Shadow Prices Minus the shadow price for demand
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 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 Minus the shadow price for capacity 42
43
Is Path 1-3-5 Attractive? The net value
Is Reduced Cost of Path < 0? Cost of using edge 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 The net cost (including the value of the consumed capacities) to send a unit of flow The net value 43
44
Finding Attractive Paths
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 44
45
Try It 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. 45
46
Shortest Path For Product 1 For Product 2
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. 46
47
Repeat 1 1 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 ? 1 For Product 2: 2-4 with cost 70 and capacity 20 2-1-4 with cost 8 and capacity ? 1 47
48
Solve the Master 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 Since these edges are at capacity, using them in a new path would force us to give up some of the gains 48
49
Competing for capacity on 2-5
Next Iteration 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 49
50
Etc. 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 We have an optimal answer. 50
51
Questions? 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. 51
52
Back to Multi-Stop Routes
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 52
53
Objective Transportation Costs Multi-Stop TL costs include
TL to Consol Pts Multi-stop TL to Consol Pts LTL from Consol Pts to Customer LTL Direct to Customer Multi-Stop TL costs include Mileage charge Stop charges 53
54
Constraints Two aspects of a route: Trucks & Volume
RouteVolume is indexed by Route and by Consol Pt. Two aspects of a route: Trucks & Volume Constraints 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 MultiStop Trucks is indexed by Route 54
55
Two Issues Issue #1: What columns do we generate? … MultiStop Trucks?
Route Volume? Both? … 55
56
Issue #2 We won’t write this till we have generated the route! But won’t we need the Shadow Price on this to generate the route? 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 Multi-Stop Trucks For each multi-stop route MultiStopTrucks*Load Factor - Sum over stops on the route Route Volume 0 56
57
A Resolution 0! Two Cases:
Case 1: MultiStopTrucks*Load Factor - Sum over stops on the route Route Volume > 0 Case 2: MultiStopTrucks*Load Factor - Sum over stops on the route Route Volume = 0 What’s the shadow price for this constraint in this case? 0! 57
58
If it’s not “tight” dropping it has no effect.
Case 1: Issue #2 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 Multi-Stop Trucks For each multi-stop route MultiStopTrucks*Load Factor - Sum over stops on the route Route Volume 0 If it’s not “tight” dropping it has no effect. 58
59
Case 1: Relevant Constraints
We want both the Route Volumes & the MultiStopTrucks to price out. This is a heuristic. Technically, if either one prices out, we should add it. Case 1: Relevant Constraints 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 59
60
Is a RouteVolume Attractive?
No. We pay for trucks and LTL. We will handle the cost of the multi-stop route when we ensure Multi-Stop Trucks prices out What are the effects (direct and indirect) of increasing a RouteVolume variable? For clarity we should write that as RouteVolume[route, consol]: the volume for the consolidation point that is delivered on this route. Is there a direct cost for the RouteVolume[route, consol] variable? 60
61
Pricing Out RouteVolume[route, consol]
So there is no direct cost Just indirect costs, (like consuming capacity on an edge or satisfying demand in the multi-commodity flow problem) What Shadow Prices do we need to look at? 61
62
RouteVolume[route, consol] Which Shadow Prices?
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 Just the one for the trucks required at the consol point 62
63
The Shadow Price What happens to cost if we increase this?
Costs rise because we require more volume at the consol pt. The Shadow Price 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 What happens to cost if we increase this? 63
64
RouteVolume[route, consol] Reduced Cost
0 minus the Shadow Price for trucks required at consol point The Shadow Price for trucks required at consol point is the cost of satisfying another unit of demand there 0 if the service constraint is the driver Something positive otherwise What’s the reduced cost of RouteVolume[route, consol]? When is RouteVolume[route, consol] attractive? As long as service isn’t the driver there! 64
65
Is MultiStop Trucks Attractive?
What are the effects (direct and indirect) of increasing a MultiStop Trucks variable? For clarity we should write that as MultiStop Trucks[route] Is there a direct cost for the MultiStop Trucks[route] variable? Yes. The cost of a truck on that route 65
66
Pricing Out MultiStop Trucks[route]
So the direct cost is Route Cost What indirect costs? What Shadow Prices do we need to look at? 66
67
MultiStop Trucks[route] Which Shadow Prices?
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 The route provides service to each consol point it visits! 67
68
The Shadow Price What happens to cost if we increase this?
Costs increase because we require another visit The Shadow Price Service Level Constraint For each consol pt. Trucks + Sum over routes that stop at the consol pt MultiStopTrucks - Minimum Service level*Open 0 What happens to cost if we increase this? 68
69
Reduced Cost of MultiStop Trucks[route]
Direct Cost – Indirect Costs < 0 Route Cost – Sum of Shadow Prices for Service on the route < 0 Route Cost < Sum of Shadow Prices for Service on the route The value of the services exceeds the cost of the route! 69
70
Is the Route Attractive?
For each consol pt on the route RouteVolume[route, consol] prices out 0 < Shadow Price for trucks at consol pt (i.e., service isn’t the driver, the trucks are full) Does MultiStop Trucks[route] price out? Route Cost < Sum over stops on the route of Frequency Shadow Prices 70
71
Finding an Route Attractive
Objective: Maximize Net Savings = Sum of Frequency Shadow Prices on the route - Cost of Route S.T. It’s a route from the plant What does that mean? One truck leaves the plant No more trucks leave a consol pt than enter it And …what can go wrong? 71
72
What can go Wrong? Plant Sub-tours Consol 4 Consol 2 Consol 3 Consol 1
72
73
Solutions Sub-tour elimination constraints
Can’t have more than n-1 edges on any set of n points That’s many many constraints There are techniques, but really… Heuristics…a whole course on routing heuristics Common Sense: Only allow edges that take us farther from the plant. 73
74
A Model 74
75
A Resolution Two Cases:
Case 1: MultiStopTrucks*Load Factor - Sum over stops on the route Route Volume > 0 Case 2: MultiStopTrucks*Load Factor - Sum over stops on the route Route Volume = 0 75
76
Case 2 MultiStopTrucks = (Sum over stops on the route Route Volume)/ Load Factor Eliminate MultiStopTrucks Insist each Route Volume be attractive (price out) – Otherwise, we would short-cut the route and not stop at that Consol pt. 76
77
Case 2 Trucks required to each consol pt Service Level Constraint
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 Multi-Stop Trucks For each multi-stop route MultiStopTrucks*Load Factor - Sum over stops on the route Route Volume 0 Sum over stops on the route Route Volume /Load Factor 77
78
Route Volume is specific to the Route AND the Consol Pt
Relevant Constraints 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 (Sum over stops on the route Route Volume /Load Factor) - Minimum Service level*Open 0 But this is the sum over all the stops on the route So, to determine if one Route volume is attractive… 78
79
Route Volume Attractive
We must consider What we pay for the Route Volume (later) It’s influence on the Trucks required at the Consol Pt (Shadow Price of the Trucks required to carry the weight at the consol pt) It’s influence on the Frequency constraint for every consol pt on the route (Shadow Prices of these constraints/Load Factor) This is where we replaced Multi-Stop Trucks with the sum 79
80
What we pay for Route Volume
In the objective, we also replaced Cost per Multi-Stop Truck * Multi-Stop Trucks With Cost per Multi-Stop Truck * (Sum over stops on the route Route Volume /Load Factor) So, each Route Volume bears the full cost of the Multi-Stop Route/Load Factor 80
81
Route Volume Attractive
Three Factors: What we pay for the Route Volume? Cost per Multi-Stop Truck/Load Factor It’s influence on the Trucks required at the Consol Pt? Shadow Price of the Trucks required to carry the weight at the consol pt It’s influence on the Frequency constraint for every consol pt on the route Sum over all the stops on the route of the Shadow Prices of the Frequency constraint/Load Factor 81
82
Route Volume Attractive
Is Route Cost/Load Factor Weight Price at Consol Pt Sum of Frequency Prices/Load Factor < 0? Route Cost Load Factor*Weight Price at Consol Pt Sum of Frequency Prices The only thing that changes from consol pt to consol pt 82
83
Is the Route Attractive?
Route Cost Load Factor*Weight Price at Consol Pt Sum of Frequency Prices < 0 For every Consol Pt on the route? Get this from sensitivity info Get these from sensitivity info 83
84
How to generate routes? Have to decide which consol pts are on the route Decision Variables Is Consol pt first on a multi-stop route? Does consol pt A follow consol pt B on a multi-stop route? 84
85
Constraints Limit number of stops (practical) Find 1 Route –
At least 2 (so it’s multi-stop) At most 4 (say) Bounds on the total number of legs Find 1 Route – One leg out of the origin Can’t go from consol pt B to consol pt C unless some leg takes you to B Number of legs out of B ≤ Number of legs into B 85
86
Price Constraints For each consol pt on the route
Route Cost < Load Factor * Weight Shadow Price for consol pt + Sum of Frequency Shadow Prices on route But we don’t know what’s on the route! Define OnRoute = sum of legs into consol pt (0 or 1) Disjunctive Constraint 86
87
Price Constraints For each consol pt on the route
Route Cost < Load Factor * Weight Shadow Price for consol pt + Sum of Frequency Shadow Prices on route + M*(1-OnRoute) Define OnRoute = sum of legs into consol pt (0 or 1) 87
88
Try It 88
89
New Problem Sub-Tours: 1 6 5 89
90
Resolutions Practical: Subtour Elimination (Less Practical)
Each subsequent stop must be farther from the plant. Subtour Elimination (Less Practical) For each three consol pts, we can choose at most two legs For each two consol pts, we can choose at most one leg Generally, for each N consol pts, we can choose at most N-1 legs (but we limited routes to 4 legs) Dynamic Programming type algorithm or iterative heuristic (software) 90
91
Try It 91
92
Summary Solve the Master LP (relax integrality) without routes
Get Shadow Prices Generate Routes (Case 1 & Case 2) If there are attractive routes, add them and solve the Master LP again If there are no attractive routes, solve to an Integer Optimum 92
93
Issues Our procedure for generating multi-stop routes does not consider the integer decisions about what consol pts to use. Heuristic resolution: At the end, repeat the column generation procedure with the consol pt decisions fixed. 93
94
Next Time Identifying good consolidation points: Location 94
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.