Title: Solving RealLife Railroad Blocking Problems
1ESI 6912 Section 6129 (Spring 08)Advanced
Network Optimization
- Solving Real-Life Railroad Blocking Problems
Ravindra K. Ahuja Professor, Industrial Systems
Engg. University of Florida, Gainesville, FL
ahuja_at_ufl.edu (352) 870-8401 www.ise.ufl.edu/ahuja
2Reference
- This presentation is based on the following
paper - R.K. Ahuja, K.C. Jha, and J. Liu
- Solving Real-Life Railroad blocking Problems
- To appear in Interfaces, 2007.
- This paper won INFORMS 2006 Daniel Wagner Prize
for Excellence in Operations Research.
3Presentation Outline
- The Railroad Blocking Problem
-
- The VLSN Search Algorithm
-
- Case Studies
4Railroad Planning Process
Railroad Blocking
Service Design
Train Scheduling
Car Routing
Locomotive Scheduling
Crew Scheduling
5Railroad Blocking Problem
- Railroad blocking problem is essentially a
consolidation problem, which is similar to that
encountered in postal service design.
Gainesville
- A railroad block is like a mailbag in the postal
service context.
6Additional Application Areas
- Airline Service Design
- Trucking Service Design
- Package Delivery Network Service Design
- Ship Network Service Design
7Role of Yards in Railroads
- Railroad yards act as hubs where cars change
trains.
8The Railroad Blocking Problem
Destinations
Origins
3,000 nodes
300 nodes
3,000 nodes
9The Railroad Blocking Model
Railroad Blocking Model
Network
Blocks
Shipment Block Assignments
Shipments
- Constraints
- Maximum number of blocks that can be build at a
node is limited. - Maximum volume of shipments passing through a
node is limited.
- Objective Function
- Distances traveled by shipments
- Intermediate handlings of shipments
10Integer Programming Formulation
Minimize ?k?K ?(i,j)?A mij ?i?N
?k?K ?(i,j)?O(i) hiyij Subject
to ?(i,j)?O(i) - ?(j,i)?I(i)
for all k ? K ?k?K
uijyij
for all (i, j) ? A
?(i,j)?O(i) yij bi
for all i ? N ?k?K
?(i,j)?I(i) di
for all i ? N yij 0 or
1 and 0 or vk
11Blocking Problem for a US Railroad
- Multi-commodity flow network design and routing
problem - 3,000 nodes
- 50,000 commodities
- Over a million 0-1 network design variables
- Hundreds of billions of integer flow variables
- Substantial amount of costs involved
- Cost of flow 1,000 - 2,000 million
- Cost of handling 500 - 1,000 million
- Currently solved manually.
12Literature Survey
- ABM (Algorithmic Blocking Model) by Carl Van Dyke
1986, 1988 - Keaton 1989, 1992
- Newton, Barnhart and Vance 1998
- Barnhart and Vance 2000
- The railroad blocking problem remained an
unsolved problem until recently.
13Presentation Outline
- The Railroad Blocking Problem
- The VLSN Search Algorithm
- Case Studies
14A VLSN Search Algorithm
- We have developed a Very Large-Scale Neighborhood
(VLSN) Search Algorithm to solve the blocking
problem. - Funded by National Science Foundation.
- Basic idea
- Use a simple heuristic to determine the initial
blocking plan. - Use a very large-scale neighborhood (VLSN) search
algorithm to improve the blocking plan. - Keep improving the plan until it stops improving.
15Neighborhood Search Algorithms
- Start with a feasible solution x
- Define a neighborhood of x
- Identify an improved neighbor y
- Replace x by y and repeat
VLSN Search Algorithm Size of the neighborhood
is very-very large.
..
16Two Types of Decisions
- Design variables
- Which blocks to build
- Flow Variables
- How to route flows on blocks that have been built
- A Major Assumption
- All flow is routed on the shortest paths
- Any problems with this assumption?
- With this assumption, shortest paths play a very
important role in solving the blocking problem.
17Overview of the VLSN Search Algorithm
8
1
5
9
2
7
10
3
6
11
4
- We reoptimize blocks at one node at a time
assuming that blocks do not change at other
nodes. - We reoptimize all nodes one-by-one and keep
performing passes over the nodes until the
solution terminates to a local optimal solution.
18Finding Improved Neighbors
- First Step
- Select a node and delete all arcs incident on it
- Reroute the traffic.
19Finding Improved Neighbors (contd.)
- Second Step
- Build arcs one by one with the largest savings.
- How to compute the potential savings for an arc?
- Reroute all the shipments to compute the savings
of an arc.
To compute the savings of an arc, we assess the
savings in the total cost when a block is added.
We do it by solving an all-pairs shortest path
problem after a blocking arc is added.
20Finding Improved Neighbors (contd.)
- Third Step
- Reoptimize all nodes one by one.
- Fourth Step
- Perform passes over the nodes until the solution
is locally optimal.
21Convergence of the Algorithm
car miles vs. the number of passes
1050
1030
1010
990
970
Car Miles
950
930
910
890
870
0
1
2
3
4
5
6
7
8
9
10
Pass No
Very fast convergence for car miles.
22Convergence of the Algorithm (contd.)
car handlings vs. the number of passes
1.1
1.05
1
0.95
Car Handlings
0.9
0.85
0.8
0
1
2
3
4
5
6
7
8
9
10
Pass No
Very fast convergence for car handlings.
23Sensitivity to the Starting Solution
Average Handlings per Car
1
0.95
0.9
0.85
0.8
Handles/Car
0.75
0.7
0.65
0.6
0.55
0.5
0
1
2
3
4
5
6
7
8
9
10
11
Pass No.
Final solution is rather insensitive to the
starting solution.
24Critical Issue Speed
- In the course of solving the blocking problem, we
solve numerous shortest path problems. Thus, it
is very important that shortest path problems are
solved very efficiently. - Size of the shortest path problem
- 3,000 x 3,000 9 million shortest path values.
- It is very time-consuming to update these many
shortest path values. - We take advantage of the hub-spoke configuration
of the blocking network.
25Additional Features
- Block restrictions
- Some blocks must not be made.
- Block fixing
- Some blocks must be made.
- Block preferences
- Give preference to some blocks.
- Shipment-block path fixing
- Some shipment block sequences must be fixed.
26Solving Shortest Paths Efficiently
- Homework Exercise How to solve the shortest path
problem efficiently for the hub and spoke
configurations?
Yards
Origins
Destinations
27Updating Shortest Paths Efficiently
- How to update all pairs shortest path values when
an arc is deleted? - How to update all pairs shortest path values when
an arc is added?
28Incremental Blocking
- Given an existing blocking plan, change it by a
specified amount and determine a revised blocking
plan. Example - Make 10 new blocks
- Delete 10 or more existing blocks
- Motivation
- Railroads are not willing to change their
blocking plans completely. - They want to change their plans incrementally,
little by little and get benefits from
incremental changes. - This strategy is more implementable and involves
less risk.
29Train-Friendly Blocking
- Given a train schedule, make only those blocks
that require no more than K block swaps. - We can set K 0, 1, or 2
New York
Atlanta
Boston
30Preferential Blocking
- Railroads may already be making some blocks and
want to give preference to the bocks they are
currently making. - How to give preferences to some blocks?
31Presentation Outline
- The Railroad Blocking Problem
- The VLSN Search Algorithm
- Case Studies
32Computational Results
- We have performed several case studies on the
data provided by several US Class I railroads. - We performed three types of types
- Clean-slate blocking
- Incremental blocking
- Incremental train-friendly blocking
33Clean-Slate Blocking Results
- Conclusion Significant reduction in intermediate
handlings through better blocking plans. - Savings gt 10 million annually
34Incremental Blocking Results
- Conclusion Even small changes in the blocking
plan can have significant impact on intermediate
handlings.
35Incremental Train-Friendly Blocking Results
- Conclusion Train-friendly blocking is almost as
good as the unrestricted blocking.
36Homework 2
- How to solve shortest path problem efficiently in
the presence of hub and spoke configuration? - How to update all pairs shortest path values when
an arc is deleted? - How to update all pairs shortest path values when
an arc is added? - How to do incremental blocking?
- How to do train-friendly blocking?
- How to do preferential blocking?