190 likes | 212 Views
Optimize train schedules to maximize profits by efficiently assigning ideal departure and arrival times, considering train types, shifts, and stretches.
E N D
Times are discretized and expressed as integers from 1 to 1440 (minutes in a day). set of stations set of trainsset of stations visited by train jThe timetable indicates the ideal departure time from the ideal arrival time at and the ideal arrival and departure times for each intermediate station .
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. shift stretch (i.e. sum of the stretches in all stations)
A graph formulation(Time-Space Graph)G=(V,A) directed acyclic graphV set of nodes:A set of arcs: Arrival nodes at station i Departure nodes from station i Two types of arcs: Segment arcs Station arcs
Train j station dep_node_1 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 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
“Feasible” path from to Timetable for train j using arcs in Set of “feasible” paths, at most one path for each train. Overall timetable
notation 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 each train Profit of a path = profit of arc a: for the first arc leaving corresponding to shift for the segment arcs for station arcs corresponding to stretch
MODEL B Set of feasible paths for train Set of feasible paths for all the trains We introduce a binary variable for each feasible path for a train. path p in the solution otherwise
Solution method:branch-and-cut-and-priceconstructive 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-relaxationis solved using column generationandconstraint separationas the number of variables and constraints is huge for real-world instances.
Column generationAdd variables with positive reduced profits. Reduced profit of path p in Sum of dual variables of constraints involving node For each train, find the maximum profit path in an acyclic graph.
Constraint separationAdd constraints violated by the current solution.departure/arrival constraintsovertaking constraints
Departure/arrival constraint separationFor 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 for each and let : analogous 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) Exact method (dynamic programming). Order paths by decreasing speed. Clique: set of incompatible paths. Status: b,c.