Track Allocation and Path Configurations

Transcription

Track Allocation and Path Configurations
Freie Universität
Berlin
Track Allocation and Path Configurations
Ralf Borndörfer
2015 Workshop on
Combinatorial Optimization with Applications in
Transportation and Logistics
Beijing, 29.07.2015
Track Allocation and Path Configurations | CO∈TL 2015
1
Freie Universität
Berlin
Track Allocation:
Block Occupation
Track Allocation and Path Configurations | CO∈TL 2015
4
Track Allocation (Train Timetabling) Problem
Freie Universität


















Berlin
Charnes and Miller (1956), Szpigel (1973), Jovanovic and Harker
(1991),
Cai and Goh (1994), Schrijver and Steenbeck (1994), Carey and
Lockwood (1995)
Nachtigall and Voget (1996), Odijk (1996) Higgings, Kozan and
Ferreira (1997)
Brannlund, Lindberg, Nou, Nilsson (1998), Lindner (2000),
Oliveira and Smith (2000)
Caprara, Fischetti and Toth (2002), Peeters (2003)
Kroon and Peeters (2003), Mistry and Kwan (2004)
Barber, Salido, Ingolotti, Abril, Lova, Tormas (2004)
Semet and Schoenauer (2005),
Caprara, Monaci, Toth and Guida (2005)
Kroon, Dekker and Vromans (2005),
Vansteenwegen and Van Oudheusden (2006), Liebchen (2006)
Cacchiani, Caprara, T. (2006), Cachhiani (2007)
Caprara, Kroon, Monaci, Peeters, Toth (2006)
Borndoerfer, Schlechte (2005, 2007, 2009, 2010, 2011,
2012), Caimi G., Fuchsberger M., Laumanns M., Schüpbach K.
(2007)
Fischer, Helmberg, Janßen, Krostitz (2008, 2011)
Lusby, Larsen, Ehrgott, Ryan (2009)
Caimi (2009), Klabes (2010)
...
Track Allocation and Path Configurations | CO∈TL 2015
5
Track Allocation (= Routes in Space-Time)
Railway Network + Trains
Track Allocation and Path Configurations | CO∈TL 2015
Freie Universität
Berlin
Train Routes + Timetable
6
Integrated Train Routing and Scheduling
Routing: Flow
Track Allocation and Path Configurations | CO∈TL 2015
Freie Universität
Berlin
Scheduling: Headway constraints
7
Block Occupation Conflict
Track Allocation and Path Configurations | CO∈TL 2015
Freie Universität
Berlin
8
Track Allocation Problem
Freie Universität
Berlin
…
 Train Path Packing Problem
Track Allocation and Path Configurations | CO∈TL 2015
9
Multicommodity Flow + Arc Packing Model
Freie Universität
Berlin
 Block occupation
conflict graph
(here: interval
graph, perfect)
 Conflict cliques
 Local for each block
 Packing constraints
= local constraints
Track Allocation and Path Configurations | CO∈TL 2015
10
Arc Packing Model
(APP)
(i)
(ii)
(iii)
Freie Universität
Berlin
max  cai xai
iI aA
i
i
a
a


a i ( v )
a i ( v )
i
a
( a ,i )k
i
a

x

 i (v )
v  V , i  I
Trains
x

1
k  K
Conflicts
x

{0,1}
a  A, i  I
Integ.
x 
Theorem (Lukac [2004]):
Let H be a quadrangle-linear headway matrix for train types Y, i.e.,
𝐻 𝑖, 𝑗 + 𝐻 𝑗, 𝑘 ≥ 𝐻 𝑖, 𝑘 + 𝐻(𝑗, 𝑗) ∀𝑖, 𝑗, 𝑘.
Then all maximal cliques in 𝐺𝐻 are of the form
𝑖 × [𝑡𝑖 , 𝑡𝑖 + 𝐻 𝑖, 𝑖 − 1] ,
𝑖∈𝑌
if after setting 𝑡𝑖0 = 0 for some 𝑖0 ∈ 𝑌 the following holds for any different 𝑖, 𝑗:
𝐻 𝑖, 𝑖 − 𝐻 𝑗, 𝑖 ≤ 𝑡𝑗 − 𝑡𝑖 ≤ 𝐻 𝑖, 𝑗 − 𝐻(𝑗, 𝑗).
Track Allocation and Path Configurations | CO∈TL 2015
11
Arc Packing Model
(APP)
(i)
(ii)
(iii)
Freie Universität
Berlin
max  cai xai
iI aA
i
i
a
a


a i ( v )
a i ( v )
i
a
( a ,i )k
i
a

x

 i (v )
v  V , i  I
Trains
x

1
k  K
Conflicts
x

{0,1}
a  A, i  I
Integ.
x 
Track Allocation and Path Configurations | CO∈TL 2015
12
Block Occupation Configurations
(B., Schlechte [2007])
Track Allocation and Path Configurations | CO∈TL 2015
Freie Universität
Berlin
13
Arc Packing and Arc Configuration Model
(APP)
(i)
(ii)
(iii)
(ACP)
(i)
(ii)
Freie Universität
Berlin
max  cai xai
iI a A
i
i
a
a


a i ( v )
a i ( v )
i
a
( a ,i )k
i
a

x

 i (v )
v  V , i  I
Trains
x

1
k  K
Conflicts
x

{0,1}
a  A, i  I
Integ.
x 
max   cai xai
iI a A
i
i
x

x

 a
a
a i ( v )
a i ( v )

 i (v )
v  V , i  I
Trains
 yq

1
j  J
Configs
 yq

xai
a  A, i  I
Coupling
yq


{0,1}
{0,1}
a  A, i  I
q  Q
Integ.
Integ.
qQ j
(iii)
(iv)
(v)
aqQ
xai
Track Allocation and Path Configurations | CO∈TL 2015
14
Arc Packing and Configuration Model
(APP)
(i)
(ii)
(iii)
(ACP)
(i)
(ii)
Freie Universität
Berlin
max  cai xai
iI a A
i
i
a
a


a i ( v )
a i ( v )
i
a
( a ,i )k
i
a

x

 i (v )
v  V , i  I
Trains
x

1
k  K
Conflicts
x

{0,1}
a  A, i  I
Integ.
x 
max   cai xai
iI a A
i
i
x

x

 a
a
a i ( v )
a i ( v )

 i (v )
v  V , i  I
Trains
 yq

1
j  J
Configs
 yq

 xai
a  A
Coupling
yq


{0,1}
{0,1}
a  A, i  I
q  Q
Integ.
Integ.
qQ j
(iii)
(iv)
(v)
aqQ
xai
Track Allocation and Path Configurations | CO∈TL 2015
iI
15
Arc Packing and Path Configuration Model
(APP)
(i)
(ii)
(iii)
(PCP)
Freie Universität
Berlin
max  cai xai
iI a A
i
i
a
a


a i ( v )
a i ( v )
i
a
( a ,i )k
i
a

x

 i (v )
v  V , i  I
Trains
x

1
k  K
Conflicts
x

{0,1}
a  A, i  I
Integ.
x 
max  
 cai x p
iI pPi a p
(i)
 xp

1
i  I
Trains
 yq

1
j  J
Configs

0
a  A
Coupling
pPi
(ii)
qQ j
(iii)
 xp 
a pP
 yq
aqQ
(iv)
xp

{0,1}
p  P
Nonneg.
(v)
yq

{0,1}
q  Q
Nonneg.
Track Allocation and Path Configurations | CO∈TL 2015
16
Model Comparison
Freie Universität
Berlin
Theorem (B., Schlechte
[2007]):
vIP(PCP) = vIP(ACP)
ACP
PCP
APP
PPP
= vIP (APP) = vIP(PPP)
= vIP(APP')
and
vLP(PCP) = vLP(ACP)
 vLP (APP) = vLP(PPP)
 vLP(APP').
Track Allocation and Path Configurations | CO∈TL 2015
APP'
17
Column Generation Algorithm
Freie Universität
Berlin
begin
Solve Integer Program
No
Compute
Solve
duals
Generate Generate Linear
Program
paths
configs
stop?
Yes
No
All fixed?
Fix variables
Yes
end
Track Allocation and Path Configurations | CO∈TL 2015
18
Configuration Pricing = Shortest Path Problem
(B., Schlechte [2007])
Track Allocation and Path Configurations | CO∈TL 2015
Freie Universität
Berlin
19
Configuration Pricing = Shortest Path Problem
Freie Universität
Track Allocation and Path Configurations | CO∈TL 2015
Berlin
20
Configuration LP
(PLP) max
 c
x
y
iI
(i)
Freie Universität
pPi a p
i
a
xp
p
 1 i  I
q
 1 j  J
pPi
(ii)
qQ j
(iii)
x
a pP
(iv)
(v)
(iii)
aqQ
q
i
j
i
a p
aq
Trains
( γi )
Configs (π j )
 0 a  A Coupling (a )
 0 p  P Nonneg.
 0 q  Q Nonneg.
  
  
  
iI
(ii)
y
xp
yq
(DUA) min
(i)

p
Berlin
jJ
j
i
c
 a
a

a

0

0
 , , 
Track Allocation and Path Configurations | CO∈TL 2015
a p
p  Pi , i  I
Paths
q  Q j , j  J Configs
21
Configuration Pricing = Shortest Path Problem
Freie Universität
  
  
  
(DUA) min
iI
(i)
(ii)
(iii)
i
j
i
a p
aq
jJ
Berlin
j
i
c
 a
a

a

0

0
 , , 
a p
p  Pi , i  I
Paths
q  Q j , j  J Configs
Prop. (B., Schlechte [2007]):
Config pricing is an acyclic shortest
path problem with arc weights
ca = a,
that can be solved in polynomial
time.
Track Allocation and Path Configurations | CO∈TL 2015
22
Path Pricing = Shortest Path Problem
  
  
  
(DUA) min
iI
(i)
(ii)
(iii)
i
j
i
a p
aq
jJ
Freie Universität
Berlin
j
i
c
 a
a

a

0

0
 , , 
a p
p  Pi , i  I
Paths
q  Q j , j  J Configs
Prop. (B., Schlechte [2007]):
Route pricing is an acyclic shortest
path problem with arc weights
𝑐𝑎 = −𝑐𝑎 + 𝜆𝑎 ,
that can be solved in polynomial
time.
Track Allocation and Path Configurations | CO∈TL 2015
23
Model Comparison
Freie Universität
Berlin
Theorem (B., Schlechte
[2007]):
vIP(PCP) = vIP(ACP)
ACP
PCP
APP
PPP
= vIP (APP) = vIP(PPP)
= vIP(APP')
and
vLP(PCP) = vLP(ACP)
 vLP (APP) = vLP(PPP)
 vLP(APP').
vLP(PCP) and vLP(ACP) can be
APP'
computed in polynomial time.
Track Allocation and Path Configurations | CO∈TL 2015
24
A Dual Bound
Freie Universität
  
  
  
(DUA) min
iI
(i)
i
(ii)
j
i
a p
aq
jJ
j
i
c
 a
a

a

0

0
 , , 
(iii)
Berlin
a p
p  Pi , i  I
Paths
q  Q j , j  J Configs
i  max  (cai  a )   i  i   i   (cai  a ) i  I , p  Pi
(γi )
pPi
a p
qQ j
aq
 j  max  a   j
a p
  j   j   a j  J , q  Q j
a p
Prop. (B., Schlechte [2007]): ([+]+,[+]+,) is dual
feasible for PLP and
(, , )= [+]+i+  [+]+j
is an upper bound on v(PLP).
Track Allocation and Path Configurations | CO∈TL 2015
25
Solving the LP-Relaxation
Track Allocation and Path Configurations | CO∈TL 2015
Freie Universität
Berlin
26
Rapid Branching & Track Allocation
(B., Schlechte, Weider, Reuther [2013])

Freie Universität
Berlin
HaKaFu, req32, 1140 requests, 30 mins time windows
Track Allocation and Path Configurations | CO∈TL 2015
27
Packing vs. Configuration Model
( Schlechte [2011])
Freie Universität
Berlin
 Scenario REQ_36 from ttplib.zib.de (Packing , Config )
Track Allocation and Path Configurations | CO∈TL 2015
28
Track Allocation and Train Timetabling
Article
Freie Universität
Berlin
Stations
Tracks
Trains
Modell/Approach
6
5
10
Packing/Enumeration
17
16
26
Packing/ Lagrange, BAB
74 (17)
73 (16)
54 (221)
Packing/ Lagrange, BAB
37
120
570
Config/PAB
Caprara et al. [2007]
102 (16)
103 (17)
16 (221)
Packing/PAB
Fischer et al. [2008]
656 (104)
1210 (193) 117 (251)
Packing/Bundle, IP Rounding
Szpigel [1973]
Brännlund et al. [1998]
Caprara et al. [2002]
B. & Schlechte [2007]
Lusby et al. [2008]
B. & Schlechte [2010]
???
524
66 (31)
Packing/BAP
37
120
>1.000
Config/Rapid Branching
 BAB: Branch-and-Bound
 PAB: Price-and-Branch
Track Allocation and Path Configurations | CO∈TL 2015
 BAP: Branch-and-Price
29
Thank you for your attention
Freie Universität
Berlin
Ralf Borndörfer
Freie Universität Berlin
Zuse-Institute Berlin
Takustr. 7
14195 Berlin-Dahlem
Fon (+49 30) 84185-243
Fax (+49 30) 84185-269
[email protected]
www.zib.de/borndoerfer
Track Allocation and Path Configurations | CO∈TL 2015 (Photo courtesy of DB Mobility Logistics AG)
51