Train Scheduling in a Main Station Area © ETH Zürich | M. Fuchsberger Martin Fuchsberger Master thesis, Final Presentation Zurich, March
M.Fuchsberger / D-INFK ETHZ / 2 Outline Introduction Train Routing Three Conceptual Models Conflict Modeling Results Train Scheduling Model Results Outlook
M.Fuchsberger / D-INFK ETHZ / 3 Introduction Goal: Satisfy customers demands by finding suitable conflict-free timetables Restrictions: Topology, Rolling stock, service requirements
M.Fuchsberger / D-INFK ETHZ / 4 Network Density Local LayerGlobal Layer Bottlenecks: Main Station Areas
M.Fuchsberger / D-INFK ETHZ / 5 Example Main Station Area: Bern Radius of about 6 km 500 switches 6 main directions Olten Neuchatel Fribourg Bienne Bern Belp Thun
M.Fuchsberger / D-INFK ETHZ / 6 Example Main Station Area: Bern
M.Fuchsberger / D-INFK ETHZ / 7 Two Problems in Main Station Areas 1. Train Routing Input: Topology, Rolling Stock, Departure Times at portals/platforms Output: Train Routings 2. Train Scheduling Input: Topology, Rolling Stock, Departure Time Windows at portals/platforms Output: Conflict-free Timetable
M.Fuchsberger / D-INFK ETHZ / 8 Train Routing: Three conceptual models Conflict Graph Tree Conflict Graph Resource Tree Conflict Graph
M.Fuchsberger / D-INFK ETHZ / 9 Train Routing Model: Conflict Graph 1 :Each routing of a train corresponds to a node in the conflict graph. :Conflict Edges model conflicts between two routings (nodes). :As one train can use only one routing, the routings of a train form a clique. 1 Zwaneveld et al. 1997
M.Fuchsberger / D-INFK ETHZ / 10 Train Routing: Conflict GraphSolution Approach: Independent Set with Cardinality equal to number of trains Train 1 Train 2 Train 3
M.Fuchsberger / D-INFK ETHZ / 11 Conflict Graph – Mathematical Model Only one node for each train Only non-connected nodes
M.Fuchsberger / D-INFK ETHZ / 12 Conflict Graph – Solving Problems Finding exact solutions for larger problem instances took too much time 1. The heuristic attempt (Randomized FPI 2 ) fails to find solutions for big instances. How can the model (structure) be improved? 1 Zwaneveld et al Fixed Point Iteration, Herrmann, Burkolter et al. 2005
M.Fuchsberger / D-INFK ETHZ / 13 Improvement: Include Local Topology A B C D E Y Z 1 Conflict BC D YZ A E 6 Conflicts Conflict Graph: Conflict
M.Fuchsberger / D-INFK ETHZ / 14 Train Routing Model: Tree Conflict Graph 1 :For each tuple (train,time,topology- element,velocity) a node is created. :Red edges model conflicts between two tuples (nodes). :Flow edges model the routings from origin to destination. 1 Herrmann and Caimi 2005
M.Fuchsberger / D-INFK ETHZ / 15 Tree Conflict Graph - Solution Approach: Multi Commodity Flow 1.Add Sources and Sinks 2.Assign Variables x ij to the flow edges 3.Flow equal to 1 from source to destination 4.Conflict Constraints x 00 S0S1 S0S1
M.Fuchsberger / D-INFK ETHZ / 16 Tree Conflict Graph – Mathematical Model
M.Fuchsberger / D-INFK ETHZ / 17 Allocation of a Resource A resource is composition of track elements. A resource can be allocated by trains for a closed time interval („allocation time interval“). A conflict exists, if a resource is allocated by more than one train at the same time. track sectionswitchcrossingsingle slip
M.Fuchsberger / D-INFK ETHZ / 18 Allocation Time Intervals How are the allocation time intervals of the different trains determined? An allocation time interval consists of: Occupation time Minimal braking time: Based on track signals Additional security related times (track switch, reaction...)
M.Fuchsberger / D-INFK ETHZ / 19 Conflict Modeling for a Resource Time Time Interval where the Resource is occupied by a train Conflicts between two trains Grouped conflicts between several trains = „Cliques“
M.Fuchsberger / D-INFK ETHZ / 20 How to gather the conflicts into cliques? Time B C F D I G E J H A A‘ A1 B1 A2 B2 C1 D1 E1 F1 D2 C2 G1 H1 G2 F2 E2 I1 J1 H2 I2 A‘1J2 Minimum number of cliques to cover all the edges in the corresponding circular interval graph
M.Fuchsberger / D-INFK ETHZ / 21 Resulting Train Routing Model: Resource Tree Conflict Graph Each Resource has its set of colored cliques.
M.Fuchsberger / D-INFK ETHZ / 22 Resource Tree Conflict Graph – Mathematical Model
M.Fuchsberger / D-INFK ETHZ / 23 Results for the Train Routing Problem Conflict Graph (CG&FPI) / Tree Conflict Graph (TCG) Resource Tree Conflict Graph Reduced #Conflicts! Better CPU time! Cause: Strong clique constraints!
M.Fuchsberger / D-INFK ETHZ / 24 Train Scheduling Discretise the time windows to create several start times for each train (Puls 90 SBB Project). Each train has then a set of Resource Tree Conflict Graphs with distinct and selectable starting times. Solve the train scheduling problem using the same algorithms. Train Routing Input:Topology, Rolling Stock, Departure Times at portals/platform Output: Train Routings Train Scheduling Input:Topology, Rolling Stock, Departure Time Windows at portals/platforms Output:Conflict-free Timetable
M.Fuchsberger / D-INFK ETHZ / 25 Train Scheduling – Prefered Start Times Some start times may be preferred over others. Incorporate this idea in the model by using weights in the objective function: Train 1 Start time T1Start time T2
M.Fuchsberger / D-INFK ETHZ / 26 Results for the Train Scheduling Problem in Bern East 2003 Adding more Start Times Now bigger problem size compared to the train routing problem. Still fast computable.
M.Fuchsberger / D-INFK ETHZ / 27 Results for the Train Scheduling Problem Bern East 2003
M.Fuchsberger / D-INFK ETHZ / 28 Example Clique Size Distributions Bern East 2003 One start time for each train Average Clique Size = 44 Ten selectable start times for each train Average Clique Size = 80
M.Fuchsberger / D-INFK ETHZ / 29 Outlook Further enhance the model (English track switchs, more complex resources) Extend testing on other main station areas besides Bern (data from SBB is required) Check performance on track regions between stations 1 Interaction with the global layer 1 Collaboration with SBB and sma (D. Burkolter)
M.Fuchsberger / D-INFK ETHZ / 30 Thank you for your attention!
M.Fuchsberger / D-INFK ETHZ / 31 Scheduling: Connecting Global Layer to Local Layer On the global layer, the train scheduling problem is usually modeled as a periodic event scheduling problem (PESP) The solution of a PESP provides input data for the discussed train routing algorithms A modified PESP could support time windows and hence serve as an input for (local) train scheduling algorithms 1 1 Topic of the Master Thesis of Kaspar Schüpbach