PPT2

Times are discretized and
expressed as integers from 1 to
1440 (minutes in a day).
S  {1,..., s}
T  {1,..., t}
set of stations
set of trains
S j  { f j ,..., l j }
set of stations visited by train j
The timetable indicates the ideal
departure time from f j , the ideal
arrival time at l j and the ideal
arrival and departure times for each
intermediate station f j  1,..., l j  1 .
Each train j is also assigned an ideal
profit  j depending on the type of the
train (eurostar, freight, etc).
If the train is shifted and/or stretched the
profit is decreased.
If the profit becomes null or negative the
train is cancelled.
 j   j  j    j  j
 j shift
 j stretch (i.e. sum of the
stretches in all stations)
The objective is to maximize the overall
profit of the (scheduled) trains.
A graph formulation
(Time-Space Graph)
G=(V,A) directed acyclic graph
V set of nodes:
{ , }  (U  ...  U )  (W  ...  W
2
U
i
W
i
s
1
)
Arrival nodes at station i
Departure nodes from station i
A set of arcs:
A  ... A  ...  A , j  T
1
s 1
j
Two types of arcs:
Segment arcs
Station arcs
t
station

Train j
dep_node_1
fj
segment_arc_1
arr_node_2
station_arc_2
dep_node_2
segment_arc_2
arr_node_3
station_arc_3
dep_node_3
segment_arc_3
arr_node_4
lj

time
Departure Constraints:
dep_1
dep_2
stat 1
stat 2
Arrival Constraints:
stat 1
stat 2
arr_1
arr_2
Overtaking Constraints:
stat 1
stat 2
Timetable for train j
Overall timetable


“Feasible” path
from  to 
j
using arcs in A
Set of “feasible”
paths, at most one
path for each train.
notation
V
j
W
i
U
i
Pj
Set of nodes belonging to train j
Set of departure nodes from station i
Set of arrival nodes to station i
Set of feasible paths for train
P  P1 ...  Pt
p
P
Set of feasible paths
for all the trains
Actual profit for path
pP
u Set of paths that visit node u,
u
j
P
j T
u U , i  S
i
Set of paths belonging to train j,
that visit node u
j  T , u U , i  S
i
For each train
Profit of a path
j T
p  Pj :  p    a
a p
a
= profit of arc a:
 j   j ( )
0
 j
for the first arc
leaving 
corresponding to shift

for the segment arcs
for station arcs corresponding
to stretch 
MODEL B
Pj
Set of feasible paths for train
P  P1 ...  Pt
j T
Set of feasible paths
for all the trains
We introduce a binary variable for
each feasible path for a train.
x p  0,1
pP
xp  1
path p in the solution
xp  0
otherwise
max   p x p
pP
x
pPj
p
j T
 1,

x

x
p
 1,
wW i :w1 w w1  d pP w
uU i :u1 u u1  a pP u


p
i  S \ s, w1 W i
 1,
i  S \ 1, u1 U i
x
jT wW i V j :w1j w w2j pPjw
p
 1,
i  S \ s, w1j W i ,
w2j  g j (w11 ,..., w1t ), j  T
x p  0,1, p  P
Solution method:
branch-and-cut-andprice
constructive heuristics
The solution method uses the
LP-relaxation for:
obtaining an upper bound on
the optimum solution value
suggesting good choices in the
construction of the solution.
LP-relaxation
is solved using
column generation
and
constraint separation
as the number of variables and
constraints is huge for realworld instances.
Column generation
Add variables with
positive reduced profits.
Reduced profit of path p in
   
a p
v 
a
v p
Pj
v
Sum of dual variables of
j
constraints involving node v  V
For each train, find the maximum
profit path in an acyclic graph.
Constraint separation
Add constraints violated by the
current solution.
departure/arrival constraints
overtaking constraints
Departure/arrival constraint
separation
For each station, sum the values of
the variables corresponding to
paths that visit nodes in each
window smaller than minimum time
interval between 2 departures
(analogously for arrivals).
minimum time interval
between 2 departures
Overtaking constraint
separation
(overtaking between 2 trains j,k)
For each
i  S,
j
i
j
w

W

V
for each 1
k
i
k
w

W

V
and 1
let :
w2j  g j ( w1k )  max{ w1k  d i , w1k  t k  ai 1  t j }
w2k analogous
sum the values of the variables of train j in
j
j
the window: w1 ,..., w2  1
sum the values of the variables of train k
k
k
in the window: w1 ,..., w2  1
i
i 1
j
1
w
k
1
w
j
2
w
k
2
w
Overtaking constraint
separation
(overtaking among 2 or more
trains)
Exact method (dynamic programming).
Order paths by decreasing
speed.
Clique: set of incompatible
paths.
Status: b,c.
u
b
c
u  di  1  b
c  z  ai 1  1
z