Abstract
In this tutorial, we give an overview of two fundamental problems arising in the optimization of a railway system: the train timetabling problem (TTP), in its non-periodic version, and the train platforming problem (TPP). We consider for both problems the planning stage, i.e. we face them from a tactical point of view. These problems correspond to two main phases that are usually optimized in close sequence by the railway infrastructure manager. First, in the TTP phase, a schedule of the trains in a railway network is determined. A schedule consists of the arrival and departure times of each train at each (visited) station. Second, in the TPP phase, one needs to determine a stopping platform and a routing for each train inside each (visited) station, according to the schedule found in the TTP phase. Due to the complexity of the two problems, an integrated approach is generally hopeless for real-world instances. Hence, the two phases are considered separately and optimized in sequence. Although there exist several versions for both problems, depending on the infrastructure manager and train operators requirements, we do not aim at presenting all of them, but rather at introducing the reader to the topic using small examples. We present models and solution approaches for the two problems in a didactic way and always refer the reader to the corresponding papers for technical details.
Similar content being viewed by others
References
Adenso-Díaz B, Oliva González M (1999) On-line timetable rescheduling in regional train services. Transp Res Part B 33:387–398
Barber F, Ingolotti L, Lova A, Marin A, Mesa J, Ortega F, Tormos P (2008) Integrating timetabling, network and line design. Technical report, ARRIVAL project
Billionnet A (2003) Using integer programming to solve the train platforming problem. Transp Sci 37:213–222
Borndörfer R, Grötschel M, Lukac S, Mitusch K, Schlechte T, Schultz S, Tanner A (2006) An auctioning approach to railway slot allocation. Compet Regul Netw Ind 7(2):163–197
Borndörfer R, Schlechte T (2008) Solving railway track allocation problems. In: Kalcsics J, Nickel S (eds) Operations research proceedings 2007. Springer, Berlin, pp 117–122
Brännlund U, Lindberg PO, Nöu A, Nilsson JE (1998) Railway timetabling using Lagrangian relaxation. Transp Sci 32:358–369
Burdett R, Kozan E (2010) A sequencing approach for creating new train timetables. OR Spectr 32(1):163–193
Burer S, Letchford AN (2012) Non-convex mixed-integer nonlinear programming: a survey. Surv Oper Res Manag Sci 17(2):97–106
Burkard RE, Dell’Amico M, Martello S (2009) Assignment problems. SIAM, Philadelphia. ISBN: 978-0-898716-63-4
Cacchiani V (2009) Models and algorithms for combinatorial optimization problems arising in railway applications. 4OR A Q J Oper Res 7(1):109–112
Cacchiani V, Caprara A, Fischetti M (2012) A Lagrangian heuristic for robustness, with an application to train timetabling. Transp Sci 46(1):124–133
Cacchiani V, Caprara A, Toth P (2008) A column generation approach to train timetabling on a corridor. 4OR Q J Oper Res 6(2):125–142
Cacchiani V, Caprara A, Toth P (2010) Non-cyclic train timetabling and comparability graphs. Oper Res Lett 38(3):179–184
Cacchiani V, Caprara A, Toth P (2010) Scheduling extra freight trains on railway networks. Transp Res Part B 44B(2):215–231
Cacchiani V, Caprara A, Toth P (2013) Finding cliques of maximum weight on a generalization of permutation graphs. Optim Lett 7(2):289–296
Cacchiani V, Huisman D, Kidd M, Kroon L, Toth P, Veelenturf L, Wagenaar J (2014) An overview of recovery models and algorithms for real-time railway rescheduling. Transp Res Part B 63:15–37
Cacchiani V, Toth P (2012) Nominal and robust train timetabling problems. Eur J Oper Res 219(3):727–737
Cadarso L, Marín A (2012) Integration of timetable planning and rolling stock in rapid transit networks. Ann Oper Res 199(1):113–135
Cai X, Goh CJ (1994) A fast heuristic for the train scheduling problem. Comput Oper Res 21:499–510
Caprara A (2010) Almost 20 years of combinatorial optimization for railway planning: from Lagrangian relaxation to column generation. In: Erlebach T, Lübbecke M (eds) Proceedings of the 10th workshop on algorithmic approaches for transportation modelling, optimization, and systems (ATMOS). Schloss Dagstuhl, Germany, pp 1–12
Caprara A, Fischetti M, Toth P (2002) Modeling and solving the train timetabling problem. Oper Res 50:851–861
Caprara A, Galli L, Toth P (2011) Solution of the train platforming problem. Transp Sci 45(2):246–257
Caprara A, Galli L, Stiller S, Toth P (2014) Delay robust event scheduling. Oper Res, forthcoming
Kroon L, Monaci M, Peeters M, Toth P (2007) Passenger railway optimization. In: Barnhart C, Laporte G (eds) Transportation, handbooks in operations research and management science. Elsevier, Amsterdam, pp 129–187
Caprara A, Kroon L, Toth P (2011) Optimization problems in passenger railway systems. Wiley Encycl Oper Res Manag Sci 6:3896–3905
Caprara A, Monaci M, Toth P, Guida PL (2006) A Lagrangian heuristic approach to real-world train timetabling problems. Discret Appl Math 154:738–753
Carey M, Carville S (2003) Scheduling and platforming trains at busy complex stations. Transp Res Part A 37:195–224
Carey M, Lockwood D (1995) A model, algorithms and strategy for train pathing. J Oper Res Soc 46:988–1005
Cicerone S, D’Angelo G, Di Stefano G, Frigioni D, Navarra A (2009) Recoverable robust timetabling for single delay: complexity and polynomial algorithms for special cases. J Comb Optim 18:229–257
Cordeau JF, Toth P, Vigo D (1998) A survey of optimization models for train routing and scheduling. Transp Sci 32:380–404
D’Ariano A, Corman F, Pacciarelli D, Pranzo M (2008) Reordering and local rerouting strategies to manage train traffic in real time. Transp Sci 42(4):405–419
D’Ariano A, Pacciarelli D, Pranzo M (2007) A branch and bound algorithm for scheduling trains on a railway network. Eur J Oper Res 183(2):643–657
De Luca Cardillo D, Mione N (1999) k L-list T colouring of graphs. Eur J Oper Res 106:160–164
Dollevoet T, Huisman D, Schmidt M, Schöbel A (2012) Delay management with rerouting of passengers. Transp Sci 46:74–89
Fischer F, Helmberg C, Janßen J, Krostitz B (2008) Towards solving very large scale train timetabling problems by Lagrangian relaxation. In: Fischetti M, Widmayer P (eds) 8th Workshop on algorithmic approaches for transportation modeling, optimization, and systems (ATMOS08). Schloss Dagstuhl, Germany, pp 1–12
Fischer F, Helmberg C (2013) Dynamic graph generation for the shortest path problem in time expanded networks. Math Program. doi:10.1007/s10107-012-0610-3
Fischetti M, Monaci M (2009) Light robustness. In: Ahuja RK, Moehring R, Zaroliagis C (eds) Robust and online large-scale optimization, lecture notes in computer science, vol 5868. Springer, Berlin, pp 61–84
Fischetti M, Salvagnin D, Zanette A (2009) Fast approaches to improve the robustness of a railway timetable. Transp Sci 43:321–335
Galli L (2011) Combinatorial and robust optimisation models and algorithms for railway applications. 4OR 9:215–218
Harrod SS (2012) A tutorial on fundamental model structures for railway timetable optimization. Surv Oper Res Manag Sci 17(2):85–96
Higgings A, Kozan E, Ferreira L (1997) Heuristic techniques for single line train scheduling. J Heuristics 3:43–62
Huisman D, Kroon LG, Lentink RM, Vromans MJCM (2005) Operations research in passenger railway transportation. Stat Neerl 59:467–497
Jovanovic D, Harker PT (1991) Tactical scheduling of rail operations: the SCAN I system. Transp Sci 25:46–64
Kroon LG, Dekker R, Maróti G, Vromans MJCM (2008) Stochastic improvement of cyclic railway timetables. Transp Res Part B 42(6):553–570
Kroon LG, Peeters LWP (2003) A variable trip time model for cyclic railway timetabling. Transp Sci 37:198–212
Kroon LG, Romeijn HE, Zwaneveld PJ (1997) Routing trains through railway stations: complexity issues. Eur J Oper Res 98:485–498
Liebchen C (2006) Periodic timetable optimization in public transport. Dissertation.de - verlag im Internet GmbH. ISBN: 3-86624-150-X
Liebchen C, Lübbecke M, Möhring R, Stiller S (2009) The concept of recoverable robustness, linear programming recovery, and railway applications. In: Ahuja RK, Moehring R, Zaroliagis C (eds) Robust and online large-scale optimization, lecture notes in computer science 5868. Springer, Berlin Heidelberg, pp 1–27
Liebchen C, Möhring R et al (2007) The modeling power of the periodic event scheduling problem: railway timetables—and beyond. In: Geraets F (ed) Algorithmic methods for railway optimization, lecture notes in computer science, vol 4359. Springer, Berlin
Liebchen C, Proksch M, Wagner FH (2007) Performance of algorithms for periodic timetable optimization. In: Hickman P, Wagner FH, Voss S (eds) Computer-aided systems in public transport (CASPT 2004), lecture notes in economics and mathematical systems, vol 600. Springer, Berlin
Liebchen C, Schachtebeck M, Schöbel A, Stiller S, Prigge A (2010) Computing delay resistant railway timetables. Comput Oper Res 37(5):857–868
Lindner T (2000) Train schedule optimization in public rail transport. Ph.D. Thesis, University of Technology, Braunschweig
Lindner T, Zimmermann UT (2005) Cost optimal periodic train scheduling. Math Methods Oper Res 62:281–295
Lusby RM, Larsen J, Ehrgott M, Ryan D (2011) Railway track allocation: models and methods. OR Spectr 33(4):843–883
Lusby RM, Larsen J, Ehrgott M, Ryan DM (2013) A set-packing inspired method for real-time junction train routing. Comput Oper Res 40:713–724
Mannino C, Mascis A (2009) Optimal real-time traffic control in metro stations. Oper Res 57(4):1026–1039
Mascis A, Pacciarelli D (2002) Job-shop scheduling with blocking and no-wait constraints. Eur J Oper Res 143(3):498–517
Nachtigall K (1994) A branch-and-cut approach for periodic network programming. Technical report 29, Hildesheimer Informatik-Berichte
Nemhauser GL, Wolsey LA (1988) Integer and combinatorial optimization (Vol. 18). Wiley, New York
Odijk M (1996) A constraint generation algorithm for the construction of periodic railway timetables. Transp Res Part B 30:455–464
Oliveira E, Smith BM (2000) A job-shop scheduling model for the single-track railway scheduling problem. Technical Report 2000.21, School of Computing Research Report, University of Leeds
Peeters LWP (2003) Cyclic railway timetable optimization. Ph.D Thesis, Erasmus Research Institute of Management, Erasmus University Rotterdam
Peeters LWP, Kroon LG (2001) A cycle based optimization model for the cyclic railway timetabling problem. In: Daduna J, Voss S (eds) Computer-aided transit scheduling, lecture notes in economics and mathematical systems, vol 505. Springer, Berlin, pp 275–296
Schlechte T, Borndörfer R (2010) Balancing efficiency and robustness-A Bi-criteria optimization approach to railway track allocation. In: Ehrgott M, Naujoks B, Stewart TJ, Wallenius J (eds) Multiple criteria decision making for sustainable energy and transportation systems, lecture notes in economics and mathematical systems, vol 634. Springer, Berlin, pp 105–116
Schöbel A (2009) Capacity constraints in delay management. Public Transport 1(2):135–154
Schöbel A, Kratz A (2009) A bicriteria approach for robust timetabling. In: Ahuja RK, Moehring R, Zaroliagis C (eds) Robust and online large-scale optimization, lecture notes in computer science 5868. Springer, Berlin Heidelberg, pp 119–144
Schrijver A, Steenbeek A (1994) Timetable construction for railned. Technical report, CWI, Amsterdam, (in Dutch)
Serafini P, Ukovich W (1989) A mathematical model for periodic event scheduling problems. SIAM J Discret Math 2:550–581
Szpigel B (1973) Optimal train scheduling on a single track railway. In: Ross M (ed) OR’72. North-Holland, Amsterdam, pp 343–351
Veelenturf LP, Potthoff D, Huisman D, Kroon LG (2012) Railway crew rescheduling with retiming. Transp Res Part C 20:95–110
Walker CG, Snowdon JN, Ryan DM (2005) Simultaneous disruption recovery of a train timetable and crew roster in real time. Comput Oper Res 32:2077–2094
Zwaneveld PJ (1997) Railway planning and allocation of passenger lines. Ph.D. Thesis, Rotterdam School of Management
Zwaneveld PJ, Kroon LG, van Hoesel CPM (2001) Routing trains through a railway station based on a node packing model. Eur J Oper Res 128:14–33
Zwaneveld PJ, Kroon LG, Romeijn HE, Salomon M, Dauzere-Peres S, van Hoesel CPM, Ambergen HW (1996) Routing trains through railway stations: model formulation and algorithm. Transp Sci 30:181–194
Author information
Authors and Affiliations
Corresponding author
Additional information
To the memory of our friend and colleague Alberto Caprara.
Appendix
Appendix
1.1 TTP variables and parameters
In the following, we list parameters and variables of the TTP models presented in Sect. 2.4.
The input consists of:
-
\(S=\{1,\ldots ,s\}\) is the set of stations, numbered according to the order in which they appear along the corridor for the running direction considered
-
\(T=\{1,\ldots ,t\}\) is the set of candidate trains
-
For each train \(j\in T\), a first (departure) station \(f_j\) and a last (destination) station \(l_j\) (\(l_j>f_j\)) are given
-
\(S^j:=\{f_j,\ldots ,l_j\}\subseteq S\) is the ordered set of stations visited by train \(j \in T\)
-
\(a_i\) is the minimum time interval for station \(i\in S\) between two consecutive arrivals of trains
-
\(d_i\) is the minimum time interval for station \(i\in S\) between two consecutive departures of trains
-
\(\pi _j\) is the ideal profit of train \(j \in T\)
-
\(\nu _j\) is the shift of train \(j \in T\)
-
\(\mu _j\) is the stretch of train \(j \in T\)
-
\(\alpha _j\) is the penalty for each minute of shift for train \(j \in T\)
-
\(\gamma _j\) is the penalty for each minute of stretch for train \(j \in T.\)
Both models are based on the graph representation discussed in Sect. 2.3, consisting of a (directed, acyclic) space-time multigraph \(G=(V,A)\).
The node set \(V\) has the form \(\{\sigma ,\tau \}\cup (U^2\cup \ldots \cup U^s)\cup (W^1\cup \ldots \cup W^{s-1})\), where
-
\(\sigma\) and \(\tau\) are an artificial source node and an artificial sink node, respectively
-
set \(U^i\), \(i\in S\setminus \{1\}\), represents the set of time instants in which some train can arrive at station \(i\); the nodes in \(U^2\cup \ldots \cup U^s\) are called arrival nodes.
-
set \(W^i\), \(i\in S\setminus \{s\}\), represents the set of time instants in which some train can depart from station \(i\); the nodes in \(W^1\cup \ldots \cup W^{s-1}\) are called departure nodes.
The arc set \(A\) is partitioned into sets \(A^1,\ldots , A^t\), one for each train \(j\in T\).
-
\(\theta (v)\) is the time instant associated with node \(v \in V\)
-
\(\Delta (u,v)\) is the time distance between two nodes \(u\) and \(v\), with \(u, v \in V\)
-
\(V^j\) denotes the set of nodes associated with time instants corresponding to possible arrivals/departures of train \(j.\)
1.1.1 TTP path model
-
\({\mathcal {P}}\) is the collection of all possible paths in graph \(G=(V,A)\)
-
\({\mathcal {P}}^j\) is the collection of possible paths for train \(j\) in graph \(G=(V,A)\)
-
\(p_P:=\sum _{a\in P} p_a\) is the profit for path \(P \in {\mathcal {P}}\) (\(p_a\) is the profit associated with each arc \(a \in A\), as defined in Sect. 2.3)
-
\({\mathcal {P}}^j_w\subseteq {\mathcal {P}}^j\) is the (possibly empty) subcollection of paths for train \(j\) that visit node \(w \in V^j\)
-
\({\mathcal {P}}_w:={\mathcal {P}}^1_w\cup \dots \cup {\mathcal {P}}^t_w\) is the subcollection of paths that visit node \(w \in V\)
-
\(r_j^i\) is the travel time of train \(j \in T\) from station \(i\) to station \(i+1\) (\(i,i+1\in S^j\))
-
\(x_P\) is a binary variable for each possible path \(P \in {\mathcal {P}}\) for a train, equal to \(1\) if, and only if, the path is chosen in the solution.
1.1.2 TTP arc model
-
\(p_a\) is the profit associated with each arc \(a \in A\), as defined in Sect. 2.3
-
\(\delta _j^+(v)\) is the set of arcs of train \(j\) leaving node \(v\) and \(\delta _j^-(v)\) is the set of arcs of train \(j\) entering node \(v\)
-
\(r_j^i\) is the travel time of train \(j \in T\) from station \(i\) to station \(i+1\) (\(i,i+1\in S^j\))
-
\(x_a\) is a binary variable, for each train \(j\in T\) and each arc \(a\in A^j\), equal to \(1\) if, and only if, arc \(a\) is selected in an optimal solution
-
\(y_v\) is a binary variable equal to \(1\) if, and only if, node \(v \in V\) is visited by any train
-
\(z_{jv}\) is a binary variable equal to \(1\) if, and only if, train \(j \in T\) visits node \(v \in V.\)
.
1.2 TPP variables and parameters
In the following, we list parameters and variables of the TPP model presented in Sect. 3.3.
The input consists of:
-
\(T\) is the set of trains
-
\(B\) is the set of platforms
-
\(D\) is the set of directions for train arrivals and departures
-
\({\mathcal {R}}\) is the set of paths connecting directions and platforms
-
\(g_d\) is the travel time for all paths connecting direction \(d\in D\) to any platform
-
\(L_{d_1,d_2}\subseteq B\) is the preference list of preferred platforms for the ordered pair \((d_1,d_2)\in D\times D\)
-
\({\mathcal {R}}_{d,b} \subseteq {\mathcal {R}}\) is the subset of paths linking direction \(d \in D\) to platform \(b \in B\)
-
\({\mathcal {I}}_{R} \subseteq {\mathcal {R}}\) is a list of incompatible paths
-
\(u_{t}^{\rm a}\) is the ideal arrival time of train \(t \in T\) at a platform
-
\(u_{t}^{\rm d}\) is the ideal departure time of train \(t \in T\) from a platform
-
\(s_{t}^{\rm a}\) is the maximum arrival shift of train \(t \in T\)
-
\(s_{t}^{\rm d}\) is the maximum departure shift of train \(t \in T\)
-
\(d_{t}^{\rm a} \in D\) is the arrival direction of train \(t \in T\)
-
\(d_{t}^{\rm d} \in D\) is the departure direction of train \(t \in T\)
-
\(C_{t} \subseteq B\) is the set of candidate platforms where train \(t \in T\) may stop.
The model is based on the concept of pattern and pattern incompatibility graph defined in Sect. 3.3.
-
\(P_t\) is the set of patterns that can be assigned to train \(t \in T\)
-
\(c_{t,p}\) is the train platforming cost if pattern \(p\in P_t\) is assigned to train \(t \in T\)
-
\(c_{t_1,p_1,t_2,p_2}\) is the path incompatibility cost if patterns \(p_1 \in P_{t_1}\) and \(p_2 \in P_{t_2}\) are assigned to trains \(t_1 \in T\) and \(t_2 \in T\), respectively
-
\({\mathcal {K}}\) is the whole collection of cliques in the pattern incompatibility graph
-
\({\mathcal {K}}_b\) is the collection of cliques in the pattern incompatibility graph associated with the sets of patterns that use platform \(b \in B\) at the same time
-
\(y_b\) is a binary variable for each \(b\in B\), with \(y_b=1\) if and only if platform \(b\) is used
-
\(x_{t,p}\) is a binary variable for each \(t\in T\) and \(p\in P_t\), with \(x_{t,p}=1\) if and only if train \(t\) is assigned pattern \(p.\)
Rights and permissions
About this article
Cite this article
Cacchiani, V., Galli, L. & Toth, P. A tutorial on non-periodic train timetabling and platforming problems. EURO J Transp Logist 4, 285–320 (2015). https://doi.org/10.1007/s13676-014-0046-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13676-014-0046-4