Towards Solving Very Large Scale Train Timetabling Problems by Lagrangian Relaxation Frank Fischer, Christoph Helmberg Chemnitz University of Technology J¨ urgen Janßen, Boris Krostitz Deutsche Bahn AG, Konzernentwicklung, GSU 1
Problem description Classical Train Timetabling Problem (TTP). Goal: generate a timetable for the whole German railway network of Deutsche Bahn.
Problem description Classical Train Timetabling Problem (TTP). Goal: generate a timetable for the whole German railway network of Deutsche Bahn. Given: • railway network (stations, tracks, track switches ...) • passenger and freight trains with predefined route Restrictions: • running times, headway times, capacities • base timetable for passenger trains Goal: • feasible timetable with few delays
Former work The TTP is a well investigated problem: • periodic scheduling literature • Serafini, Ukovich (1989) • Kroon, Dekker, Michiel, Vromans (2005) • Liebchen (2006) • non-periodic scheduling literature • Schrijver, Steenbeck (1994) • Higgins, Kozan, Ferreira (1997) • Br¨ annlund, Lindberg, N˜ ou, Nilsson (1998) • Caprara, Fischetti, Toth (2002) • Cacchiani, Caprara, Toth (2006) • Caprara, Kroon, Monaci, Peeters, Toth (2006) • Ingolotti, Baber, Tormos, Lova, Ealido, Abril (2006) • Bornd¨ orfer, Schlechte (2007)
Problem data Given: • infrastructure digraph D = ( V , A ) where • V set of stations, track switches ... • A set of tracks, may be • double tracks • single tracks • absolute node capacities • directional capacities
Problem data Example: absolute and directional capacities. absolute left dir. right. dir. 3 1 2 1 2 3 absolute left dir. right. dir. 4 2 3 2 3 4
Trains For each train j ∈ T : • train type m ( j ) ∈ M • predefined route: ordered sequence of nodes U ( j ) = ( u j 1 , . . . , u j n j ) , n j ∈ N Furthermore for each passenger train � � • stopping interval I j t S , j , t E , j i = ⊂ Z ∪ {±∞} i i “when the train has to wait” • minimal stopping time d j i ∈ Z + . “how long the train has to wait” train must arrive before t E , j and must not leave before t S , j + d j i . i i
Stopping interval and minimal stopping time Example: stopping interval = [1 , 5], minimal stopping time = 2 minutes The following examples are valid: 1 5 1 5 2 3 4 2 3 4 1 5 2 3 4
Running times A train needs some time from one station to the next, its running time . This depends on the train type ( m ∈ M ) and on whether the train stops or passes at the stations: Stop Pass Stop Stop Pass Stop t R a : M × B R → Z + , a ∈ A , B R = { pass , stop }
Headway times There must be a safety distance between two sequent trains on the same track, the minimal headway times . t 2 t 1 t 1 + t H a ≤ t 2 They depend on both train-types and stopping behaviours: t H a : M × B R × M × B R → Z + .
Model Classic model via time discretised networks for the single train routes (e.g. Caprara et al.): For each train j ∈ T a graph G j = ( V j , A j ) where • V j contains • an artificial start-node σ j , • an artificial end-node τ j , • a wait-node and a stop-node node for each station , time-step • A j contains • starting arcs from σ j to the first station’s nodes, • ending arcs from the last station’s nodes to τ j , • waiting arcs between two successive wait-nodes of one station, • running arcs connecting nodes of successive stations • infeasible arcs from each intermediate station’s node to τ j .
Train graphs: nodes Station 2 Station 3 t=1 t=2 stop nodes t=3 train stops at the station t=4 run nodes t=5 train passes through the station t=6 t=7 nodes
Train graphs: waiting arcs Station 2 Station 3 t=1 t=2 t=3 t=4 t=5 t=6 t=7 waiting arcs
Train graphs: running arcs Station 2 Station 3 Station 2 Station 3 t=1 t=1 t=2 t=2 t=3 t=3 run- run- t=4 t=4 run stop t=5 t=5 t=6 t=6 t=7 t=7 Station 2 Station 3 Station 2 Station 3 t=1 t=1 t=2 t=2 t=3 start- t=3 start- t=4 run t=4 stop t=5 t=5 t=6 t=6 t=7 t=7 running arcs
Train graphs: infeasible arcs Station 1 Station 2 Station 3 Station 4 Station 5 t=1 t=2 t=3 t=4 t=5 t=6 t=7 infeasible arcs
Variables j ∈ T A j be the set of all arcs. Let A := � Introduce binary variables for each arc: x a ∈ { 0 , 1 } , a ∈ A , with the interpretation for a ∈ A j : x a = 1 ⇔ train j uses arc a .
Capacity constraints Only a bounded number of trains may enter an infrastructure node v ∈ V at the same time t because of absolute capacities and directional capacities. Lead to constraints of the form � x a ≤ c v absolute capacities a ∈ δ − ( v , t ) and � x a ≤ c uv , directional capacities a ∈ δ − ( uv , t ) where � � δ − ( v , t ) = (( b ′ , i ′ , t ′ ) j , ( b , i , t ) j ) ∈ A : u j i = v , � � (( b ′ , i ′ , t ′ ) j , ( b , i , t ) j ) ∈ A : u j i − 1 u j δ − ( uv , t ) = i = uv .
Capacity constraints Example: station 42 has capacity 1 Station 1 Station 42 Station 66 Station 42 t=1 t=1 t=2 t=2 t=3 t=3 �� �� � � �� �� � � t=4 t=4 � � �� �� �� �� �� �� � � � � � � �� �� �� �� �� �� � � � � t=5 t=5 � � �� �� �� �� � � � � �� �� �� �� � � t=6 t=6 �� �� � � �� �� � � � x a ≤ 1 . a ∈{ red arcs }
Headway constraints Between two trains on the same physical track minimal headway times are required for safety reasons (e.g. Lukac). Two arcs (( b 1 , i 1 , t 1 ) j , ( b 2 , i 2 , t 2 ) j ) ∈ A j (( b ′ 1 , i ′ 1 , t ′ 1 ) j ′ , ( b ′ 2 , i ′ 2 , t ′ 2 ) j ′ ) ∈ A j ′ and with t 1 ≤ t ′ 1 conflict if either i 2 = u j ′ 1 u j ′ • u j i 1 u j 2 = uv ∈ A and i ′ i ′ uv ( m ( j ) , ( b 1 , b 2 ) , m ( j ′ ) , ( b ′ 1 , b ′ 2 )) > t ′ t 1 + t H 1 , or • u j i 1 u j i 2 = u j ′ 2 u j ′ 1 = uv ∈ A S and i ′ i ′ uv ( m ( j ) , ( b 1 , b 2 ) , m ( j ′ ) , ( b ′ 1 , b ′ 2 )) > t ′ t 1 + t HS 1 . Lead to constraints of the type � x a ≤ 1 , a ∈ C where C is a clique in the conflict graph.
Headway constraints Example: • train 1 first, train 2 second: 3 minutes • train 2 first, train 1 second: 2 minutes Station 42 Station X Station Y Station 23 Station X Station Y t=20 t=20 � � �� �� �� �� � � � � �� �� �� �� � � t=21 t=21 � � �� �� �� �� � � � � �� �� �� �� � � t=22 t=22 � � �� �� �� �� � � � � �� �� �� �� � � t=23 t=23 � � � � �� �� �� �� � � � � � � � � �� �� �� �� � � � � t=24 � � � � �� �� t=24 �� �� � � � � � � � � �� �� �� �� � � � � Conflict graph Constraint � � � � � � � � t=20 � � � � � � � � � � � � � x a ≤ 1 t=21 � � � � � � � � a ∈{ red arcs } t=22 � � � � � � � � t=23 � � � � � � � � t=24 � �
Objective function • high costs on infeasible-arcs, • no costs on running-arcs (running is good), • increasing costs on waiting arcs (waiting is bad)
ILP formulation X maximize x a w a a ∈ A subject to 8 X x a = 1 , j ∈ T , > > > a ∈ δ + ( σ j ) < flow conservation j ∈ T , v ∈ V j \ { σ j , τ j } , X X x a = x a , > > > : a ∈ δ + ( v ) a ∈ δ − ( v ) 8 X x a ≤ c v , v ∈ V , t ∈ S , > > > < a ∈ δ − ( v , t ) capacity X x a ≤ c uv , uv ∈ A , t ∈ S , > > > : a ∈ δ − ( uv , t ) X x a ≤ 1 , C ∈ C , headway a ∈ C ˘ binary x a ∈ { 0 , 1 } , a ∈ A .
Solution methods Goal: rounding heuristics based on a relaxation of the ILP. Because of the large size of the instances, solving the LP relaxation by a state-of-the-art solver is too slow. ⇒ solve the Lagrangian dual obtained by relaxation of the coupling constraints.
Lagrange dual and decomposition Let • Dx ≤ d be the coupling constraints, • D j , j ∈ T , be the columns corresponding to the x a , a ∈ A j , x ∈ R A j : x is valid path in G j � • X j = � . The LP reads w T x max Dx ≤ d x ∈ X with the Lagrangian dual problem � �� � T w j − D j T y � d T y + x j . inf max y ≥ 0 x j ∈ X j j ∈ T
Bundle method The bundle method requires the evaluation of �� � � T w j − D j T y � ϕ ( y ) = d T y + x j max x j ∈ X j j ∈ T for given y . These are independent shortest-path problems . Each optimal solution x ( y ) of the shortest path problems yields a subgradient g ( y ) = d − Dx ( y ) . The bundle method (see, e.g., Lemar´ echal) • requires an oracle returning the function value and a subgradient , • generates a sequence of convex-combinations of the paths returned by the oracle, the so called primal aggregates .
Recommend
More recommend