times are discretized and expressed as integers from 1 to 1440 (minutes in a day). set of stations...
DESCRIPTION
A graph formulation (Time-Space Graph) G=(V,A) directed acyclic graph V set of nodes: A set of arcs: Arrival nodes at station i Departure nodes from station i Two types of arcs: Segment arcs Station arcsTRANSCRIPT
Times are discretized and expressed as integers from 1 to
1440 (minutes in a day).
set of stations
set of trains
set of stations visited by train j
The timetable indicates the ideal departure time from the ideal arrival time at and the ideal
arrival and departure times for each intermediate station .
},...,1{ sS
},...,1{ tT },...,{ jj
j lfS
,jfjl
1,...,1 jj lf
Each train j is also assigned an ideal profit 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.
The objective is to maximize the overall profit of the (scheduled) trains.
jjjjj
j
j shift
j stretch (i.e. sum of the stretches in all stations)
A graph formulation(Time-Space Graph)
G=(V,A) directed acyclic graph
V set of nodes:
A set of arcs:
)...()...(},{ 112 ss WWUU
iU Arrival nodes at station iiW Departure nodes from station i
,......1 tj AAA TjTwo types of arcs:
Segment arcs
Station arcs
Train j
jf
jl
dep_node_1
dep_node_3
dep_node_2
arr_node_2
arr_node_3
arr_node_4
segment_arc_2
segment_arc_3
station_arc_2
station_arc_3
segment_arc_1
time
station
stat 1
stat 2
dep_1 dep_2
Departure Constraints:
Arrival Constraints:
stat 1
stat 2
arr_1 arr_2
Overtaking Constraints:stat 1
stat 2
jA
Timetable for train j“Feasible” path from tousing arcs in
Overall timetableSet of “feasible” paths, at most one path for each train.
Tj
jViW
notation
iU
jP
tPPP ...1
p PpuPujP
SiUuTj i ,,
SiUu i ,
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
Set of feasible paths for all the trains
Actual profit for path
Set of paths that visit node u,
Set of paths belonging to train j, that visit node u
for the first arc leaving
= profit of arc a:
for the segment arcs
for station arcs corresponding to stretch
a
)( jj corresponding to shift
j
0
Profit of a path :jPp
pa
ap For each train Tj
1,0px Pp
1px path p in the solution
0px otherwise
jP
tPPP ...1
Set of feasible paths for train
We introduce a binary variable for each feasible path for a train.
Set of feasible paths for all the trains
Tj
MODEL B
Pp
ppxmax
jPppx ,1 Tj
dwwwWw Pp
pi w
x11:
,1 iWwsSi 1,\
auuuUu Pp
pi u
x11:
,1 iUuSi 1,1\
Tj wwwVWw Pp
pjjji w
j
x21:
,1
,1,\ ij WwsSi
,1,0px Pp
Tjwwgw tjj ),,...,( 1112
Solution method:
branch-and-cut-and-price
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 real-
world instances.
Column generation
Add variables with positive reduced profits.
For each train, find the maximum profit path in an acyclic graph.
Reduced profit of path p in jP
pv
vpa
a
v Sum of dual variables of constraints involving node jVv
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)
1,..., 21 jj ww
1,..., 21 kk ww
jw1kw1i
1i
For each ,Si for eachjij VWw 1
andkik VWw 1 let :
},max{)( 11112j
ikk
ikkjj tatwdwwgw
kw2 analogous
jw2kw2
sum the values of the variables of train j in the window:
sum the values of the variables of train k in the window:
Overtaking constraint separation
(overtaking among 2 or more trains)
Order paths by decreasing speed.
Exact method (dynamic programming).
b
c
Clique: set of incompatible paths.Status: b,c.
bdu i 111 iazc
u
z