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 pP 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 pP xp 1 path p in the solution xp 0 otherwise max p x p pP x pPj p j T 1, x x p 1, wW i :w1 w w1 d pP w uU i :u1 u u1 a pP u p i S \ s, w1 W i 1, i S \ 1, u1 U i x jT wW i V j :w1j w w2j pPjw 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
© Copyright 2024 Paperzz