Skip to main content
Log in

Towards railway traffic management using switching Max-plus-linear systems

Structure analysis and rescheduling

  • Published:
Discrete Event Dynamic Systems Aims and scope Submit manuscript

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.

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

Notes

  1. 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.

  2. Recall that a line is defined as the set of train runs modeling the same ‘physical’ train.

  3. 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

    MATH  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Cuninghame-Green R (1979) Minimax Algebra, Lecture Notes in Economics and Mathematical Systems, vol 166. Springer, Germany

    Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Goverde RMP (2010) A delay propagation algorithm for large-scale railway traffic networks. Transp Res Part C: Emerg Technol 18(3):269–287

    Article  Google Scholar 

  • Gurobi (2014) Gurobi optimizer reference manual. http://www.gurobi.com

  • Hansen IA, Pachl J (2008) Railway Timetable & Traffic: Analysis - Modelling - Simulation. Eurailpress, Germany

    Google Scholar 

  • Heidergott B, Vries R (2001) Towards a (max,+) control theory for public transportation networks. Discret Event Dyn Syst 11(4):371–398

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Kersbergen B, van den Boom TJJ, De Schutter B (2013a) On implicit versus explicit max-plus modeling for the rescheduling of trains. Denmark, Copenhagen

    Google Scholar 

  • 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

    Book  Google Scholar 

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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

Download references

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

Authors

Corresponding author

Correspondence to Bart Kersbergen.

Appendix

Appendix

1.1 A.1 Headway constraints with control variables

If u i l (kμ i,l ) = 0 in Eqs. 3740, then \(\overline {u_{il}(k-\mu _{i,l})}=\varepsilon \) and the equations become:

$$\begin{array}{@{}rcl@{}} d_{i}(k)\geq d_{l}(k-\mu_{i,l})\otimes\tau_{\mathrm{h,d},i,l} (k)\otimes 0&=&d_{l}(k)\otimes\tau_{\mathrm{h,d},i,l} (k)\\ a_{i}(k)\geq a_{l}(k-\mu_{i,l})\otimes \tau_{\mathrm{h,a},{i,l}}(k)\otimes 0&=&a_{l}(k)\otimes \tau_{\mathrm{h,a},{i,l}}(k)\\ d_{l}(k-\mu_{i,l})\geq d_{i}(k)\otimes \tau_{\mathrm{h,d},{l,i}}(k-\mu_{i,l})\otimes \varepsilon&=&\varepsilon\\ a_{l}(k-\mu_{i,l})\geq a_{i}(k)\otimes \tau_{\mathrm{h,d},{l,i}}(k-\mu_{i,l})\otimes \varepsilon&=&\varepsilon. \end{array} $$

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:

$$\begin{array}{@{}rcl@{}} d_{i}(k)&\geq& d_{l}(k-\mu_{i,l})\otimes\tau_{\mathrm{h,d},i,l} (k)\otimes \varepsilon=\varepsilon\\ a_{i}(k)&\geq& a_{l}(k-\mu_{i,l})\otimes \tau_{\mathrm{h,a},{i,l}}(k)\otimes \varepsilon=\varepsilon\\ d_{l}(k-\mu_{i,l})&\geq& d_{i}(k)\otimes \tau_{\mathrm{h,d},l,i} (k-\mu_{i,l})\otimes 0=d_{i}(k)\otimes \tau_{\mathrm{h,d},l,i} (k-\mu_{i,l})\\ a_{l}(k-\mu_{i,l})&\geq& a_{i}(k)\otimes \tau_{\mathrm{h,d},{l,i}}(k-\mu_{i,l})\otimes 0=a_{i}(k)\otimes \tau_{\mathrm{h,a},{l,i}}(k-\mu_{i,l}) \end{array} $$

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

$$\begin{array}{@{}rcl@{}} A_{0,4,\mathrm{d}}(u(k),k)=\left[\begin{array}{llll} \quad\varepsilon\quad\quad\quad 3\otimes \overline{u_{1}(k)}\quad3\otimes \overline{u_{3}(k)}\\ 3\otimes u_{1}(k)\quad\,\,\,\quad \varepsilon\quad\quad\,\, 3\otimes \overline{u_{2}(k)}\\ 3\otimes u_{3}(k)\,\, 3\,\,\otimes u_{2}(k)\quad\quad\,\,\,\, \varepsilon \end{array}\right] \end{array} $$

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:

$$\begin{array}{@{}rcl@{}} A_{0,4,\mathrm{d}}^{\otimes^{2}}(u(k),k)=\left[\begin{array}{ccc} 6\otimes \overline{u_{1}(k)}\otimes u_{1}(k) &6\otimes u_{2}(k)\otimes \overline{u_{3}(k)} & 6\otimes \overline{u_{1}(k)}\otimes \overline{u_{2}(k)} \\ 6\otimes \overline{u_{2}(k)}\otimes u_{3}(k) &6\otimes u_{2}(k)\otimes \overline{u_{2}(k)} &6\otimes u_{1}(k)\otimes \overline{u_{3}(k)} \\ 6\otimes u_{1}(k)\otimes u_{2}(k) &6\otimes \overline{u_{1}(k)}\otimes u_{3}(k) &6\otimes u_{3}(k)\otimes \overline{u_{3}(k)} \end{array}\right]\\ =\left[\begin{array}{ccc} \varepsilon & 6\otimes u_{2}(k)\otimes \overline{u_{3}(k)} & 6\otimes \overline{u_{1}(k)}\otimes \overline{u_{2}(k)} \\ 6\otimes \overline{u_{2}(k)}\otimes u_{3}(k) & \varepsilon &6\otimes u_{1}(k)\otimes \overline{u_{3}(k)} \\ 6\otimes u_{1}(k)\otimes u_{2}(k) & 6\otimes \overline{u_{1}(k)}\otimes u_{3}(k) & \varepsilon \end{array}\right] \end{array} $$

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:

$$\begin{array}{@{}rcl@{}} A_{0,4,\mathrm{d}}^{\otimes^{3}}(u(k),k)=\left[ \begin{array}{c} 9\otimes (u_{1}(k)\otimes u_{2}(k)\otimes \overline{u_{3}(k)}\oplus \overline{u_{1}(k)} \otimes \overline{u_{2}(k)} \otimes u_{3}(k))\\ 9 \otimes u_{1}(k)\otimes u_{2}(k)\otimes \overline{u_{2}(k)}\\ 9 \otimes u_{2}(k)\otimes \overline{u_{2}(k)}\otimes u_{3}(k) \end{array}\ldots\right.\\ \left.\begin{array}{ccc} 9 \otimes \overline{u_{1}(k)}\otimes u_{3}(k)\otimes \overline{u_{3}(k)}\\ 9 \otimes(u_{1}(k)\otimes u_{2}(k)\otimes \overline{u_{3}(k)}\oplus \overline{u_{1}(k)} \otimes \overline{u_{2}(k)} \otimes u_{3}(k))\\ 9 \otimes u_{2}(k)\otimes u_{3}(k)\otimes \overline{u_{3}(k)} \end{array}\right.\ldots\\ \left.\begin{array}{ccc} 9 \otimes u_{1}(k)\otimes \overline{u_{1}(k)}\otimes \overline{u_{3}(k)}\\ 9 \otimes u_{1}(k)\otimes \overline{u_{1}(k)}\otimes \overline{u_{2}(k)}\\ 9 \otimes(u_{1}(k)\otimes u_{2}(k)\otimes \overline{u_{3}(k)}\oplus \overline{u_{1}(k)} \otimes \overline{u_{2}(k)} \otimes u_{3}(k)) \end{array}\right] \end{array} $$

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:

$$\begin{array}{@{}rcl@{}} \overline{u_{1}(k)} \otimes \overline{u_{2}(k)} \otimes u_{3}(k)&\leq\varepsilon\\ u_{1}(k)\otimes u_{2}(k)\otimes \overline{u_{3}(k)}&\leq \varepsilon \end{array} $$

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:

$$\begin{array}{@{}rcl@{}} \begin{array}{llll}T_{1}=[1\, 2]^{\top} &\quad T_{2}=[3 \,4]^{\top} &\quad \tilde{T}_{1}=[1 \,2 \,3 \,4]^{\top} &\quad \\ \mathcal{H}_{1}=\emptyset &\quad \mathcal{H}_{2}=\{1\} &\quad \mathcal{H}_{3}=\emptyset &\quad \mathcal{H}_{4}=\{3\} \end{array} \end{array} $$

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}\):

$$\begin{array}{@{}rcl@{}} [\tilde{A}_{0,4,\mathrm{d},1}]_{1,2}&=&\tau_{\mathrm{h,d},1,2} (k)\otimes u_{1,2}(k)\otimes (w_{1}(k)\otimes w_{2}(k)\oplus \overline{w_{1}(k)}\otimes \overline{w_{2}(k)})\\ \text{[}\tilde{A}_{0,4,\mathrm{d},1}]_{3,4}&=&\tau_{\mathrm{h,d},3,4} (k)\otimes u_{3,4}(k)\otimes (w_{3}(k)\otimes w_{4}(k)\oplus \overline{w_{3}(k)}\otimes \overline{w_{4}(k)}) \end{array} $$

and the second if-condition results in the following non- ε elements of \(\tilde {A}_{0,4,\mathrm {d},1}\):

$$\begin{array}{@{}rcl@{}} [\tilde{A}_{0,4,\mathrm{d},1}]_{2,1}&=&\tau_{\mathrm{h,d},2,1} (k)\otimes \overline{u_{1,2}(k)}\otimes (w_{1}(k)\otimes w_{2}(k)\oplus \overline{w_{1}(k)}\otimes \overline{w_{2}(k)})\\ \text{[}\tilde{A}_{0,4,\mathrm{d},1}]_{4,3}&=&\tau_{\mathrm{h,d},4,3}(k)\otimes \overline{u_{3,4}(k)}\otimes (w_{3}(k)\otimes w_{4}(k)\oplus \overline{w_{3}(k)}\otimes \overline{w_{4}(k)}). \end{array} $$

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}\):

$$\begin{array}{@{}rcl@{}} [\tilde{A}_{0,4,\mathrm{d},1}]_{1,3}&=&\tau_{\mathrm{h,d},1,3} (k)\otimes u_{1,3}(k)\otimes \left(w_{1}(k)\otimes \overline{w_{3}(k)}\oplus\overline{w_{1}(k)}\otimes w_{3}(k)\right)\\ \text{[}\tilde{A}_{0,4,\mathrm{d},1}]_{1,4}&=&\tau_{\mathrm{h,d},1,4} (k)\otimes u_{1,4}(k)\otimes (w_{1}(k)\otimes \overline{w_{4}(k)}\oplus\overline{w_{1}(k)}\otimes w_{4}(k))\\ \text{[}\tilde{A}_{0,4,\mathrm{d},1}]_{2,4}&=&\tau_{\mathrm{h,d},2,4} (k)\otimes u_{2,4}(k)\otimes (w_{2}(k)\otimes \overline{w_{4}(k)}\oplus\overline{w_{2}(k)}\otimes w_{4}(k))\\ \text{[}\tilde{A}_{0,4,\mathrm{d},1}]_{3,2}&=&\tau_{\mathrm{h,d},{3,2}}(k)\otimes u_{3,2}(k)\otimes (w_{3}(k)\otimes \overline{w_{2}(k)}\oplus\overline{w_{3}(k)}\otimes w_{2}(k)), \end{array} $$

and the fourth if-condition results in the final non- ε elements \(\tilde {A}_{0,4,\mathrm {d},1}\):

$$\begin{array}{@{}rcl@{}} [\tilde{A}_{0,4,\mathrm{d},1}]_{3,1}&=\tau_{\mathrm{h,d},3,1} (k)\otimes \overline{u_{1,3}(k)}\otimes (w_{1}(k)\otimes \overline{w_{3}(k)}\oplus\overline{w_{1}(k)}\otimes w_{3}(k))\\ \text{[}\tilde{A}_{0,4,\mathrm{d},1}]_{4,1}&=\tau_{\mathrm{h,d},4,1} (k)\otimes \overline{u_{1,4}(k)}\otimes (w_{1}(k)\otimes \overline{w_{4}(k)}\oplus\overline{w_{1}(k)}\otimes w_{4}(k))\\ \text{[}\tilde{A}_{0,4,\mathrm{d},1}]_{4,2}&=\tau_{\mathrm{h,d},4,2} (k)\otimes \overline{u_{2,4}(k)}\otimes (w_{2}(k)\otimes \overline{w_{4}(k)}\oplus\overline{w_{2}(k)}\otimes w_{4}(k))\\ \text{[}\tilde{A}_{0,4,\mathrm{d},1}]_{2,3}&=\tau_{\mathrm{h,d},2,3} (k)\otimes \overline{u_{3,2}(k)}\otimes (w_{3}(k)\otimes \overline{w_{2}(k)}\oplus\overline{w_{3}(k)}\otimes w_{2}(k)). \end{array} $$

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

$$A_{0}=\left[\begin{array}{ll}A_{\mathrm{a}}& A_{\mathrm{b}}\\ A_{\mathrm{c}} & A_{\mathrm{d}} \end{array}\right], $$

and its graph \(\mathcal {G}(A_{0})\) given in Fig. 10.

Fig. 10
figure 10

Graph \(\mathcal {G}(A_{0})\)

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 bA 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:

$$\begin{array}{@{}rcl@{}} \left[A_{0}^{\otimes^{2}}\right]_{1,2}&=&A_{\mathrm{a}}\otimes A_{\mathrm{b}}\oplus A_{\mathrm{b}}\otimes A_{\mathrm{d}}\\ \left[A_{0}^{\otimes^{2}}\right]_{2,1}&=&A_{\mathrm{c}}\otimes A_{\mathrm{a}}\oplus A_{\mathrm{d}}\otimes A_{\mathrm{c}}\\ \left[A_{0}^{\otimes^{2}}\right]_{2,2}&=&A_{\mathrm{d}}^{\otimes 2}\oplus A_{\mathrm{c}}\otimes A_{\mathrm{b}} \end{array} $$

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 aA bA 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 bA cA 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 bA dA 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. 5962 in Section 4.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10626-014-0205-7

Keywords

Navigation