Skip to main content
Log in

A tutorial on non-periodic train timetabling and platforming problems

  • Tutorial
  • Published:
EURO Journal on Transportation and Logistics

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Brännlund U, Lindberg PO, Nöu A, Nilsson JE (1998) Railway timetabling using Lagrangian relaxation. Transp Sci 32:358–369

    Article  Google Scholar 

  • Burdett R, Kozan E (2010) A sequencing approach for creating new train timetables. OR Spectr 32(1):163–193

    Article  Google Scholar 

  • Burer S, Letchford AN (2012) Non-convex mixed-integer nonlinear programming: a survey. Surv Oper Res Manag Sci 17(2):97–106

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Cacchiani V, Caprara A, Fischetti M (2012) A Lagrangian heuristic for robustness, with an application to train timetabling. Transp Sci 46(1):124–133

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Cacchiani V, Caprara A, Toth P (2010) Non-cyclic train timetabling and comparability graphs. Oper Res Lett 38(3):179–184

    Article  Google Scholar 

  • Cacchiani V, Caprara A, Toth P (2010) Scheduling extra freight trains on railway networks. Transp Res Part B 44B(2):215–231

    Article  Google Scholar 

  • Cacchiani V, Caprara A, Toth P (2013) Finding cliques of maximum weight on a generalization of permutation graphs. Optim Lett 7(2):289–296

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Cacchiani V, Toth P (2012) Nominal and robust train timetabling problems. Eur J Oper Res 219(3):727–737

    Article  Google Scholar 

  • Cadarso L, Marín A (2012) Integration of timetable planning and rolling stock in rapid transit networks. Ann Oper Res 199(1):113–135

    Article  Google Scholar 

  • Cai X, Goh CJ (1994) A fast heuristic for the train scheduling problem. Comput Oper Res 21:499–510

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Caprara A, Fischetti M, Toth P (2002) Modeling and solving the train timetabling problem. Oper Res 50:851–861

    Article  Google Scholar 

  • Caprara A, Galli L, Toth P (2011) Solution of the train platforming problem. Transp Sci 45(2):246–257

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Caprara A, Kroon L, Toth P (2011) Optimization problems in passenger railway systems. Wiley Encycl Oper Res Manag Sci 6:3896–3905

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Carey M, Carville S (2003) Scheduling and platforming trains at busy complex stations. Transp Res Part A 37:195–224

    Google Scholar 

  • Carey M, Lockwood D (1995) A model, algorithms and strategy for train pathing. J Oper Res Soc 46:988–1005

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Cordeau JF, Toth P, Vigo D (1998) A survey of optimization models for train routing and scheduling. Transp Sci 32:380–404

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • De Luca Cardillo D, Mione N (1999) k L-list T colouring of graphs. Eur J Oper Res 106:160–164

    Google Scholar 

  • Dollevoet T, Huisman D, Schmidt M, Schöbel A (2012) Delay management with rerouting of passengers. Transp Sci 46:74–89

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Fischetti M, Salvagnin D, Zanette A (2009) Fast approaches to improve the robustness of a railway timetable. Transp Sci 43:321–335

    Article  Google Scholar 

  • Galli L (2011) Combinatorial and robust optimisation models and algorithms for railway applications. 4OR 9:215–218

    Article  Google Scholar 

  • Harrod SS (2012) A tutorial on fundamental model structures for railway timetable optimization. Surv Oper Res Manag Sci 17(2):85–96

    Google Scholar 

  • Higgings A, Kozan E, Ferreira L (1997) Heuristic techniques for single line train scheduling. J Heuristics 3:43–62

    Article  Google Scholar 

  • Huisman D, Kroon LG, Lentink RM, Vromans MJCM (2005) Operations research in passenger railway transportation. Stat Neerl 59:467–497

    Article  Google Scholar 

  • Jovanovic D, Harker PT (1991) Tactical scheduling of rail operations: the SCAN I system. Transp Sci 25:46–64

    Article  Google Scholar 

  • Kroon LG, Dekker R, Maróti G, Vromans MJCM (2008) Stochastic improvement of cyclic railway timetables. Transp Res Part B 42(6):553–570

    Article  Google Scholar 

  • Kroon LG, Peeters LWP (2003) A variable trip time model for cyclic railway timetabling. Transp Sci 37:198–212

    Article  Google Scholar 

  • Kroon LG, Romeijn HE, Zwaneveld PJ (1997) Routing trains through railway stations: complexity issues. Eur J Oper Res 98:485–498

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Liebchen C, Schachtebeck M, Schöbel A, Stiller S, Prigge A (2010) Computing delay resistant railway timetables. Comput Oper Res 37(5):857–868

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Lusby RM, Larsen J, Ehrgott M, Ryan D (2011) Railway track allocation: models and methods. OR Spectr 33(4):843–883

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Mannino C, Mascis A (2009) Optimal real-time traffic control in metro stations. Oper Res 57(4):1026–1039

    Article  Google Scholar 

  • Mascis A, Pacciarelli D (2002) Job-shop scheduling with blocking and no-wait constraints. Eur J Oper Res 143(3):498–517

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Odijk M (1996) A constraint generation algorithm for the construction of periodic railway timetables. Transp Res Part B 30:455–464

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Schöbel A (2009) Capacity constraints in delay management. Public Transport 1(2):135–154

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Szpigel B (1973) Optimal train scheduling on a single track railway. In: Ross M (ed) OR’72. North-Holland, Amsterdam, pp 343–351

    Google Scholar 

  • Veelenturf LP, Potthoff D, Huisman D, Kroon LG (2012) Railway crew rescheduling with retiming. Transp Res Part C 20:95–110

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paolo Toth.

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13676-014-0046-4

Keywords

Mathematics Subject Classification (2000)

Navigation