Title: Strategies for Coordinated Drayage Movements
1Strategies for Coordinated Drayage Movements
- Karen Smilowitz
- Department of Industrial Engineering and
Management Sciences - Transportation Center
- Northwestern University
December 5, 2002
2Outline
- Background
- Chicago Drayage Problem (CDP)
- Literature review
- Solution methods
- Pick-up and delivery problem
- CDP formulation
- Heuristics
- Lower bound
- Test cases
- Summary and next steps
3Chicago Intermodal Study
- NSF Partnership for Innovation
- Northwestern University
- Athanasios Ziliaskopoulos, Bhuwan Agrawal, Peng
Duan, Civil/Environmental - Karen Smilowitz Chris Neuman, IE/MS
- Jay Franke, Transportation Center
- University of Illinois at Chicago
- Kazuya Kawamura
- Chicago Area Transportation Study
- Gerald Rawling
- Trucking consultant
- Bruce Dahnke
4Whats the Problem?
- Chicago is a US freight hub
- 60 of US container movements
- 27 yards 25,000 truck movements per day
- 40 of a 900 mile movement cost incurred in
drayage portions ( - Black Hole of freight movements
- Transfer times measured in days and weeks
5Decision support tools
- DTSA Dynamic traffic simulation assignment
- Congestion effects in local area
- YARD Intermodal yard operations
- Simulation of yard activities
- LOGIC Logistical module for coordinated drayage
operations
6Drayage operations
container yard
consignee
shipper
intermodal yard
intermodal yard
7Container movements stay with
C
C
CY
CY
IY
IY
TE
TE
S
S
Stay with shipper
Stay with consignee
Truck entry
Container yard
Intermodal yard
TE
CY
IY
Shipper
Consignee
Empty container
No container (bobtail)
Loaded container
8Container movements drop and pick
C
C
CY
CY
IY
IY
TE
TE
S
S
Drop and pick consignee
Drop and pick shipper
C
C
CY
CY
IY
IY
TE
TE
S
S
Associated empty moves
9Placing movements on truck routes
C
CY
IY
TE
S
C
CY
IY
TE
S
10Problem statement
- Minimize distance and/or travel time (empty
movements and bobtailing) - Subject to
- Time windows for delivery / pick-up
- Pool of equipment
- Driver work hours
- Multiple intermodal and container yards
- Multiple shippers and consignees
- Congestion costs in network
11Related literature
- Ball et al., 1983
- Trailer distribution for a chemical company
- Morlok and Spasovic, 1990
- Drayage operations for Conrail
- De Meulemeester et al., 1997
- Collection and delivery of skips
- Bodin et al. 2001
- Waste management containers
- Solution methods
- Arc-based formulations
- Node-based formulations
12Issues with the Chicago drayage problem
- Problem size
- Number of shippers, consignees, yards
- Routing of empty containers
- Choice improved efficiency
- increased complexity
- Truck behavior at shipper/consignee
- Stay with drop and pick
- Can be input or decision
13Pick-up and delivery with time windows
- Variant of the vehicle routing problem (VRP)
- Solution methods
- Arc-based network flow formulations
- Node-based routing transform into an asymmetric
VRP - Transform drayage into pick-up and delivery
problem - PD points are not all known a priori for empties
- Treat as a choice among empty trip options
14Possible empty movements
S
CY
CY
S
S
Select default container yard plus all
time-feasible locations within a given radius
C
S
CY
Default
CY
CY
15Set partitioning for pick-up and delivery
- Partition items (trips) into disjoint sets
(routes) - Effective at solving PD problems
- Savelsbergh and Sol, 1998 Dumas, Desrosiers, and
Soumis, 1991 Desrochers, Desrosiers, and
Solomon, 1992 - Transfer difficult routing constraints to
subproblems
16Set partitioning for pick-up and delivery
- Find the minimum cost subset of decision
variables from a set R that can cover all
demands in the set T
Satisfy at equality
17Set notation
T Set of all trips loaded trips plus all
associated empty movements Tlp Set of drop and
pick loaded movements Tls Set of stay with
loaded movements Tl Set of loaded trips Tl
Tlp ? Tls Ei Set of empty movements associated
with loaded drop and pick trip i ? Tlp R Set
of feasible routes
18Parameters and decision variables
Parameters cr Cost of route r ? R air Covering
parameter 1 if route r ? R covers trip i ? T
0 otherwise Decision variables xr Route
selection variable 1 if route r ? R is
chosen 0 otherwise
19Set partitioning formulation (CDP)
minimize cost of all routes
cover loaded movements
cover 1 associated move for each drop and pick
binary decision variables
20Solution approach
- Difficult to enumerate all feasible routes
- Heuristics needed to generate good routes
- Savings methods
- Column generation to iteratively add columns
21Modified savings method for drayage
Step 0 Initialize
- Initialize
- Data loaded trips network data
- Create associated empty moves for drop and picks
- Each trip is one route
- Look for self-serves
Step 1 Savings matrix
Step 2 Merge trips
Step 3 Eliminate trips
22Modified savings method for drayage
Step 0 Initialize
- Savings matrix
- Compute T x T savings matrix
- sij f(i, j) for all i,j ? T
- Rank elements in descending order
Step 1 Savings matrix
Step 2 Merge trips
Step 3 Eliminate trips
23Modified savings method for drayage
Step 0 Initialize
Step 1 Savings matrix
- Merge trips
- Join first feasible pair of trips in savings list
Step 2 Merge trips
Step 3 Eliminate trips
24Modified savings method for drayage
Step 0 Initialize
Step 1 Savings matrix
- Eliminate trips
- Remove empty movements
- whose loaded movement has been served
Step 2 Merge trips
Step 3 Eliminate trips
25Modified savings method for drayage
Step 0 Initialize
- Iterate
- Update savings matrix
- smk f(m,k) for merged trip, m i,j,.., and k
?T - Repeat steps 1-3 until no more mergers are
possible
Step 1 Savings matrix
Step 2 Merge trips
Step 3 Eliminate trips
26New steps in solving the CDP
- Savings method is quick and easy
- Savings method tends to favor certain types of
trips - How do we favor trips that are not easily
covered? - Completely enumerating all routes
- Column generation
27Column generation with set partitioning
minimize cost of routes within a subset of R
28Column generation for CDP-L
evaluate the duals of coverage constraints, pi,
to obtain the reduced cost of routes
linear relaxation of CDP
29Column generation algorithm
Step 0 Initialize
- Initialize
- Data loaded trips network data
- Create associated empty moves for drop and picks
- Use single trip routes default empty moves for
initial feasible solution - Look for self-serves
Step 1 Solve CDP-L
Step 2 Add routes
30Column generation algorithm
Step 0 Initialize
- Solve CDP-L
- Solve set partitioning using current set of routes
Step 1 Solve CDP-L
Step 2 Add routes
31Column generation algorithm
Step 0 Initialize
- Add routes
- Generate additional routes using duals from CDP-L
- Add new routes to the set partitioning problem
Step 1 Solve CDP-L
Step 2 Add routes
32Column generation algorithm
Step 0 Initialize
- Iterate
- Resolve CDP-L with larger route set update duals
- Continue to generate new routes and add to CDP-L
- Stop when chosen criteria is met
Step 1 Solve CDP-L
Step 2 Add routes
33Route generating algorithms
- Modified savings
- Trip insertion
- Network-based
34Trip insertion algorithm
Step 0 Initialize
- Initialize
- All trips (loaded and empty) are unassigned
- Routes are empty
Step 1 Search trips
Step 2 Insert trips
Step 3 Eliminate trips
35Trip insertion method for drayage
Step 0 Initialize
- Search trips
- Search all unassigned trips
- Find time-feasible insertions into existing
routes - Evaluate profitability of insertion using duals
from CDP-L
Step 1 Search trips
Step 2 Insert trip
Step 3 Eliminate trips
36Trip insertion method for drayage
Step 0 Initialize
Step 1 Search trip
- Insert trip
- Add trip with highest profitability to selected
route
Step 2 Insert trip
Step 3 Eliminate trips
37Trip insertion method for drayage
Step 0 Initialize
Step 1 Search trip
Step 2 Insert trip
- Eliminate trips
- Remove empty trips that cover the same loaded
trip as inserted trip
Step 3 Eliminate trips
38Trip insertion method for drayage
Step 0 Initialize
Step 1 Search trip
- Iterate
- Continue until all trips are assigned to a route
Step 2 Insert trip
Step 3 Eliminate trips
39Lower bounds
- Solve column generation to completion linear
relaxation is a lower bound - Minimum trip scheduling, Bodin et. al, 2001
40Lower bounds (adapted from Bodin et al.)
- Find a lower bound on vehicles, M
- di min duration of i ? T
- L length of workday
- Place trips into at least M routes at minimum
cost z(PG) using a partial graph - Find lower bound on cost, LB
- Update M
- Resolve for z(PG)
41Build partial graph
Loaded trips
Build arcs between trips (i,j) if it is possible
to complete trip i and then trip j
TE
Bodin et al., 2000
42Partition trips into routes
M 3
TE
B set of arcs in partial graph Tij travel time
from i to j Yij 1 if arc is selected 0 o.w.
Bodin et al., 2000
43Include associated empty movements
Include time windows in determining feasible arcs
TE
44Include associated empty movements
visit one associated empty for drop and picks
45Chicago test cases
LAGRD
PRAPA
GENER
DESIB
ALDI
UP25
CSX/47
CSX/BP
NS/Lndrs
BNSF/WS
ACCU1
MENPL
MOPAC
CN/Hrvy
GEPLA
46Test case statistics
Test case
Empty trips
Lower bound rows columns
Upper bound (ave) rows columns
Loaded trips
2 s/w 4 d/p
1
14
22
228
10
10
8 s/w 22 d/p
2
94
106
8,537
52
49
12 s/w 38 d/p
3
426
178
146,851
88
79
47Test case results
Upper bounds
Lower bound
Test case
Cr route duration
Cr 1 (min. veh)
Cr combination
time
time
vehicles
vehicles
time
vehicles
time
vehicles
4
26.9
4
1
25.8
4
26.6
5
29.3
2
120.4
13
140.8
20
147.3
17
146.3
17
27
3
164.7
17
235.2
28
235.3
27
235.3
Time is in hours
48Randomized savings method
30-trip test case
49Summary
- Possible to transform drayage problem into a
pick-up and delivery problem - Simple savings heuristic works well
- Generates good routes
- Solution within 20 of lower bound for small
problems 40 for larger problems - Efficiencies are possible through coordination
- Need to study other solution methods
50Next steps
- Continued work on column generation
- Search for stronger lower bounds
- Add operating constraints as needed
- Collect data from additional sources
- Incorporate new data into the model