# Optimizing Minimum Headway Time and Its Corresponding Train Timetable for a Line on a Sparse Railway Network

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Literature Review

- In view of the flexible minimum headway time in FCTCS, this work tries to find the optimal minimum headway time by varying the minimum headway in a set of given minimum headways and generates a satisfactory train timetable. A linear programming model is built, rigorously considering the cost of implementing signaling systems corresponding to different minimum headway time, which makes it possible to save signaling resources, as well as to well satisfy the fluctuating transport demand.
- In the proposed model, we also embed transport demand into the train timetabling stage and simultaneously optimize the train timetable, as well as the stop plan, which satisfies the demand more flexibly.

## 3. Mathematical Model

#### 3.1. Conditons of the Model

- For each planned train, we need to determine its departure time at the origin station, the arrival, dwell time, and departure time at intermediate stations, and the arrival time at the destination station. In addition, we also need to determine its stop plan, i.e., whether the train chooses to stop and how long it will stop at a station.
- For each demand pair, we need to determine which train delivers the demand pair and how many of the transport demand is delivered in the demand pair.

- The responses of demand to the resulting train service, such as travelers’ choices, are not considered in this work. As dynamic choice behaviors of travelers can influence the underlying train service patterns and detailed timetables, such as service interval times or frequencies, we assume that the transport demand is assigned to take trains in equal proportions.
- For simplicity, we simplify the detailed calculation of $\phi \left(t\right)$ into a simple decreasing function in this work and directly give corresponding costs with the variation in t. The relation between minimum headway time t and the implementing signaling system cost function $\phi \left(t\right)$ is complex. Moreover, it is obvious to see that the cost decreases with t increasing, because the increasing t can save more signaling resources.
- The price is roughly estimated based on the distance. Although our objective is to maximize train operational profit, we concentrate on selecting an optimal minimum headway in a train timetabling model instead of making price decisions.
- The minimum dwell time is fixed without changing with demand fluctuations at a station. If the minimum dwell time is regarded as a variable influenced by the fluctuating demand, it is difficult to evaluate the influence of varying minimum headway on train timetable.
- The station can accommodate enough trains, which means that the station capacity is not constrained. Our model is at a macroscopic level, regardless of detailed track assignment in a station.
- It should be noted that the granularity of minimum headway time is one minute in this work, or a shorter time interval (if required).

#### 3.2. Formulation of the Model

## 4. Genetic Algorithm for Solving the Train Timetabling Problem

#### 4.1. Representation of Chromosome and Generation of the Initial Population

#### 4.2. Calculation of the Fitness Function

#### 4.3. Common Operators

**Step 1**. Set j = 1.**Step 2**. Randomly generate a number r$\in $ [0,1].**Step 3**. If $r\le {q}_{1}$, chromosome ${\lambda}_{1}$ is selected. If ${q}_{k-1}\le r\le {q}_{k}$ ($2\le k\le n$), chromosome ${\lambda}_{k}$ is selected. ${q}_{i}$ is the cumulative probability of chromosome ${\lambda}_{i}$ calculated by ${q}_{i}={\displaystyle \sum _{j=1}^{i}{P}_{j}}$.**Step 4**. If j$\ge $n, stop; otherwise, set j = j + 1 and go to**Step 2**.

**Step 1**. Randomly select two parents ${\lambda}_{i}$ and ${\lambda}_{j}$, and randomly generate a number r $\in $ [0,1].**Step 2**. If r$\le {P}_{c}$, then crossover operation will randomly select some positions of genes in two parts of the chromosome. In the first part of chromosome, randomly select multi-genes and perform crossover operation. While, in the second part, randomly select multi-genes representing train f and perform crossover operation.

**Step 1**. Randomly select one parent ${\lambda}_{p}$ and randomly generate a number r $\in $ [0,1].**Step 2**. If r$\le {P}_{m}$, then mutation operation will randomly select some genes from two parts of the chromosome and replace the genes with random numbers within the reasonable range. In the first part of chromosome, randomly select multi-genes and perform mutation operation. In the second part, randomly select multi-genes representing route k traversed by train f and perform mutation operation on ${d}_{f,k}^{m}$ and ${w}_{f,k}^{m}$.

#### 4.4. Process of GA in Solving the Proposed Model

**Step 1. Initialize.**

**Step 2. Create new population.**

**Step 3. Stop.**

**Step 2**.

## 5. Case Study

#### 5.1. A Small-Scaled Example

#### 5.2. Large-Scaled Experiments for a Line on a Sparse Railway Network

#### 5.2.1. Data Preparation

#### 5.2.2. Computational Results

## 6. Conclusions and Future Research

## Author Contributions

## Funding

## Acknowledgments

## Conflicts of Interest

## References

- Carey, M.; Crawford, I. Scheduling trains on a network of busy complex stations. Transp. Res. Part B Methodol.
**2007**, 41, 159–178. [Google Scholar] [CrossRef] - Cacchiani, V.; Caprara, A.; Toth, P. Scheduling extra freight trains on railway networks. Transp. Res. Part B Methodol.
**2010**, 44, 215–231. [Google Scholar] [CrossRef] - Cacchiani, V.; Huisman, D.; Kidd, M.; Kroon, L.; Toth, P.; Veelenturf, L.; Wagenaar, J. An overview of recovery models and algorithms for real-time railway rescheduling. Transp. Res. Part B Methodol.
**2014**, 63, 15–37. [Google Scholar] [CrossRef] [Green Version] - Corman, F.; Quaglietta, E. Closing the loop in real-time railway control: Framework design and impacts on operations. Transp. Res. Part C Emerg. Technol.
**2015**, 54, 15–39. [Google Scholar] [CrossRef] - Meng, L.Y.; Zhou, X.S. Simultaneous train rerouting and rescheduling on an N-track network: A model reformulation with network-based cumulative flow variables. Transp. Res. Part B Methodol.
**2014**, 67, 208–234. [Google Scholar] [CrossRef] - Shang, P.; Li, R.M.; Yang, L.Y. Demand-driven timetable and stop pattern cooperative optimization on an urban rail transit line. Transp. Plan. Technol.
**2020**, 43, 78–100. [Google Scholar] [CrossRef] - Szpigel, B. Optimal train scheduling on a single-track railway. Oper. Res.
**1973**, 72, 333–351. [Google Scholar] - Carey, M.; Lockwood, D. A model, algorithms and strategy for train pathing. J. Oper. Res. Soc.
**1995**, 46, 988–1005. [Google Scholar] [CrossRef] - Higgins, A.; Kozan, E.; Ferreira, L. Optimal scheduling of trains on a single line track. Transp. Res. Part B Methodol.
**1996**, 30, 147–161. [Google Scholar] [CrossRef] [Green Version] - Caprara, A.; Fischetti, M.; Toth, P. Modeling and solving the train timetabling problem. Rail. Oper. Res.
**2002**, 50, 851–861. [Google Scholar] [CrossRef] - Caprara, A.; Monaci, M.; Toth, P.; Guida, P.L. A Lagrangian heuristic algorithm for a real-world train timetabling problem. Discret. Appl. Math.
**2006**, 154, 738–753. [Google Scholar] [CrossRef] - Ghoseiri, K.; Szidarovszky, F.; Asgharpour, M.J. A multi-objective train scheduling model and solution. Transp. Res. Part B Methodol.
**2004**, 38, 927–952. [Google Scholar] [CrossRef] - Zhou, X.S.; Zhong, M. Single-track train timetabling with guaranteed optimality: Branch-and-bound algorithms with enhanced lower bounds. Transp. Res. Part B Methodol.
**2007**, 41, 320–341. [Google Scholar] [CrossRef] - Lusby, R.; Larsen, J.; Ryan, D. Ehrgott, M. Routing trains through railway junctions: A new set-packing approach. Transp. Sci.
**2011**, 45, 228–245. [Google Scholar] [CrossRef] [Green Version] - Mu, S.; Dessouky, M. Scheduling freight trains traveling on complex networks. Transp. Res. Part B Methodol.
**2011**, 45, 1103–1123. [Google Scholar] [CrossRef] - Yang, L.X.; Qi, J.G.; Li, S.K.; Gao, Y. Collaborative optimization for train scheduling and train stop planning on high-speed railways. Omega
**2016**, 64, 57–76. [Google Scholar] [CrossRef] - Sun, L.J.; Jin, J.G.; Lee, D.H.; Axhausen, K.W.; Erath, A. Demand-driven timetable design for metro services. Transp. Res. Part C Emerg. Technol.
**2014**, 46, 284–299. [Google Scholar] [CrossRef] - Barrena, E.; Canca, D.; Coelho, L.C.; Laporte, G. Exact formulations and algorithm for the train timetabling problem with dynamic demand. Comput. Oper. Res.
**2014**, 44, 66–74. [Google Scholar] [CrossRef] - Barrena, E.; Canca, D.; Coelho, L.C.; Laporte, G. Single-line rail rapid transit timetabling under dynamic passenger demand. Transp. Res. Part B Methodol.
**2014**, 70, 134–150. [Google Scholar] [CrossRef] - Canca, D.; Barrena, E.; Algaba, E.; Zarzo, A. Design and analysis of demand-adapted railway timetables. Transp. Res. Part B Methodol.
**2014**, 70, 134–150. [Google Scholar] [CrossRef] [Green Version] - Cheng, J.; Peng, Q.Y. Combined stop optimal schedule for urban rail transit with elastic demand. Appl. Res. Comput.
**2014**, 31, 3361–3364. [Google Scholar] - Niu, H.M.; Zhou, X.S.; Gao, R. Train scheduling for minimizing passenger waiting time with time-dependent demand and skip-stop patterns: Nonlinear integer programming models with linear constraints. Transp. Res. Part B Methodol.
**2015**, 76, 117–135. [Google Scholar] [CrossRef] - Wang, Y.H.; Tang, T.; Ning, B.; Van den Boom, T.J.; Schutter, B.D. Passenger-demands-oriented train scheduling for an urban rail transit network. Transp. Res. Part C Emerg. Technol.
**2015**, 60, 1–23. [Google Scholar] [CrossRef] - Wang, Y.H.; D’Ariano, A.; Yin, J.T.; Meng, L.; Tang, T.; Ning, B. Passenger demand-oriented train scheduling and rolling stock circulation planning for an urban rail transit line. Transp. Res. Part B Methodol.
**2018**, 118, 193–227. [Google Scholar] [CrossRef] - Robenek, T.; Azadeh, S.S.; Maknoon, Y.; Lapparent, M.D.; Bierlaire, M. Train timetable design under elastic passenger demand. Transp. Res. Part B Methodol.
**2018**, 111, 19–38. [Google Scholar] [CrossRef] [Green Version] - Fu, H.L.; Nie, L.; Meng, L.Y.; Sperry, B.R.; He, Z.H. A hierarchical line planning approach for a large-scale high-speed rail network: The China case. Transp. Res. Part A Policy Pract.
**2015**, 75, 61–83. [Google Scholar] [CrossRef] - Yang, X.; Chen, A.; Ning, B.; Tang, T. Bi-objective programming approach for solving the metro timetable optimization problem with dwell time uncertainty. Transp. Res. Part E Log.
**2017**, 97, 22–37. [Google Scholar] [CrossRef] - Yue, Y.X.; Wang, S.F.; Zhou, L.S.; Tong, L.; Saat, M.R. Optimizing train stopping patterns and schedules for high-speed passenger rail corridors. Transp. Res. Part C Emerg. Technol.
**2016**, 63, 126–146. [Google Scholar] [CrossRef] - Cacchiani, J.Q.V.; Yang, L. Robust train timetabling and stop planning with uncertain passenger demand. Electron. Notes Discret. Math.
**2018**, 69, 213–220. [Google Scholar] [CrossRef] - Li, X.; Lo, H.K. An energy-efficient scheduling and speed control approach for metro rail operations. Transp. Res. Part B Methodol.
**2014**, 64, 73–89. [Google Scholar] [CrossRef] - Shi, F.; Zhao, S.; Zhou, Z.; Wang, P.; Bell, M.G.H. Optimizing train operational plan in an urban rail corridor based on the maximum headway function. Transp. Res. Part C Emerg. Technol.
**2017**, 74, 51–80. [Google Scholar] [CrossRef] - Le, Z.; Li, K.P.; Ye, J.J.; Xu, X.M. Optimizing the train timetable for a subway system. Proc. Inst. Mech. Eng. F
**2014**, 229, 2532–2542. [Google Scholar] [CrossRef] - Yang, X.; Li, X.; Gao, Z.Y.; Wang, H.W.; Tang, T. A cooperative scheduling model for timetable optimization in subway systems. IEEE Trans. Intell. Transp. Syst.
**2012**, 14, 438–447. [Google Scholar] [CrossRef] - Zhou, Y.H.; Bai, Y.; Li, J.J.; Mao, B.H.; Li, T. Integrated optimization on train control and timetable to minimize net energy consumption of metro lines. J. Adv. Transp.
**2018**, 2018, 1–19. [Google Scholar] [CrossRef] [Green Version] - Lee, Y.; Chen, C.Y. A heuristic for the train pathing and timetabling problem. Transp. Res. Part B Methodol.
**2009**, 43, 837–851. [Google Scholar] [CrossRef] - Khoshniyat, F.; Peterson, A. Improving train service reliability by applying an effective timetable robustness strategy. J. Intell. Transp. Syst.
**2017**, 21, 1547–2450. [Google Scholar] [CrossRef] - Sangphong, O.; Siridhara, S.; Ratanavaraha, V. Determining critical rail line blocks and minimum train headways for equal and unequal block lengths and various train speed scenarios. Eng. J.
**2017**, 21, 281–293. [Google Scholar] [CrossRef] [Green Version] - Liu, P.; Han, B.M. Optimizing the train timetable with consideration of different kinds of headway time. J. Algorithm. Comput. Technol.
**2017**, 11, 148–162. [Google Scholar] [CrossRef] [Green Version] - Zhang, J.M.; Han, B.M. Research on the optimization of train headway for the high-speed railway network. In Proceedings of the IEEE International Conference on Service Systems & Service Management, Tianjin, China, 25–27 June 2011. [Google Scholar] [CrossRef]
- Zhang, Y.B.; Ioannou, P. Positive train control with dynamic headway based on an active communication system. IEEE Trans. Intell. Transp. Syst.
**2015**, 16, 3095–3103. [Google Scholar] [CrossRef]

**Figure 3.**Illustration of the coding method of the first part of the individual in the genetic algorithm (GA).

Symbol | Description |
---|---|

$i,j,k$ | Physical node index, $i,j,k\in N$, N is the set of nodes. |

$e$ | Physical cell index, $e\in E$, E is the set of cells. |

$p$ | Transport demand origin-destination (OD) pair index, $p,p\prime \in P$, P is the set of transport demand OD pairs. One demand OD pair refers to a group of transport demands who have the same origin and destination stations. |

$f$ | Train index, $f\in F$, F is the set of trains that need to be scheduled. |

$t,t\prime $ | Minimum headway time, $t,t\prime \in I$, $t\prime =t\pm 1$, I is the set of given minimum headway time. |

$m,m\prime $ | Station index, $m,m\prime \in S$, S is the set of all stations. |

Symbol | Description |
---|---|

${E}_{f}^{}$ | Set of cells train f may use, ${E}_{f}^{}\subset E$. |

${E}_{s}^{}$ | Set of station cells, ${E}_{s}^{}\subset E$. |

${E}_{c}^{}$ | Set of segment cells, ${E}_{c}^{}\subset E$. |

${E}_{i}^{\mathrm{o}}$ | Set of cells starting from node i. |

${E}_{i}^{\mathrm{s}}$ | Set of cells ending at node i. |

${\delta}_{f,i,j}$ | Free-flow running time for train f to drive through cell (i, j). |

${\vartheta}_{f,i,j}^{\mathrm{min}}$ | Minimum dwell (waiting) time for train f on cell (i, j). |

${\vartheta}_{f,i,j}^{\mathrm{max}}$ | Maximum dwell (waiting) time for train f on cell (i, j). |

$T{T}_{f,i,j}$ | Travel time for train f on cell (i, j). |

${O}_{f}$ | Origin node of train f. |

${S}_{f}$ | Destination (sink) node of train f. |

${O}_{m}$ | Origin node of station m. |

${S}_{m}$ | Destination (sink) node of station m. |

${m}_{p}^{o}$ | Origin station of demand pair p. |

${m}_{p}^{s}$ | Destination station of demand pair p. |

$ES{T}_{f}$ | Predetermined earliest starting time of train f at its origin node. |

${\eta}_{p}$ | Volume of demand OD pair p. |

${C}_{f}$ | The capacity of train f. |

$\alpha $ | The maximum demand carrying coefficient of the scheduled trains. |

$\phi (t)$ | The implementing signalling system cost function when minimum headway time is t. |

$C{T}_{f,i,j}$ | The cost when train f traverses on cell (i, j). |

${R}_{f,p}$ | The rail transportation revenue when train f carries transport demand pair p. |

${k}_{p,i,j}$ | 0–1 binary demand pair p routing variables, =1, if demand pair p travel on cell (i, j), =0 otherwise. |

M | A sufficiently large positive number. |

Symbol | Description |
---|---|

${a}_{f,i,j}$ | The arrival time of train f at cell (i, j). |

${d}_{f,i,j}$ | The departure time of train f at cell (i, j). |

${x}_{f,i,j}$ | 0–1 binary train routing variables, =1, if train f selects cell (i, j) on the network; =0 otherwise. |

${\theta}_{f,f\prime ,i,j}$ | 0–1 binary train ordering variables, =1, if train f’ arrives at cell (i, j) after train f; =0 otherwise. |

${y}_{f,p}$ | Transport demand variables, transport demand of demand pair p that is transported by train f. |

${z}_{f,p,i,j}$ | Transport demand variables on cell (i, j), transport demand of demand pair p that is transported by train f on cell (i, j). |

${r}_{f}^{m,m\prime}$ | 0–1 binary train stopping variables, =1, if train f stops at both station m and m’, =0 otherwise. |

Number of Trains | Train Number | Origin Station | Destination Station | Demand Carrying Capacity | Earliest Start Time at the Origin Station |
---|---|---|---|---|---|

7 | No.1 | Station A | Station F | 500 | 8:05 |

No.2 | Station A | Station F | 500 | 8:30 | |

No.3 | Station A | Station F | 500 | 8:54 | |

No.4 | Station A | Station F | 500 | 9:18 | |

No.5 | Station A | Station F | 500 | 9:47 | |

No.6 | Station A | Station F | 500 | 10:11 | |

No.7 | Station A | Station F | 500 | 11:07 |

$\mathbf{Volume}\text{}{\mathit{\eta}}_{\mathit{p}}/$ $\mathbf{Revenue}{\mathit{R}}_{\mathit{f},\mathit{p}}$ | Station A | Station B | Station C | Station D | Station E | Station F |
---|---|---|---|---|---|---|

Station A | - | 801/59 | 211/88 | 596/105 | 241/141 | 1118/243 |

Station B | - | - | 91/78 | 181/99 | 101/112 | 268/187 |

Station C | - | - | - | 92/46 | 44/89 | 176/164 |

Station D | - | - | - | - | 83/62 | 198/123 |

Station E | - | - | - | - | - | 29/61 |

Station F | - | - | - | - | - | - |

Train Number | Station A | Station B | Station C | Station D | Station E | Station F | ||||
---|---|---|---|---|---|---|---|---|---|---|

Dep. | Arr. | Dep. | Arr. | Dep. | Arr. | Dep. | Arr. | Dep. | Arr. | |

No.1 | 8:05 | 8:15 | 8:17 | 8:27 | 8:27 | 8:37 | 8:37 | 8:47 | 8:49 | 8:59 |

No.2 | 8:30 | 8:40 | 8:40 | 8:50 | 8:50 | 9:00 | 9:00 | 9:10 | 9:10 | 9:20 |

No.3 | 8:54 | 9:04 | 9:04 | 9:14 | 9:14 | 9:24 | 9:26 | 9:36 | 9:36 | 9:46 |

No.4 | 9:18 | 9:28 | 9:30 | 9:40 | 9:40 | 9:50 | 9:52 | 10:02 | 10:02 | 10:12 |

No.5 | 9:47 | 9:57 | 9:59 | 10:09 | 10:11 | 10:21 | 10:23 | 10:33 | 10:35 | 10:45 |

No.6 | 10:11 | 10:21 | 10:23 | 10:33 | 10:35 | 10:45 | 10:47 | 10:57 | 10:59 | 11:09 |

No.7 | 11:07 | 11:17 | 11:17 | 11:27 | 11:29 | 11:39 | 11:41 | 11:51 | 11:51 | 12:01 |

Demand Pair | Number of Trains | Volume of Demand Pair | ||||||
---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | ||

A-B | 0 | 0 | 0 | 0 | 412 | 389 | 0 | 801 |

A-C | 0 | 0 | 0 | 0 | 0 | 211 | 0 | 211 |

A-D | 0 | 0 | 173 | 0 | 0 | 0 | 423 | 596 |

A-E | 241 | 0 | 0 | 0 | 0 | 0 | 0 | 241 |

A-F | 91 | 600 | 427 | 0 | 0 | 0 | 0 | 1118 |

B-C | 0 | 0 | 0 | 0 | 91 | 0 | 0 | 91 |

B-D | 0 | 0 | 0 | 181 | 0 | 0 | 0 | 181 |

B-E | 0 | 0 | 0 | 0 | 0 | 101 | 0 | 101 |

B-F | 268 | 0 | 0 | 0 | 0 | 0 | 0 | 268 |

C-D | 0 | 0 | 0 | 0 | 0 | 92 | 0 | 92 |

C-E | 0 | 0 | 0 | 0 | 44 | 0 | 0 | 44 |

C-F | 0 | 0 | 0 | 0 | 0 | 0 | 176 | 176 |

D-E | 0 | 0 | 0 | 0 | 83 | 0 | 0 | 83 |

D-F | 0 | 0 | 0 | 0 | 0 | 198 | 0 | 198 |

E-F | 0 | 0 | 0 | 0 | 0 | 29 | 0 | 29 |

$\mathbf{Volume}\text{}{\mathit{\eta}}_{\mathit{p}}/$ $\mathbf{Revenue}{\mathit{R}}_{\mathit{f},\mathit{p}}$ | Station A | Station B | Station C | Station D | Station E | Station F | Station G | Station H | Station I |
---|---|---|---|---|---|---|---|---|---|

Station A | - | 101/78 | 301/159 | 396/287 | 241/355 | 118/428 | 606/501 | 428/578 | 1341/631 |

Station B | 89/78 | - | 81/66 | 222/145 | 514/264 | 168/311 | 286/402 | 938/481 | 805/557 |

Station C | 269/159 | 155/66 | - | 92/73 | 44/192 | 167/285 | 234/285 | 663/431 | 1431/496 |

Station D | 118/287 | 34/145 | 81/73 | - | 73/101 | 98/172 | 100/291 | 203/366 | 412/417 |

Station E | 211/355 | 321/264 | 208/192 | 109/101 | - | - | - | 342/298 | 723/344 |

Station F | 434/428 | 234/311 | 198/285 | 83/212 | 98/113 | - | 177/91 | 38/169 | 336/286 |

Station G | 552/501 | 486/402 | 209/385 | 409/291 | 89/236 | 100/91 | - | 56/88 | 198/177 |

Station H | 622/578 | 532/481 | 716/431 | 245/366 | 109/298 | 121/169 | 87/88 | - | 78/86 |

Station I | 1013/631 | 441/557 | 318/496 | 334/417 | 190/344 | 131/286 | 201/177 | - | - |

Symbol | Definition | Value |
---|---|---|

pop_size | Population scale | 30 |

P_{c} | Cross probability | 0.6 |

P_{m} | Mutation probability | 0.05 |

gen | Number of iterations | 1200 |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Hao, W.; Meng, L.; Tan, Y.
Optimizing Minimum Headway Time and Its Corresponding Train Timetable for a Line on a Sparse Railway Network. *Symmetry* **2020**, *12*, 1223.
https://doi.org/10.3390/sym12081223

**AMA Style**

Hao W, Meng L, Tan Y.
Optimizing Minimum Headway Time and Its Corresponding Train Timetable for a Line on a Sparse Railway Network. *Symmetry*. 2020; 12(8):1223.
https://doi.org/10.3390/sym12081223

**Chicago/Turabian Style**

Hao, Weining, Lingyun Meng, and Yuyan Tan.
2020. "Optimizing Minimum Headway Time and Its Corresponding Train Timetable for a Line on a Sparse Railway Network" *Symmetry* 12, no. 8: 1223.
https://doi.org/10.3390/sym12081223