18
Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University of Sannio, Benevento Igor Vasiliev (Russian Academy of Sciences, Irkutsk) INFORMS RAILWAY COMPETITION 2012 Phoenix, 2012, October 14

Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

Embed Size (px)

Citation preview

Page 1: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 2: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 3: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 4: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 5: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 6: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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.

Page 7: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 8: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 9: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 10: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 11: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 12: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 13: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 14: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 15: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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(

Page 16: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Carlo
This is even more suprising if you think that there is an increasing need to improve the performances of the running trains.
Page 17: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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

Page 18: Solving the dispatching problem by MILP MIMIC (Mixed Integer Maurizio Igor Carlo) Carlo Mannino SINTEF ICT (Oslo), University of Rome Maurizio Boccia University

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.