Upload
chloe-chapman
View
214
Download
0
Embed Size (px)
Citation preview
Solving the dispatching problem by MILP
MIMIC (Mixed Integer Maurizio Igor Carlo)
Carlo Mannino SINTEF ICT (Oslo), University of RomeMaurizio Boccia University of Sannio, Benevento
Igor Vasiliev (Russian Academy of Sciences, Irkutsk)
INFORMS RAILWAY COMPETITION 2012
Phoenix, 2012, October 14
Outline
1 The model: representing train movements and conflicts resolution
2 Reduce complexity: simplifying the network and conflicts representation
3 Casting into Mixed Integer Linear Program.
4 Computations
Modelling train movements
15 16 17 18 5 13 14 D
WANT: find a schedule t which minimize c(t) (complicated)
D
E
Train movements are represented by oriented path (routes) DW 16,15
Duv
Du
Dv Wtt
Dt15Dt16
Dt17
Dut time train D enters the segment starting at u
Dt18Dt5
Dt13Dt14
Conflicts
For every possible conflict decide which train goes first tD
14
D
E
No two trains can occupy simultaneously the same segment (conflict)
Conflict point: first or last point of a common segment
15 16 17 18 5 13 14
Dt15Dt16
Dt17Dt13
Dt18
D
E 14 13 19 18 17 16 15
Et16Et13
Et18Et17
Et15
Routes Graph
Modelling train movements
D
E
For every possible conflict point decide which train goes first 15 16 17 18 13 14
D
E
15 16 17 18 5 13 14
Dt15Dt16
Dt17Dt13
Dt18
D
E 14 13 19 18 17 16 15
Et16Et13
Et18Et17
Et15
ORDE tt 1313 ED tt 1313
ORDE tt 1818 ED tt 1818
ORDE tt 1515 ED tt 1515
disjunctive precendence constraint
The problem
Given:• set of networks N = {(T1, R1), …, (Tn, Rn)} • fading matrix [Atj]tT, jR
• frequency domain Ft, tR• revenue function u(C(p, f, s)) = u(p, f, s) of the coverage
• • • Sdsdsdfasdasa
Given• a rail network• a set of trains T and their current position• a cost function c
Find: • a routing for T a route for each train in T • and a schedule t a starting time ti
u for each train i and each segment uv in the route of i
So that: • no conflicts occur and c(t) is minimized
Real-time train dispatching problem
No conflicts: decide disjunction for each common segment
Typically we have too many routes, too many disjunctions.
Approaches to train dispatching
Lines with multiple tracks, sidings, cross-overs, stations: very complex.
Literature focused on sub-problems:
Singletrack (no station):
Afonso and Bispo 2011, Mladenovic and Cangalovic 2007, Romeiro de Jesus 2010, Sahin et al 2008, Sindaravalli et al 2010, Lamorgese and Mannino 2012,
Single (complcated) station (no connecting tracks)
Caimi 2009, Luethi et al 2006.
Limited regions, junctions
Mazzarello and Ottaviani 2005, Rodriguez 2005, Luethi et al. 2006, Mannino and Mascis 2009, Acuna-Agost et al 2010, Corman et al. 2010, Harrod 2011, Lusby et al 2011
Reducing complexity: routes
We neglect sidings
1 route substitutes 2k routes
We need to take into account that trains can use sidings to meet or pass each other
1 route
4 routes
Handling meet/pass events
S is represented in train routes by two nodes (inS and outS)
15 18 inS 22 26 A
outS 21
B15 18 outS 12inS 21 22
A and B meet (pass) in the siding section S if and only if:
A enters S before B leaves S AND B enters S before A leaves S
This can be expressed by two (standard) precedence constraints
siding section S
Bout
Ain tt A
outBin tt AND
Back to conflicts
D
C
B
A
Even if some fixing may help, it is crucial to reduce the number of disjunctions explicitly represented in the model.
tA1 tAa tA2 tAd tA5 tAg tA7 tAm tA8
tB1 tBa tB2 tBd tB5 tBg tB7 tBm tB8
tC5 tCa tC2 tCd tC1
tD8 tDm tD7 tDg tD5 tDd tD2 tDa tD1
Each potential conflict is represented by a disjunction
Limiting explicit disjunctions
15 16 17 18D
E
19 20 21 22 23 24 25 26
1 2 3 4 5 6 7 8 9 10 11 12
E enters 15 before D OR D enters 22 before E
15 18 S1 22 26 D
E
S2 21
15 18 S2 12 S1 21 22
OR
E
D
It suffices to consider only the extreme points of the common tracks
ORDE tt 1515 ED tt 2222
main 2
main 1
Modelling meet-pass events
15 16 17 18D
E
19 20 21 22 23 24 25 26
27 28
1 2 3 4 5 6 7 8 9 10 11 12
E enters 15 before D OR D and E meet at siding OR D enters 22 before E
15 18 inS 22 26 D
E
outS 21
15 18 outS 12inS 21 22
OR OR
E
D
With a siding then we have a trisjunctrion:
ORDE tt 1515 E
outDin tt OR
Dout
Ein tt ED tt 2222 AND
main 2
main 1
Mixed Integer Linear Programming
Our initial experiments ruled out time-indexed formulations (unsuitable for our real-time application)
We represent and solve the problem by using Mixed Integer Linear Programming
Sub-problems: 1. scheduling, 2. routing, 3. meet/pass decisions
Modelling scheduling
Two competing approaches (in the literature)
Time indexed:
- better bounds, many variables and constraints
Continuous :
- worse bounds, but “few” variables and constraints
1istq If train i enters segment s at time t
Rt is the time train i enters segment s
Modelling Routing
Dantzig-Wolfe
otherwise
riify ir
route uses train
0
1
Tiyr
ir 1
Exactly one route assigned to each train
Reformulation
multi-commodity
Modelling Routing: two classical approaches
The feasible routes are then the solutions to a (multi-commodity flow) system of linear equations:
bAz
otherwise
uviifz iuv
segment uses train
0
1
Meet-pass decision variables
The candidate meet-pass points Pij are either extremes of common tracks or siding sections
15 18 S1 22 26 D
E
S2 21
15 18 S2 12 S1 21 22
OR OR
E
D
otherwise
pjiifxijp
at meet/pass , trains
0
1
If i, j meet/pass at p, a set Ap of precedence constraints holds
p
ijpx 1
i and j must meet
pjiijij
pju
iv AvuPpxMtt ),(, )1(
Back to the problem
There are many more though minor constraints to take into account
Let alone the objective function, which is very complicated and
needs additional mixed integer variables and constraints
The MILPs arising from the instances were too large to be solved to
optimality (using CPLEX)
We resort to use the MILPs as building blocks in heuristics
The algorithm
Two heuristic strategies:
1. Limit “number of trains” (Fixed Trains Heuristic)
Solve a sequence of instances with growing sets of trains T0
T1 … T
Each obtained by adding k trains to the previous set
Routing and meeting variables for trains in Tp are fixed when solving the instance relative to Tp+1
2. Limit "number of routings“ (Fixed Routes Heuristic)
Choose in advance some most promising routes for each train
We have route generation mechanisms
12 tr. Fixed Routes Fixed Trains 1-1 Fixed Trains 2-2 Fixed Trains 6-2
3 min 15 min Path form. Arc form. Path form. Arc form. Path form. Arc form.
ObjVal 842,2 - 919,7 919,7 919,7 919,7 919,7 919,9
Time 31,0 - 23,0 504,1 45,4 1086,8 217,7 2182,7
18 tr. Fixed Routes Fixed Trains 1-1 Fixed Trains 2-2 Fixed Trains 6-2
3 min 15 min Path form. Arc form. Path form. Arc form. Path form. Arc form.
ObjVal 8522,1 4249,8 2883,6 2883,6 2787,4 2883,6 2787,4 -
Time 180 900 71,8 890,3 323,8 2827,6 1290,2 -
20 tr. Fixed Routes Fixed Trains 1-1 Fixed Trains 2-2 Fixed Trains 6-2
3 min 15 min Path form. Arc form. Path form. Arc form. Path form. Arc form.
ObjVal 9516,6 7845,7 8826,9 8826,9 8827,7 8948.13 - -
Time 180 900 68,6 1063,7 393,0 3165,5 - -
Results
The fixed routes needs more time
Path and arc formulations. Have similar results in terms of cost
Path formulation 10-20 times faster than arc
Path formulation finds satisfactory solutions within time limit.