Abstract
In this paper we present a railway traffic model and a model predictive controller for online railway traffic management of railway networks with a periodic timetable. The main aim of the controller is to recover from delays in an optimal way by changing the departure of trains, by breaking connections, by splitting joined trains, and - in the case of multiple tracks between two stations - by redistributing the trains over the tracks. The railway system is described by a switching max-plus-linear model. We assume that measurements of current running and dwell times and estimates of future running times and dwell times are continuously available so that they can be taken into account in the optimization of the system’s control variables. The switching max-plus-linear model railway model is used to determine optimal dispatching actions, based on the prediction of the future arrival and departure times of the trains, by recasting the dispatching problem as a Mixed Integer Linear Programming (MILP) problem and solving it. Moreover, we use properties from max-plus algebra to rewrite and reduce the model such that the MILP problem can be solved in less time. We also apply the algorithm to a model of the Dutch railway network.









Similar content being viewed by others
Notes
The matrices A μ (k) can be completed by adding [A μ (k)] i,j =−∞ for all combinations (μ,i,j,k) that do not appear in Eq. 18.
Recall that a line is defined as the set of train runs modeling the same ‘physical’ train.
In this equation the exponents of the factors of the matrix product are determined using graph theory: according to graph theory [A ⊗ m] i,j corresponds to the maximum weight of all paths of length m from node j to node i in the precedence graph of A. See Baccelli et al. (1992) for a detailed review of graph theory.
References
Baccelli F, Cohen G, Olsder G, Quadrat J (1992) Synchronization and Linearity: An Algebra for Discrete Event Systems. Wiley, New York
Braker JG (1991) Max-algebra modelling and analysis of time-dependent transportation networks. In: Proceedings of the 1st European Control Conference. Grenoble, France, pp 1831–1836
Braker JG (1993) An extended algorithm for performance evaluation of timed event graphs. In: Proceedings of the 2nd European Control Conference. Groningen, The Netherlands, pp 524–529
Caimi G, Fuchsberger M, Laumanns M, Lüthi M (2012) A model predictive control approach for discrete-time rescheduling in complex central railway station areas. Comput Oper Res 39(11):2578– 2593
Corman F, D’Ariano A, Pacciarelli D, Pranzo M (2012) Bi-objective conflict detection and resolution in railway traffic management. Transp Res Part C: Emerg Technol 20(1):79–94
Cuninghame-Green R (1979) Minimax Algebra, Lecture Notes in Economics and Mathematical Systems, vol 166. Springer, Germany
D’Ariano A, Pacciarelli D, Pranzo M (2007) A branch and bound algorithm for scheduling trains in a railway network. Euro J Oper Res 183(2):643–657
De Schutter B, van den Boom T, Hegyi A (2002) A model predictive control approach for recovery from delays in railway systems. Transp Res Rec 1793:15–20
GLPK (2014) Gnu linear programming kit. http://www.gnu.org/software/glpk/
Goverde RMP (2007) Railway timetable stability analysis using max-plus system theory. Transp Res B Methodol 41(2):179–201
Goverde RMP (2010) A delay propagation algorithm for large-scale railway traffic networks. Transp Res Part C: Emerg Technol 18(3):269–287
Gurobi (2014) Gurobi optimizer reference manual. http://www.gurobi.com
Hansen IA, Pachl J (2008) Railway Timetable & Traffic: Analysis - Modelling - Simulation. Eurailpress, Germany
Heidergott B, Vries R (2001) Towards a (max,+) control theory for public transportation networks. Discret Event Dyn Syst 11(4):371–398
Heidergott B, Olsder GJ, van der Woude J (2006) Max Plus at Work: Modeling and Analysis of Synchronized Systems: A Course on Max-Plus Algebra and Its Applications. Princeton Series in Applied Mathematics. Princeton University Press, Princeton
Kecman P, Corman F, D’Ariano A, Goverde RM (2013) Rescheduling models for railway traffic management in large-scale networks. Public Transport 5(1-2):95–123
Kersbergen B, van den Boom TJJ, De Schutter B (2013a) On implicit versus explicit max-plus modeling for the rescheduling of trains. Denmark, Copenhagen
Kersbergen B, van den Boom TJJ, De Schutter B (2013b) Reducing the time needed to solve the global rescheduling problem for railway networks. The Hague, The Netherlands
Kroon LG, Peeters LWP (2003) A variable trip time model for cyclic railway timetabling. Transp Sci 37(2):198–212
Minciardi R, Paolucci M, Pesenti R (1995) Generating optimal schedules for an underground railway line. In: Proceedings of the 34th IEEE Conference on Decision and Control, New Orleans, Louisiana, pp 4082–4085
TOMLAB (2014) Tomlab optimization environment. http://tomopt.com/tomlab/
Törnquist Krasemann J (2012) Design of an effective algorithm for fast response to the re-scheduling of railway traffic during disturbances. Transp Res Part C: Emerg Technol 20(1):62–78
van den Boom TJJ, De Schutter B (2006) Modelling and control of discrete event systems using switching max-plus-linear systems. Control Eng Pract 14(10):1199–1211
van den Boom TJJ, Weiss N, Leune W, Goverde RMP, De Schutter B (2011) A permutation-based algorithm to optimally reschedule trains in a railway traffic network. In: Proceedings of the 18th IFAC World Congres, Milan, Italy
van den Boom TJJ, Kersbergen B, De Schutter B (2012) Structured modeling, analysis, and control of complex railway operations, In: Proceedings of the 51st IEEE Conference on Decision and Control, Maui, Hawaii
de Vries R, De Schutter B, De Moor B (1998) On max-algebraic models for transportation networks, In: Proceedings of the 4th International Workshop on Discrete Event Systems (WODES’98) Cagliari, Italy
de Waal P, Overkamp A, van Schuppen J H (1997) Control of railway traffic on a single line. In: Proceedings of the European Control Conference (ECC’97), Brussels, Belgium, paper, 230
Acknowledgements
This research is supported by the Dutch Technology Foundation STW, project 11025 “Model-Predictive Railway Traffic Management; A Framework for Closed-Loop Control of Large-Scale Railway Systems”. STW is part of the Netherlands Organisation for Scientific Research (NWO), and which is partly funded by the Ministry of Economic Affairs. This research is also funded by TÁMOP-4.2.1./B-11/2/KMR-2011-002 and TÁMOP-4.2.2./B-10/1-2010-0014.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
1.1 A.1 Headway constraints with control variables
If u i l (k − μ i,l ) = 0 in Eqs. 37–40, then \(\overline {u_{il}(k-\mu _{i,l})}=\varepsilon \) and the equations become:
The first two equations are identical to Eqs. 5 and 6, and the last two equations simply state that d l (k − μ i,l ) and a l (k − μ i,l ) should be larger than ε, which they always are. This results in the default order of the train runs: first l, then i.
If u i,l (k − μ i,l ) = ε, then \(\overline {u_{i,l}(k-\mu _{i,l})}=0\) and the equations become:
Now the first two equations simply state that d i (k) and a i (k) should be larger than ε, which they always are, and the last two equations are equal to Eqs. 35 and 36. This results in the changed order of train runs: first i, then l.
1.2 A.2 Infeasible train order
Consider the headway constraints of three trains running over the same track in the same cycle. Let us assume that the headway times between all three trains are 3 minutes, then the headway constraints between the departures are given by
where u 1(k) determines the order between train 1 and 2, u 2 determines the order between train 2 and 3, and u 3(k) determines the order between train 1 and 3. Now if we set u 1(k) = 0, then train 1 traverses the track before train 2; if we set u 2(k) = 0, then train 2 traverses the track before train 3; and if we set u 3(k) = ε, then train 3 traverses the track before train 1. But this is impossible because if train 1 traverses the track before train 2 and 2 traverses the track before 3 then u 1 = 0 together with u 2 = 0 implies that train 1 traverses the track before train 3, which is exactly the opposite of what u 3 = ε implies. Clearly the combination u 1 = 0, u 2 = 0, and u 3 = ε is an infeasible combination and can be removed from the model without having an effect on the feasible train orders.
These infeasible train orders can be derived from the matrix powers of A 0,4,d:
The diagonal elements in \(A_{0,4,\mathrm {d}}^{\otimes ^{2}}(u(k),k)\) are ε by definition since \(\overline {u_{i}(k)}\otimes u_{i}(k)=\varepsilon \) and ε⊗a = ε. The next matrix power of A 0,4,d is:
All non-diagonal elements are ε by definition. The diagonal elements are positive if \(u_{1}(k)\otimes u_{2}(k)\otimes \overline {u_{3}(k)}=0\) or \(\overline {u_{1}(k)} \otimes \overline {u_{2}(k)} \otimes u_{3}(k)=0\). That means these combinations of control variables correspond to infeasible train orders. So by simply determining the matrix powers, which has to be done to determine the explicit model anyway, and looking at the diagonal elements the infeasible combinations of control variables can be found. These combinations of control variables can be removed by replacing \(u_{1}(k)\otimes u_{2}(k)\otimes \overline {u_{3}(k)}\) and \(\overline {u_{1}(k)} \otimes \overline {u_{2}(k)} \otimes u_{3}(k)\) with ε.
To ensure the MILP does not use these combinations of control variables constraints corresponding to the following max-plus-linear inequalities are added to the explicit MILP problem formulation:
1.3 A.3 Switching between tracks
As an example consider two parallel tracks, track 1 and 2, with two trains on each of the tracks. Trains 1 and 2 traverse track 1 and trains 3 and 4 traverse track 2. All trains are running in the same cycle. The timetable period is 1 hour, and the timetable vector is r(0)=[0 30 5 35 15 50 20 55]⊤. We can define the following sets and vectors based on this example:
Using these sets, vectors and Eq. 47 we can determine the entries of \(\tilde {A}_{\mu ,4,\mathrm {d},1}\). Since all trains are in the same cycle only μ = 0 needs to be considered. The first if-condition of Eq. 47 results on the following non-ε elements of \(\tilde {A}_{0,4,\mathrm {d},1}\):
and the second if-condition results in the following non- ε elements of \(\tilde {A}_{0,4,\mathrm {d},1}\):
The first two if-conditions result in the headway times between departure events of the trains, that traverse the same track during nominal operation, with the addition of the control variables for track selection. The third if-condition results in the following non- ε elements \(\tilde {A}_{0,4,\mathrm {d},1}\):
and the fourth if-condition results in the final non- ε elements \(\tilde {A}_{0,4,\mathrm {d},1}\):
These headway times define the order of the trains if a train from track 1 switches to track 2 or the other way around. For the headway times between arrival events only τ h,d,i,j (k) needs to be replaced with τ h,a,i,j (k).
1.4 A.4 Matrix multiplication using graph theory
Consider the matrix A 0
and its graph \(\mathcal {G}(A_{0})\) given in Fig. 10.
According to graph theory [A ⊗ m] i,j corresponds to the maximum weight of all paths of length m from node j to node i in the precedence graph of A. If we apply this to matrix A 0 for element \([A_{0}^{\otimes ^{2}}]_{1,1}\), then we should look at all paths of length 2 in the graph that start and end at node 1. There are two paths of length 2 from node 1 to node 1. One consists of taking the edge from node 1 to node 1 twice resulting in a weight of \(A_{\mathrm {a}}^{\otimes 2}\). The other path of length two consists of taking the edge from node 1 to node 2 and the edge from node 2 to node 1, resulting in a path weight of A b⊗A c. The value of \([A_{0}^{\otimes ^{2}}]_{1,1}\) is the maximum of the weight of both paths: \([A_{0}^{\otimes ^{2}}]_{1,1}=A_{\mathrm {a}}^{\otimes 2}\oplus A_{\mathrm {b}}\otimes A_{\mathrm {c}}\). For the other elements of \(A_{\mathrm {a}}^{\otimes 2}\) this results in:
For the elements of \(A_{0}^{\otimes ^{3}}\) we should look at all paths of length 3. There are four path of length 3 starting at node 1 and ending at node 1
-
Take the edge from node 1 to node 1 three times. This path has a weight of \(A_{\mathrm {a}}^{\otimes 3}\).
-
Take the edge from node 1 to node 1 a single time and then go to node 2 and back. This path has a weight of A a⊗A b⊗A c.
-
First go to node 2 and back, then take the edge from 1 node to node 1. This path has a weight of A b⊗A c⊗A a.
-
Take the edge from node 1 to node 2, then the edge from node 2 to node 2, and finally the edge from node 2 to node 1. This path has a weight of A b⊗A d⊗A c.
This can also be done for the other elements and for all elements of all other matrix powers. By looking at the graph of A 0 and the relation between paths in the graph and elements of the matrix powers of the matrix, it is clear only a limited number of paths is possible and that there is a clear structure in these paths. For paths starting and ending in node 1, if the edge from node 1 to node 2 is taken, the edge from node 2 to node 1 must also be in the path. If the edge from node 2 to node 2 is in the path then the edges from node 1 to node 2 and from node 2 to node 1 must also be in the path. The edge from node 1 to node 1 can only be in the path before the edge from node 1 to node 2, after the edge from node 2 to node 1, and before and after itself. And the number of edges is equal to the matrix power. Such rules can be set up for all four of the elements and result in Eqs. 59–62 in Section 4.
Rights and permissions
About this article
Cite this article
Kersbergen, B., Rudan, J., van den Boom, T. et al. Towards railway traffic management using switching Max-plus-linear systems. Discrete Event Dyn Syst 26, 183–223 (2016). https://doi.org/10.1007/s10626-014-0205-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10626-014-0205-7