Upload
anjita-tomar
View
224
Download
0
Embed Size (px)
Citation preview
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
1/85
1
1
Consolidation
John H. Vande Vate
Spring, 2007
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
2/85
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
3/85
3
3
Motivations
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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
4/85
4
4
Context
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?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
5/85
5
5
Interrelated Questions
Where do we consolidate (what
terminals)?
Which customers (orders) do we servethrough each terminal?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
6/85
6
6
Assumptions
Single Plant or origin for suppliesWe are not allocating customers to
production plants. Thats already been done
We know our customersNot always the case
Can use geographic regions in place ofactual customer locations
We have adjusted last years orders toreflect next years projections
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
7/85
7
7
A Model
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.
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
8/85
8
8
Objective: Transportation Cost
LTL shipments direct to customers Easy to rate these, weve 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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
9/85
9
9
Elaborations Consider inventory costs
Handling charges at consol pts
Amortized capital charge or rent for consol pts
Time to customer
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
10/85
10
10
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 onbasket of products or
Translate each customers annual demand intoweight and cube (or floor space)
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
11/85
11
11
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)
Trucks*Load Factor Sum over customersAssign*Requirement/Capacity
Demand
varies.
Trucks
wont be full
e.g.,Weight of
customers
orders
e.g.,Weight
limit of Truck
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
12/85
12
12
Frequency
Time matters
Minimum level of service to consol pt E.g., once per week or thrice per week
Amounts to a fixed (operating cost) foropening a consol pt.
ServiceLevelConstraint:
For each consol ptTrucks Minimum Service level*Open
e.g.,156 = 52*3
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
13/85
13
13
Logic
Cant assign a customer to a consol pt
unless it is open
For each customer and consol pt (withinreason)
Assign Open
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
14/85
14
14
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 fartheraway may not
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
15/85
15
15
Odd Assignments
Reasonable to use recommended consol pts?
Reasonable to use recommended
assignments?
Plant in
FL!?*
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
16/85
16
16
Translation to Implementation
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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
17/85
17
17
Next Step: Multi-Stop Routes
Can we improve performance by sharingthe fixed operating cost across severalconsol pts
Advantage: Allows smaller consol pts Disadvantage: Lower efficiency in TLshipmentsDo you really want to run trucks half empty
half way across the country?Stop charges: e.g., $50 per stop
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
18/85
18
18
Typical Multi-Stop Rt
Clustered
destinations
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
19/85
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
20/85
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
21/85
21
21
Objective
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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
22/85
22
22
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 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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
23/85
23
23
Problems
How do we know all the (interesting) routes?
How many are there?
If we have ~ 50 consol pts and limit routes to say4 stops, we get 5.5 million potential routes!
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
24/85
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
25/85
2525
Column Generation
Turns out this is a bit more complicated
Illustrate the basic concept first
Apply to our Multi-Stop problem
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
26/85
2626
Column Generation
Illustrate with a pure Multi-Commodity
Flows problem
Multi-Commodity Network FlowsNetwork flows with several products
(commodities)
Joint capacity constraints Total volume of all commodities moving on a link
2 commodities
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
27/85
2727
Example MCNF Problem
Costs
From\To 1 2 3 4 5
1 0 9 4 8 60
2 0 0 9 70 3
3 0 6 0 4 1
4 7 7 2 0 7
5 3 6 5 7 0
Product 1 10 0 0 0 -10
Product 2 0 20 0 -20 0
Capacities
From\To 1 2 3 4 5
1 0 1 2 1 10
2 1 0 1 20 1
3 1 1 0 2 1
4 2 2 1 0 1
5 1 1 1 2 0
2 commodities
Prod 1 from 1 to 5
Prod 1 from 2 to 4
2 to 4 has
lots of
capacity
But it is
expensive
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
28/85
2828
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 capacityconstraints?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
29/85
2929
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
1
23
45
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
30/85
3030
Constraints
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 2to 4 is 20
And?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
31/85
3131
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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
32/85
3232
Column Generation Approach
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 thesepaths
Use the Dual Prices or Shadow Prices fromthis solution to determine if any new paths
will improve the solution. If there are no better paths, youre done.Otherwise add the paths to the formulationand repeat.
The art &
science
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
33/85
3333
The Dual Prices
One for each constraint Tell us the change in the objective per unit
increase in the right-hand-side of theconstraint (its a rate, i.e., $/unit)
Examples: Product 1 Demand Constraint: The dual pricetells us how much more it would cost if weinsisted on sending 10 + units of Product 1from 1 to 5
Capacity Constraint on Edge 2-3: The dualprices tells us how much more (less) it wouldcost if we increase the capacity on this edge by
What does intuition suggest about the signs?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
34/85
3434
Try It
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
35/85
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
36/85
3636
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 iseasy: 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.
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
37/85
3737
Use the Shadow Prices
Sending flow of Product 1 on the path from 1 to 3 andthen 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 1from node 1 to node 5 on the current paths: Whats the value
of this? It reduces the capacity on the edge 1-3 available to thecurrent paths: Whats the value of this?
It reduces the capacity on the edge 3-5 available to thecurrent paths: Whats the value of this?
Reduced Cost of Path 1-3-5:Cost of using edge 1-3 + Cost of using edge 3-5Minus 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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
38/85
3838
Is Path 1-3-5 Attractive?
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 ofCost of edge Shadow Price for capacity on edge
< Shadow Price for Demand
The net cost
(including the value
of the consumedcapacities) to send
a unit of flow
The net
value
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
39/85
3939
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 aconstant
Find a shortest path for this commodity using themodified 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 nocandidate path for this commodity
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
40/85
4040
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.
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
41/85
4141
Shortest Path
For Product 1
1-3-5 has cost 5 < 60 so its reduced cost is
-55. It is attractive, add it.
For Product 2
2-1-4 has cost 8 < 70 so its reduced cost is
-62. It is attractive, add it.
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
42/85
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
43/85
4343
Solve the Master
Uses the new paths to capacity
Objective value drops to 1883
Edge 3-5 at capacity.Shadow Price55
Modified cost for 3-5 is 1(-55) = 56
Edge 2-1 at capacityShadow Price62
Modified cost for 2-1 is 0(-62) = 62
Since these edges
are at capacity,
using them in a
new path wouldforce us to give
up some of the
gains
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
44/85
44
44
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
Competing
for capacity
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
45/85
45
45
Etc.
After 4 iterations, the Objective value in theMaster Problem has fallen to 1721
The Shadow Prices for demand are still Product 1: 60
Product 2: 70
The lengths of the Shortest Paths usingmodified costs are
Product 1: 60 Product 2: 70
We have an optimal answer.
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
46/85
46
46
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, pricingthem out one by one.
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
47/85
47
47
Back to Multi-Stop Routes
Lets apply Column Generation to solve ourMulti-Stop Consolidation Problem
Recall Shipping to customers from a single plant
Consolidating LTL shipments throughconsolidation points
Serving the consolidation points via TL and/orMulti-Stop TL
Modeled as though we knew all the Multi-Stop
Routes Use Column Generation to produce the
Routes
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
48/85
48
48
Objective
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
T
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
49/85
49
49
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
Two aspects
of a route:
Trucks &Volume
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
50/85
50
50
Two Issues
Issue #1: What columns do we generate?
MultiStop Trucks?
Route Volume?
Both?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
51/85
51
51
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
We wont write this tillwe have generated the
route! But wont we
need the Shadow Priceon this to generate the
route?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
52/85
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
53/85
53
53
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 its not
tight
dropping it
has no effect.
W t b th th R t V l
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
54/85
54
54
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
We want both the Route Volumes
& the MultiStopTrucks to price out
I R V l A i ?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
55/85
55
55
Is a RouteVolume Attractive?
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?
No. We pay for trucks
and LTL. We will
handle the cost of the
multi-stop route whenwe ensure Multi-Stop
Trucks prices out
Pricing Out
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
56/85
56
56
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 flowproblem)
What Shadow Prices do we need to
look at?
R V l [ l]
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
57/85
57
57
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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
58/85
58
58
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 ptRoute Volume + Trucks*Load Factor
- Sum over customers
Assign*Requirement/Capacity
0
What happens to cost if
we increase this?
R V l [ l]
0 i th Sh d P i f
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
59/85
59
59
RouteVolume[route, consol]
Reduced Cost
The Shadow Price for trucks required at
consol point is the cost of satisfying
another truck load of demand there
0 if the service constraint is the driver
Something positive otherwise
Whats the reduced cost of
RouteVolume[route, consol]?
When is RouteVolume[route, consol]
attractive?
0 minus the Shadow Price fortrucks required at consol point
As long as service isnt thedriver there!
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
60/85
60
60
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
Pricing Out
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
61/85
61
61
Pricing Out
MultiStop Trucks[route]
So the direct cost is Route Cost
What indirect costs?
What Shadow Prices do we need to
look at?
M ltiSt T k [ t ]
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
62/85
62
62
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!
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
63/85
63
63
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?
Reduced Cost of
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
64/85
64
64
Reduced Cost of
MultiStop Trucks[route]
Direct CostIndirect Costs < 0
Route CostSum 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!
I th R t Att ti ?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
65/85
65
65
Is the Route Attractive?
For each consol pt on the routeRouteVolume[route, consol]
prices out
0 < Shadow Price for trucks at consol pt (i.e.,service isnt the driver, the trucks are full)
Does
MultiStop Trucks[route]
price out?
Route Cost < Sum over stops on the route ofFrequency Shadow Prices
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
66/85
66
66
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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
67/85
67
67
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.
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
68/85
68
68
Case 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 RouteVolume 0
Sum over stops on the route
Route Volume/Load Factor
Route Volume is specific to the
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
69/85
69
69
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
Route Volume is specific to the
Route AND the Consol Pt
But this is the sum over all the
stops on the route
So, to determine ifone Route volume
is attractive
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
70/85
70
70
Route Volume Attractive
We must consider
What we pay for the Route Volume (later)
Its influence on the Trucks required at the
Consol Pt (Shadow Price of the Trucksrequired to carry the weight at the consol
pt)
Its influence on the Frequency constraint
for every consol pt on the route (Shadow
Prices of these constraints/Load Factor)
This is
where wereplaced
Multi-Stop
Trucks with
the sum
h f l
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
71/85
71
71
What we pay for Route Volume
In the objective, we also replacedCost per Multi-Stop Truck * Multi-Stop
Trucks
WithCost 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/LoadFactor
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
72/85
72
72
Route Volume Attractive
Three Factors:1. What we pay for the Route Volume?
Cost per Multi-Stop Truck/Load Factor
2. Its influence on the Trucks required at the
Consol Pt?Shadow Price of the Trucks required to carrythe weight at the consol pt
3. Its influence on the Frequency constraint for
every consol pt on the routeSum over all the stops on the route of theShadow Prices of the Frequencyconstraint/Load Factor
Route Volume Attractive
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
73/85
73
73
Route Volume Attractive
IsRoute Cost/Load Factor
- Weight Price at Consol Pt
- Sum of Frequency Prices/Load Factor
< 0?
Is
Route Cost
- Load Factor*Weight Price at Consol Pt- Sum of Frequency Prices
< 0?
The only thingthat changes from
consol pt to
consol pt
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
74/85
H t t t ?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
75/85
75
75
How to generate routes?
Have to decide which consol pts are onthe 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?
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
76/85
76
76
Constraints
Limit number of stops (practical)
At least 2 (so its multi-stop)
At most 4 (say)
Bounds on the total number of legs Find 1 Route
One leg out of the origin
Cant 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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
77/85
77
77
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 dont know whats on the route!
Define
OnRoute = sum of legs into consol pt (0 or 1)
Disjunctive Constraint
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
78/85
78
78
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)
Try It
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
79/85
79
79
Try It
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
80/85
80
80
New Problem
Sub-Tours:
16
5
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
81/85
81
81
Resolutions
Practical: Each subsequent stop must be farther from the
plant.
Subtour Elimination (Less Practical)
For each three consol pts, we can choose at mosttwo legs
For each two consol pts, we can choose at mostone 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)
Try It
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
82/85
82
82
Try It
S
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
83/85
83
83
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
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
84/85
84
84
Issues
Our procedure for generating multi-stoproutes does not consider the integer
decisions about what consol pts to use.
Heuristic resolution: At the end, repeatthe column generation procedure with
the consol pt decisions fixed.
7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach
85/85
Next Time
Change in Emphasis:
This time
Service level was fixed
Reduce transport cost
Next time
Transport cost fixed Load Driven
Increase service