Title: Solving VeryLarge Scale Multicommodity Flow Network Design Problems
1Solving Very-Large Scale Multicommodity Flow
Network Design Problems
- Ravindra K. Ahuja
- Professor and Co-Director, Supply Chain and
Logistics Engineering (SCALE) Center - ISE Department, University of Florida,
Gainesville, FL 32611 - ahuja_at_ufl.edu www.ise.ufl.edu/ahuja
2Problem Description
- Given
- A set of shipments with different
origins/destinations - Determine
- Design the network and route all shipments over
the blocking network - Constraints
- Maximum number of arcs we can build at each node
- Volume of cars passing through each node is
limited - Some additional practical constraints
- Objective Function
- Minimize the weighted sum of distance traveled by
shipments and their intermediate handlings
3An Illustrative Example
4Airline Schedule Design Problem
Seattle
Washington
Pullman
Salt Lake City
Arlington
Atlanta
Daytona
Austin
Dallas
Jacksonville
Orlando
Gainesville
Houston
Design the flight network and route all
passengers in it to minimize the weighted sum of
travel times and transfers.
5Package Delivery Problem
Origins
Destinations
Sorting Stations
6Railroad Blocking Problem
Origins
Destinations
Yards
Blocking Arcs
7An Integer Programming Fotrmulation
Minimize ?k?K ?(i,j)?A mij ?i?N
?k?K ?(i,j)?O(i) hi 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
8Typical Size of the Blocking Problem
- A sample network size
- Number of origins 1,000
- Number of destinations 2,000
- Number of switching yards 300
- Number of shipments 50,000
- Number of blocking design variables
- 1,000300 300300 3002,000 1 million
- Number of shipment flow variables
- over a billion
9Typical Costs Involved
- Cost of routing
- of cars per yearaverage car distance
traveledcost per mile per car - 6 million cars 500 miles 0.5 1,500
million - Cost of handlings
- of cars per yearaverage car handlingscost
per handling per car - 6 million cars 2.5 40 600 million
- Cost of flow 2.1 billion
10Difficulty of the Design Problem
- Very large-scale optimization problem.
- Very difficult from mathematical point of view.
- Incorporating practical considerations makes the
problem even more difficult. - Reasonable running times.
- There is no existing algorithm that can solve
this problem satisfactorily and hence there is a
lot of room for improvement.
11Our Contributions
- We have developed a very effective algorithm to
solve this problem to near-optimality. - We have tested our algorithm on the data supplied
by two railroad companies and found highly
impressive improvements in costs. - The algorithm can easily incorporate a variety of
practical constraints necessary for
implementation. - Our algorithm is based on VLSN search.
12Neighborhood Search Algorithms
- Start with a feasible solution x
- Define a neighborhood of x
- Identify an improved neighbor y
- Replace x by y and repeat
Neighborhood of x1
Neighborhood of x2
Neighborhood of xk
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
..
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x1
x3
x2
xk
13Very Large-Scale Neighborhood (VLSN) Search
- Neighborhoods with extremely large number of
neighbors. - Do not explicitly enumerate all the neighbors.
- Use network or discrete optimization algorithms
to find improved neighbors (may be heuristically).
14A Simplification
- Ignore the node flow and arc flow capacities.
- All shipments follow the shortest paths.
15Our Approach
- Start with a feasible solution of the blocking
problem. - We use a simple heuristic to construct such a
solution. - Improve the solution repeatedly until the
solution cannot be improved any more. - We use a sophisticated method to improve the
solution. - Shipments always follow the shortest route in the
blocking network. - We ignore the node flow capacity and arc flow
capacity constraints.
16Improving a Solution
- We improve the blocking solution one node at a
time by building the best blocks at that node
(and keeping blocks at other nodes intact).
- This is a very large-scale neighborhood (VLSN)
search algorithm.
17Improving a Solution Step 1
- First Step
- Select a node to rebuild blocks.
- Delete all blocking arcs emanating from this
node. - Reroute the traffic passing through this node
along new shortest paths.
18Improving a Solution Step 2
- Second Step
- Build a new blocking arc at this node which
causes maximum savings in the total cost when
shipments are allowed to pass through this arc. - Build more arcs one by one until either the
blocking capacity is met or adding arcs does not
reduce the cost.
19Improving a Solution Step 3
- Third Step
- Consider each node in the network one by one and
rebuild blocking arcs at that node using the
maximum savings approach. - This completes one pass of the algorithm.
20Improving a Solution Step 4
- Fourth Step
- Perform another pass over the nodes in the
blocking network and rebuild arcs using the
maximum savings approach. - Keep on performing passes over the nodes and
rebuilding blocking arcs until the blocking
solution converges. - We found that the solution converges in 10
passes. - Why do we need to perform multiple passes over
the nodes?
21Why Multiple Passes?
- When rebuilding blocks at a node, say node k, we
assume some blocks at other nodes. But blocks at
those nodes may change subsequently which might
change the best blocks at node k.
22Handling Flow Capacities
- Recall that we ignored the two capacity
constraints - Capacity on volume passing through each node
- Capacity of each blocking arc
- We incorporate these constraints using Lagrangian
relaxation. - We put penalty for the violated nodes and arcs so
that the flow is rerouted.
23Convergence of the Algorithm
24Convergence of the Algorithm (contd.)
25Sensitivity to the Starting Solution
26Critical Issue Speed
- Typically, we rebuild blocks at over 30,000
nodes. - Each rebuilding requires updating shortest routes
in the blocking network. - Check each shipment (up to 50,000 such shipments)
and determine whether it needs to be rerouted to
take advantage of the new blocking arc and, if
yes, reroute it. - We rebuild blocks at a node in an average of .01
to .05 seconds.
27How do we get this speed?
- Good network reoptimization algorithms
- Clever speed-up techniques
- Sophisticated data structures
- Efficient coding
- Our C code has over 500,000 lines.
28Computational Results - I
- We have tested our algorithm on the data provided
by the three major railroads - CSX Transportation
- BNSF Railway
29One Problem
- Blocks are carried by trains and a block goes
from one train to another (called, block swap) as
it goes from its origin to destination.
Atlanta
Boston
New York
- We can build only those blocks which require no
more than two block swaps.
30Computational Results - II
31Another Problem
- 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.
32Incremental Changes for CSX
33Results for BNSF
34Tradeoff between Two Costs
- Tradeoff between intermediate handlings and car
miles traveled.
35Quality of the Solution
- It is very difficult to determine how far is our
solution from the optimal solution. - We are developing combinatorial lower bounding
algorithms for this problem (Ahuja and Sahin
2003). - We conjecture that our solutions are within 2-3
of the optimal solutions.
36Additional Practical Constraints
- Some blocks must be made.
- Some blocks must NOT be made
- Some shipments must be sent on some pre-specified
blocking routes.
37Additional Practical Constraints
- Some blocks may be given preference.
- This feature is useful to ensure that the
blocking solution in one month is not much
different than the solution in the previous
month. - Small volume blocks can be avoided.
- This is a difficult constraint and comes at a
certain cost.
38Additional Features (contd.)
- Optimize only blocks at certain nodes.
- Optimize only a corridor of the railroad network.
- Do sensitivity analysis to determine the
- Effect of increasing blocking capacities at some
nodes - Effect of increasing car handing capacities at
some nodes - Effect of closing some yards
39Railroad Scheduling Process
Schedule Generation
Train Scheduling
Block-to-Train Assignment
Locomotive Scheduling
Crew Scheduling
40Additional Railroad Research
- Algorithms for solving the locomotive scheduling
problem. - Algorithms for solving the block-to-train
assignment problem. - Algorithms for incrementally changing the train
schedule integrated with the block-to-train
assignment. - Algorithms for the meet-pass planning problem.
41Collaborators
- Jian Liu, Krishna C. Jha, and Guvenc Sahin
- ISE Department, University of Florida,
- Gainesville, FL 32611
- Dharma Acharya
- CSX Transportation, Jacksonville, FL
- Pooja Dewan
- BNSF Railway, Fort Worth, TX
42