# An Evaluation Framework and Algorithms for Train Rescheduling

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Problem Description, Scope, and Terminology

## 3. Related Work

## 4. Framework Part I: Classification of Algorithm Capabilities and Characteristics

- Infrastructure granularity: A railway network can be considered on three different levels of granularity: microscopic, mesoscopic or macroscopic [11,14]. A microscopic modelling approach represents every relevant element of the railway infrastructure in detail, e.g., block sections of different length separated by signals and switches, properties of individual tracks and platforms in stations. This is typically important for scheduling the interaction of many different trains in congested sub-networks, stations and junctions. A macroscopic approach typically disregards any fine-grained segmentation of the tracks [14] and each modelled infrastructure element could represent several physical resources. For example, the capacity restriction of a segment between two stations is often represented by a cumulative function that restricts the number of trains that simultaneously occupy the segment, but without allocating unique tracks and platforms. Several algorithms adopt a mixed approach by using a mesoscopic model of the infrastructure and traffic [14]. Often, individual tracks and platforms are modelled, but not the layout of stations and junctions.
- Time representation: Time representation refers to how the time that a train is scheduled to occupy a certain infrastructure resource is modelled. The choice of time representation affects how detailed the interaction of trains can be modelled and how the problem size grows with an increased scheduling time window. In Table 3, four rescheduling approaches that adopt a continuous time representation are mentioned, while e.g., Harrod and Schlechte [24] present and compare two alternative models that adopt a discrete time representation.
- Special considerations: While rescheduling trains, a few core constraints need to be enforced for the feasibility of the resulting timetable(s). From a macroscopic modelling perspective, the following constitute the core constraints in train rescheduling:
- Network capacity constraints: At most, one train can occupy a railway track at any time.
- Minimum occupation time constraints: On a line section, a train may be able to run faster or slower than originally planned, but never run faster than the minimum run time for that specific section. On station sections, this corresponds to the minimum required dwell time.
- Departure time constraints: A train, which stops at a station for alighting passengers, cannot depart that station before its originally planned departure time.

Algorithm Characteristic | Values |
---|---|

Infrastructure granularity [9,11] | Microscopic, Mesoscopic, Macroscopic |

Time representation [15] | Discrete, Continuous |

Special considerations [15] | Train length, train weight, type of train service and its associated preferences, train connections and other operational dependencies, etc. |

Applicable infrastructures [15] | Line, Network |

Applicable sections [15] | Single-tracked, Double-tracked, Multi-tracked |

Applicable railway tracks [15] | Unidirectional, Bi-directional |

Rescheduling tactics [6,25] | Retiming, rerouting, reordering, train cancellations, adding extra trains, etc. |

Optimization objective(s) | Minimize train delays, maximize passenger satisfaction, etc. |

Solving strategy | Centralized, Decomposition |

Solution space exploration | Full, Partial |

Solution approach [6] | MILP solver, lagrangian relaxation method, branch and bound method using a depth-first search or a parallel tree search, tabu search, etc. |

Main ideas of the approach [6] | Interpreting the problem as a blocking job-shop scheduling problem and modelling using graph theory, addressing multiple objectives in the problem using epsilon constraints, etc. |

Control loop [26] | Open, Multiple open, Closed |

Evaluation level [15] | Conceptual approach, Simulated experiments (artificial or real data), Field experiments, Deployed in practice |

Evaluation context | Station or Terminal area, Line, Network |

Applicable scenarios | Delayed train, infrastructure (e.g., signal) failure, train malfunction, freight train’s early departure from its yard, etc. |

- Applicable infrastructures, sections and tracks: These three related aspects specify the properties that can be represented by an algorithm’s model of the rail infrastructure. For example, an algorithm that is intended to be used for rescheduling trains on a single line may assume that all stations are linked in a sequence and that all trains travel between the stations in a chronological order. A line is here a “sequence of segments between two major stations with possibly several intermediate stations”, while a railway network is instead comprised of “one or several junctions of lines” [15]. In a network, one station can be connected directly with more than two stations [6]. Hence, an algorithm may or may not be able to reschedule trains in a network setting. Furthermore, the segments between the stations and their capacity restrictions may be modelled differently depending on if e.g., only single track is considered or if segments with several alternative tracks can be used to reschedule delayed trains. Whether the algorithm can represent only tracks that permit traffic in only one direction, or in both directions (i.e., bi-directional traffic), is also relevant to capture. For example, in some rail networks, a double-tracked line consists of two parallel, uni-directional tracks where one is dedicated to traffic in one direction and the other to traffic in the reversed direction. Hence, overtaking is then only possible at stations and an algorithm may base its computation on this assumption and enforce associated constraints. In Sweden, basically, all tracks allow bi-directional traffic (i.e., there are signals for trains in either direction). Allowing faster trains to overtake slower trains on the line between stations is a frequently-used measure to enable trains to catch up and to reduce delay propagation.
- Solving strategy: When the original problem is solved as one instance, it is said to be a centralized approach [15]. A decomposition approach replaces the original problem with a sequence of smaller sub-problems, the solutions to which are computed and then recombined or extended to the original problem. Examples are (i) the rolling horizon approach (decomposition in time), (ii) partitioning trains into groups and sequentially solving the problem associated with each group, and (iii) approaches where entire administrative areas are considered as single entities to carry out inter-area coordination among trains [25].
- Solution space exploration: Based on the country, IMs have specific rules for resolving conflicts during a disturbance. For example, in Sweden, the general dispatching strategy gives priority to on-time trains over the trains that deviate from the originally planned schedule. The reason behind this rule is to prevent a delay from propagating to trains that run according to schedule [28]. The dispatchers can, however, make exceptions to this rule when it is well-motivated. An algorithm that abides by such specific rules cannot fully explore the solution space for all possible rescheduling solutions.
- Control loop: A control loop gives the interaction between the rescheduling tool and traffic operations [26]. In open loop rescheduling, the rescheduling decisions are computed and implemented only once at the beginning of a selected time window (e.g., two hours from the time when disturbance occurs). In multiple open loop rescheduling, the algorithm can be applied at successive times over the time window. Whenever additional information regarding traffic conditions is available, the calculations can be reconsidered [11]. However, the algorithm does not consider the actions computed and implemented during its previous runs in the selected time window. A closed loop rescheduling is defined as a multiple open loop with memory [26]. In this type of control loop, dispatching actions are immediately computed and adjusted every time updated information is available, on the basis of the current traffic state and the previously computed rescheduling decisions. In a closed loop, information updates are taken into account whenever available [11].
- Evaluation context: The context in which the algorithm designer evaluates his/her proposed algorithm can be classified as: a station or a terminal area, a line, or a network.
- Applicable scenarios: An algorithm could be designed such that it is applicable only to a subset of the possible disturbance scenarios. In contrast, an algorithm may be able to solve any type of disturbance scenario. An algorithm with the latter functionality could be more relevant in a practical context, where any type of disturbance scenario could arise. The applicable scenarios include the types of disturbances that an algorithm has been demonstrated to be able to solve.

Algorithm Characteristic | Algorithm 1 (Josyula et al. [22]) | Algorithm 2 (Törnquist and Persson [19]) | Algorithm 3 (Bettinelli et al. [14]) | Algorithm 4 (Lamorgese and Mannino [29]) |
---|---|---|---|---|

Infrastructure granularity | Mesoscopic | Mesoscopic | Configurable to any of the three granularity levels. | Mesoscopic: stations (microscopic), lines (macroscopic) |

Time representation | Continuous | Continuous | Continuous | Continuous |

Special considerations | Platform and track allocation of trains without considering train and track properties. | Platform and track allocation based on train length and track length. Train connections. | Connecting trains, (de)coupling of trains, track length, maximum train speed attainable on the track. | Train properties are considered in some cases. |

Applicable infrastructures | Network | Network | Network | Network |

Applicable sections | multi-tracked | multi-tracked | multi-tracked | multi-tracked |

Applicable railway tracks | bi-directional | bi-directional | uni-directional | uni-directional, can be made applicable to bi-directional tracks by adding multi-commodity flow variables and constraints. |

Rescheduling tactics | Retiming, reordering, and local rerouting | Retiming, reordering, and local rerouting | Retiming, reordering, and rerouting (local, global) | Retiming, reordering, and local rerouting |

Optimization objective(s) | Minimize total train delay, total passenger delay, number of delayed passengers, etc. Objectives are easily configurable. Each objective corresponds to an objective function. | (i) Minimize train delays at their final destination or (ii) Minimize the total cost associated with train final delays. The two alternative objective functions can easily be extended and replaced. | Minimize the penalties due to (i) delays, (ii) logical dependency breaking, (iii) soft capacity violations, and (iv) the use of detours. The objective function can be easily modified to consider other indicators. | Minimize the sum of delay costs for all trains at every station in their route. The objective function can be made to accommodate various goals by adding specific variables. |

Solving strategy | Centralized | Centralized | Centralized | Decomposition |

Solution space exploration | Partial | Full | Partial | Full |

Solution approach | Branch and bound approach using a parallel depth-first search. | Branch and cut approach using a sequential tree search (defined by the applied commercial solver). | An iterated greedy approach using a reduced variable neighbourhood search, or tabu search. | Branch and cut approach (CPLEX solver to solve the formulated MILPs) using a parallel tree search. |

Main ideas of the approach | A set of upper bounds associated with the set of best solutions is maintained and updated throughout the search. Pruning metrics corresponding to the multiple minimization objectives are used to prune off potentially undesirable solution branches. | The explicit MILP formulation is solved using a commercial solver, e.g., CPLEX or Gurobi. Optionally, the solution space can be restricted with different heuristic strategies to speed up the computation time while risking to cut solution branches leading to optimal solutions. | Each train’s new schedule is created by solving a shortest-path problem. A new timetable is obtained by rescheduling the trains one by one, according to their ranking, which is perturbed using a set of rules to obtain improved timetables. | A master–worker algorithm is applied to the line (as master) and station (as worker) subproblems, by modelling them as MILPs. |

Control loop | Open | Open | Open | Open |

Evaluation level [15] | Simulated experiments (real-world instances of Sweden). | Simulated experiments (real-world instances). | Simulated experiments (real-world and artificial instances). (To be) deployed in practice. | Simulated experiments (real-world instances of Italy). Deployed in practice in Norway. |

Evaluation context | Line (Karlskrona–Tjörnarp line) | Network (of different lines in the south traffic district of Sweden). | Line, Station area | Line (Lines Stavanger-Moi, Foligno-Orte, etc.) |

Applicable scenarios | Delayed train (i.e., initial primary delays of various sizes, various trains and various locations). | Delayed train (i.e., initial primary delays of various sizes, various trains and various locations). | Cannot be determined from the research paper. | Cannot be determined from the research paper. |

## 5. Framework Part II: Key Aspects for a Systematic Evaluation of Algorithm Performance

- Train punctuality: The percentage of trains that arrive at their final destination within a given threshold of t minutes represents train punctuality. This metric is frequently used by railway organizations and in rail literature, with various threshold values, e.g., 0 min [16], 3 min [20,29], 5 min [21]. For this reason, we use the percentage of early, on-time and delayed trains (for different threshold values) as metrics for train punctuality.
- Train delays: Tardiness of a train at a relevant point in the network, e.g., a station, is its delay in arriving at the point [16], within a chosen t min threshold. Total accumulated delay (TAD) is the total tardiness of all trains at their intermediary, scheduled commercial stations (a commercial station is a station where the train stops for alighting passengers). Total final delay (TFD) is the total tardiness of all trains at their final destinations.The tardiness metrics TAD
_{3}and TFD_{3}capture the delays for a threshold of 3 min. The delays incurred in the solutions output by an algorithm are expected to be as close as possible to the optimal.Total accumulated delay is an important delay metric often used in railway operations analysis [31]. Total final delay is a frequently used metric in the objective functions of existing train rescheduling algorithms proposed by the research community. The reason for selecting a threshold of 3 min is due to its use by the Swedish railway authority to continuously monitor and log arrival and departure train delays in the associated traffic management system. Furthermore, delays larger than 3 min are more likely to cause the passengers to miss train connections, compared to smaller delays. - Delay propagation: Trains that are delayed as a direct result of a disturbance experience primary delays. When on-time trains instead become delayed as a result of delay propagation, they are said to experience secondary delays. We compute the number of trains experiencing small secondary delays (≤3 min) and large secondary delays (>3 min) anywhere in their itinerary, in the obtained rescheduled timetables. This indicator is used to reflect the extent to which delays are propagated to other trains (i.e., knock-on effects). It is important to consider this indicator as even a simple infrastructure failure can at times create knock-on effects in the railway network that may continue for many hours.
- Freight train performance: The timetable deviation [16] evaluates the difference between the originally planned timetable and the new timetable. The latter should ideally limit the deviation from the originally planned times. We compute the timetable deviation for freight trains at their departure yards. Since freight train operators prefer not to increase their travel times, we consider it to be a relevant metric to use when measuring freight train performance. Another important metric for freight trains is the number of unplanned stops [20]. Multiple unplanned stops further increase the travel time, since slowing down and speeding up heavy freight trains is time consuming. In addition, these trains may block critical station tracks during their unplanned stops. In addition, unplanned stops impact operating costs and energy consumption. Hence, we record the number of new stations at which freight trains stopped during their journey. When a freight train arrives very early, problems may arise in the arrival yard where shunting and (un)loading takes place as per its separate schedule. For this reason, we use the percentage of freight trains that are earlier than 15 min as a metric for this indicator. Late arrivals of freight trains are also problematic. The percentage of late freight trains, e.g., with an arrival delay ≥ 30 min, are already accounted for in the general train punctuality indicator, and hence we do not explicitly record them.Note that, if the rescheduling time window does not include the freight train’s complete journey, the first and last stations in the problem instance are considered to be the departure and arrival yards, respectively.
- Passenger delays: Total passenger delay (TPD) captures the total delays experienced by all passengers while alighting at their destinations. This metric is frequently used in the rail literature to estimate passenger inconvenience [23]. We multiply the number of alighting passengers with the associated train delay at that particular train stop, where only a delay larger than a threshold of 3 min is counted. This metric, called TPD
_{3}, is used to estimate the inconvenience that the passengers would experience due to the rescheduled timetable. - Track reassignments: The number of track reassignments indicates how complicated a rescheduling solution may be to implement. Furthermore, the track reassignments for a passenger train at a station may result in certain passenger groups having to change platforms shortly before the train’s departure. In practice, this may result in either the passengers missing their train or in a new train delay due to increased boarding times. Note that passenger transfers and train coordinations are not considered in the two algorithms compared in this paper.
- Computation time: The computation time of a train rescheduling algorithm is an important metric, as the algorithm runs in real time. The wall-clock time taken by the algorithm to obtain the best found rescheduling solution is recorded. Alternatively, an appropriate time limit (e.g., 15 seconds) could be set for the benchmarked algorithms to assess the resulting best rescheduling solutions within the time limit.

## 6. Train Rescheduling Algorithms Used in the Experiment

#### 6.1. Algorithm 1: An a Posteriori Multi-Objective Parallel Heuristic Algorithm

_{3}, TPD

_{3}) are used for pruning. Throughout the search, all the parallel threads share and update the values of the upper bound of each selected metric. Based on these values, the branches leading to undesirable solutions are pruned. The parallel program can be launched with the required number of parallel threads. Once the specified number of threads are created, each thread runs in parallel an instance of the sequential DFS.

- Limiting the number of track reassignments: While rescheduling, the algorithm in [22] often performed many track reassignments. Limiting of track reassignments is achieved by reallocating tracks only for the trains with a primary delay. For all other trains, no track reassignments are performed; reordering and retiming are the employed tactics.
- Improving the resolution of conflicts: The algorithm in [22] (i) does not make use of the buffer times available in the initially disturbed events, (ii) uses only the FCFS prioritization strategy to resolve a conflict that involves two trains in the same direction, (iii) does not have any memory of previously resolved conflicts. The conflict resolution module of the algorithm in [22] is redesigned (i) to use the buffer times in the train events disturbed due to the incident, (ii) to consider both the prioritization alternatives when a conflict between two trains in the same direction is encountered and (iii) to consider the same prioritization between two trains in conflict throughout a solution branch.
- Implementing the TOPSIS approach: The multi-objective algorithm in [22] returns a set of rescheduled timetables. Several useful methods exist to select one solution from a set of rescheduling solutions. One such method is TOPSIS [34], which stands for Technique for Order of Preference by Similarity to Ideal Solution. This method is used to select the best train timetable from the set of timetables output by the multi-objective algorithm. The TOPSIS method selects an alternative such that it is closest to the ideal solution and farthest from the negative-ideal solution.
- Speeding up the search by ignoring potentially undesirable solutions: During the search for a set of good candidate solutions, the multi-objective algorithm in [22] searches along a solution branch whenever the partial solution improves an existing upper bound, even by a minute amount. We noticed that this increases the computation time of the algorithm and gives undesirable solutions in the solution set which are later excluded by the TOPSIS approach. Hence, the algorithm’s search process is modified such that it explores a solution branch only when the partial solution improves an existing upper bound by at least 20% in any of the metrics considered in the objectives.

#### 6.2. Algorithm 2: An a Priori Multi-Objective Optimization Model Solved Using a Commercial Optimization Software

`setObjectiveN()`method is used to set five objectives with different priorities. In Listing 1, a unique integer

`index`in $[0,n-1]$ is assigned to each of the n objectives, as required by the employed commercial solver. The integer

`priority`for each objective is assigned, keeping in mind that the larger the value, the higher is the priority. The solver allows lower-priority objectives to degrade those with a higher priority by the specified absolute or relative tolerance amounts (

`abstol`or

`reltol`, respectively). In our lexicographic approach, we restrict lower-priority objectives from degrading the values of higher-priority objectives by specifying the values of

`abstol`and

`reltol`as zero.

`setObjectiveN()`with the appropriate arguments, we employ the commercial solver, which uses the following algorithm (called ALG2 in this paper), to solve the extended model. ALG2 first searches for an optimal solution for the highest-priority objective, i.e., minimizing TFD

_{3}. It then searches for an optimal solution for the next objective [36], i.e., minimizing TAD

_{3}, but only from among the solutions with optimal value of TFD

_{3}. The algorithm then searches for an optimal solution that minimizes TPD

_{3}from among the solutions with optimal TFD

_{3}and TAD

_{3}. Similarly, the algorithm searches for an optimal solution that minimizes track reassignments. Finally, the algorithm finds an optimal solution that minimizes event end-time deviations and outputs that solution to the user. Note that the relative prioritization between the five objectives in ALG2 is not connected in any way to the proposed framework.

## 7. Description of the Experiment

#### 7.1. Dataset and Scenarios

#### 7.2. Experimental Setup

#### 7.3. Gathering the Ideal Point for Each Scenario

_{3}, (ii) minimizing TAD

_{3}, (iii) minimizing TPD

_{3}. Typically, the ideal point is hypothetical, i.e., it often does not exist in the solution space [33]. Table 8 shows the computation of ideal point for disturbance scenario 1.

#### 7.4. Statistical Analysis

`scipy.stats.wilcoxon()`function from the open-source software SciPy to perform the Wilcoxon signed-rank test. In the next section, wherever relevant, we mention the p-value obtained from the aforementioned test.

#### 7.5. Fairness in Benchmarking the Algorithms

## 8. Results and Discussion

#### 8.1. Train Punctuality

#### 8.2. Train Delays

_{3}($p=0.002$). For TAD

_{3}, statistical significance could not be confirmed from the obtained results ($p=0.29$). This means that the difference in the values of TAD

_{3}for the two algorithms is more likely to have occurred by chance.

_{3}in ALG1’s solutions is often rather far from the optimal value (see Table 12). In contrast, ALG2 always obtains a solution with optimal TFD

_{3}, even if it means causing a large delay to a single train. For example, in the solution obtained by ALG2 for scenario 6, although the solution’s TFD

_{3}is minimized (54.9 min), a train experiences a delay ≥ 30 min at its final station (see Table 10). ALG1’s solution for scenario 6 has a significantly larger TFD

_{3}(78.1 min). However, in that solution, no train experiences a final delay ≥ 30 min. This is a good example of the trade-off between reducing individual train delays and reducing total train delays.

_{3}as well as optimal TAD

_{3}. It is surprising that such a trade-off between TFD

_{3}–TAD

_{3}does not occur more frequently in Table 12.

_{3}, compared to ALG2 (see Table 12). Note that ALG1 does not try to minimize TAD

_{3}. However, in the obtained solutions, the delays accumulated by trains at commercial stops are close to optimal. On the other hand, ALG2 has minimizing TAD

_{3}as its second objective. A reason for this anomaly is that ALG1, while minimizing the passenger delays, indirectly reduces the delays experienced by trains at commercial stops. On the other hand, once ALG2 optimizes the final delays (i.e., the value of TFD

_{3}) and uses it as a bound, it cannot reduce the accumulated delays beyond a certain point.

#### 8.3. Delay Propagation

#### 8.4. Freight Train Performance

#### 8.5. Passenger Delays

_{3}for the two algorithms is more likely to have occurred by chance.

_{3}within 1% of the optimal TPD

_{3}(see Table 13). For scenarios 3, 6, 14, and 18, ALG1 produces solutions that have a significantly smaller TPD

_{3}, compared to ALG2 (see Table 13). This shows a strength of its approach which simultaneously considers minimizing TPD

_{3}and TFD

_{3}with equal priority. On the other hand, ALG2 has minimizing TPD

_{3}as its third objective. For the aforementioned scenarios, after ALG2 optimizes the train delays and uses them as bounds, it cannot reduce the passenger delays beyond a certain point.

#### 8.6. Track Reassignments

#### 8.7. Computation Times

_{3}and TPD

_{3}(see Table 12 and Table 13). This means that, for these scenarios, a trade-off needs to be made between minimizing e.g., TPD

_{3}and the primary objective of ALG2, which is TFD

_{3}. Thus, compared to the output Pareto-optimal solution, a solution with a lower value of TPD

_{3}cannot be obtained without increasing the value of e.g., TFD

_{3}. The longer computation times for these scenarios could be due to ALG2 trying to prove the Pareto-optimality of the obtained solution before reaching completion.

_{3}and TPD

_{3}. Figure 6 shows the progress of ALG2 while solving scenario 18. Notice that, for this scenario, most of the time is spent in finding solutions rather than proving optimality of the found solutions. While minimizing TPD

_{3}, around 9 sec is taken by ALG2 to realize that the TPD

_{3}of the obtained solution cannot be improved further, without increasing the values of the primary and the secondary objectives (TFD

_{3}and TAD

_{3}, respectively). The gaps in Figure 6 correspond to the time taken for presolving and root relaxation.

## 9. Conclusions and Future Work

_{3}and TPD

_{3}. ALG2 is an exact algorithm that has five minimization objectives, with minimizing TFD

_{3}as the primary objective. A threshold of 3 min is considered for all the delays appearing in the minimization objectives. Based on the carried out evaluation, we analyze the overall strengths and shortcomings of the two train rescheduling algorithms and their application when solving the 30 disturbance scenarios. A strength of ALG1 is that it is good at quickly finding solutions with small passenger delays. Weaknesses of ALG1 are apparent when it is solving disturbances due to an infrastructure failure. The solutions obtained for these scenarios have significant delay propagation, unsatisfactory freight train performance and many track reassignments.

_{3}, TAD

_{3}and TPD

_{3}). For most other disturbance scenarios, the Pareto-optimal solution obtained by ALG2 is very close to the hypothetical ideal solution. The frequent existence of a feasible solution in the solution space that simultaneously minimizes TFD

_{3}, TAD

_{3}, and TPD

_{3}is surprising. Future work could investigate the conditions under which a multi-objective train rescheduling problem contains an ideal solution in its solution space, particularly with respect to the train and passenger delays.

## Author Contributions

## Funding

## Acknowledgments

## Conflicts of Interest

## Abbreviations

MILP | Mixed integer linear program |

TMS | Traffic management system |

IM | Infrastructure manager |

TOC | Train operating company |

TFD | Total final delay |

TAD | Total accumulated delay |

TPD | Total passenger delay |

DFS | Depth-first search |

TOPSIS | Technique for Order of Preference by Similarity to Ideal Solution |

## References

- Rao, X.; Montigel, M.; Weidmann, U. A new rail optimisation model by integration of traffic management and train automation. Transp. Res. Part Emerg. Technol.
**2016**, 71, 382–405. [Google Scholar] [CrossRef] - Terlaky, T.; Anjos, M.F.; Ahmed, S. Advances and Trends in Optimization with Engineering Applications; SIAM: Philadelphia, PA, USA, 2017; Volume 24. [Google Scholar] [CrossRef]
- Lamorgese, L.; Mannino, C.; Piacentini, M. Integer Optimization Techniques for Train Dispatching in Mass Transit and Main Line. In Advances and Trends in Optimization with Engineering Applications; SIAM: Philadelphia, PA, USA, 2017; pp. 65–75. [Google Scholar] [CrossRef]
- Borndörfer, R.; Klug, T.; Lamorgese, L.; Mannino, C.; Reuther, M.; Schlechte, T. Recent success stories on integrated optimization of railway systems. Transp. Res. Part Emerg. Technol.
**2017**, 74, 196–211. [Google Scholar] [CrossRef] - Peterson, A.; Wahlborg, M.; Häll, C.H.; Schmidt, C.; Kordnejad, B.; Warg, J.; Johansson, I.; Joborn, M.; Gestrelius, S.; Törnquist Krasemann, J.; et al. Deliverable D 3.1: Analysis of the Gap between Daily Timetable and Operational Traffic. Available online: https://www.semanticscholar.org/paper/Deliverable-D-3.1%3A-Analysis-of-the-gap-between-and-Peterson-Wahlborg/e27a5bff7cead805b824ebce44d2223a7a495b65 (accessed on 26 October 2020).
- Fang, W.; Yang, S.; Yao, X. A survey on problem models and solution approaches to rescheduling in railway networks. IEEE Trans. Intell. Transp. Syst.
**2015**, 16, 2997–3016. [Google Scholar] [CrossRef] - Wegele, S.; Corman, F.; D’Ariano, A. Comparing the effectiveness of two real-time train rescheduling systems in case of perturbed traffic conditions. Comput. Railw.
**2008**, 103, 535–544. [Google Scholar] [CrossRef] [Green Version] - Flier, H.F. Optimization of Railway Operations: Algorithms, Complexity, and Models. Ph.D. Thesis, ETH Zurich, Zurich, Switzerland, 2011. [Google Scholar]
- 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 Methodol.
**2014**, 63, 15–37. [Google Scholar] [CrossRef] [Green Version] - Morant, A. Dependability and Maintenance Analysis of Railway Signalling Systems. Ph.D. Thesis, Luleå University of Technology, Luleå, Sweden, 2014. [Google Scholar]
- Van Thielen, S. Conflict Prevention Strategies for Real-Time Railway Traffic Management. Ph.D. Thesis, KU Leuven, Leuven, Belgium, 2019. [Google Scholar]
- Schipper, D.; Gerrits, L. Differences and similarities in European railway disruption management practices. J. Rail Transp. Plan. Manag.
**2018**, 8, 42–55. [Google Scholar] [CrossRef] - Tschirner, S. The GMOC Model: Supporting Development of Systems for Human Control. Ph.D. Thesis, Uppsala University, Uppsala, Sweden, 2015. [Google Scholar]
- Bettinelli, A.; Santini, A.; Vigo, D. A real-time conflict solution algorithm for the train rescheduling problem. Transp. Res. Part Methodol.
**2017**, 106, 237–265. [Google Scholar] [CrossRef] - Törnquist, J. Computer-based decision support for railway traffic scheduling and dispatching: A review of models and algorithms. In Proceedings of the 5th Workshop on Algorithmic Methods and Models for Optimization of Railways (ATMOS’05), Palma, Spain, 14 September 2006. [Google Scholar]
- Samà, M.; Meloni, C.; D’Ariano, A.; Corman, F. A multi-criteria decision support methodology for real-time train scheduling. J. Rail Transp. Plan. Manag.
**2015**, 5, 146–162. [Google Scholar] [CrossRef] - Fan, B.; Roberts, C.; Weston, P. A comparison of algorithms for minimising delay costs in disturbed railway traffic scenarios. J. Rail Transp. Plan. Manag.
**2012**, 2, 23–33. [Google Scholar] [CrossRef] - Min, Y.H.; Park, M.J.; Hong, S.P.; Hong, S.H. An appraisal of a column-generation-based algorithm for centralized train-conflict resolution on a metropolitan railway network. Transp. Res. Part Methodol.
**2011**, 45, 409–429. [Google Scholar] [CrossRef] - Törnquist, J.; Persson, J.A. N-tracked railway traffic re-scheduling during disturbances. Transp. Res. Part Methodol.
**2007**, 41, 342–362. [Google Scholar] [CrossRef] - Törnquist Krasemann, J. Computational decision-support for railway traffic management and associated configuration challenges: An experimental study. J. Rail Transp. Plan. Manag.
**2015**, 5, 95–109. [Google Scholar] [CrossRef] [Green Version] - Corman, F.; Quaglietta, E.; Goverde, R.M. Automated real-time railway traffic control: An experimental analysis of reliability, resilience and robustness. Transp. Plan. Technol.
**2018**, 41, 421–447. [Google Scholar] [CrossRef] - Josyula, S.P.; Törnquist Krasemann, J.; Lundberg, L. Parallel computing for multi-objective train rescheduling. IEEE Trans. Emerg. Top. Comput.
**2020**. [Google Scholar] [CrossRef] - Josyula, S.P.; Törnquist Krasemann, J. Passenger-oriented railway traffic re-scheduling: A review of alternative strategies utilizing passenger flow data. In Proceedings of the 7th International Conference on Railway Operations Modelling and Analysis, Lille, France, 4–7 April 2017. [Google Scholar]
- Harrod, S.; Schlechte, T. A direct comparison of physical block occupancy versus timed block occupancy in train timetabling formulations. Transp. Res. Part Logist. Transp. Rev.
**2013**, 54, 50–66. [Google Scholar] [CrossRef] - Lamorgese, L.; Mannino, C.; Pacciarelli, D.; Törnquist Krasemann, J. Train Dispatching. In Handbook of Optimization in the Railway Industry; Springer: New York, NY, USA, 2018; pp. 265–283. [Google Scholar] [CrossRef]
- Corman, F.; Quaglietta, E. Closing the loop in real-time railway control: Framework design and impacts on operations. Transp. Res. Part Emerg. Technol.
**2015**, 54, 15–39. [Google Scholar] [CrossRef] - Toletti, A.; De Martinis, V.; Weidmann, U. What about train length and energy efficiency of freight trains in rescheduling models? Transp. Res. Procedia
**2015**, 10, 584–594. [Google Scholar] [CrossRef] [Green Version] - Trafikverket Network Statement. 2020. Available online: www.trafikverket.se/en/startpage/operations/Operations-railway/Network-Statement/network-statement-2020/ (accessed on 26 October 2020).
- Lamorgese, L.; Mannino, C. An Exact Decomposition Approach for the Real-Time Train Dispatching Problem. Oper. Res.
**2015**, 63, 48–64. [Google Scholar] [CrossRef] [Green Version] - Li, M.; Yao, X. Quality Evaluation of Solution Sets in Multiobjective Optimisation: A Survey. ACM Comput. Surv.
**2019**, 52. [Google Scholar] [CrossRef] - Harrod, S.; Cerreto, F.; Nielsen, O.A. A closed form railway line delay propagation model. Transp. Res. Part Emerg. Technol.
**2019**, 102, 189–209. [Google Scholar] [CrossRef] - Hwang, C.L.; Masud, A.S.M. Multiple Objective Decision Making—Methods and Applications: A State-of-the-Art Survey; Springer: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
- Arora, J.S. Chapter 18—Multi-objective Optimum Design Concepts and Methods. In Introduction to Optimum Design, 4th ed.; Academic Press: Boston, MA, USA, 2017; pp. 771–794. [Google Scholar] [CrossRef]
- Opricovic, S.; Tzeng, G.H. Compromise solution by MCDM methods: A comparative analysis of VIKOR and TOPSIS. Eur. J. Oper. Res.
**2004**, 156, 445–455. [Google Scholar] [CrossRef] - Josyula, S.P.; Krasemann, J.T.; Lundberg, L. A parallel algorithm for train rescheduling. Transp. Res. Part Emerg. Technol.
**2018**, 95, 545–569. [Google Scholar] [CrossRef] - Optimization, L.G. Gurobi Optimizer Reference Manual Version 9.0. 2020. Available online: https://www.gurobi.com/wp-content/plugins/hd_documentations/documentation/9.0/refman.pdf (accessed on 26 October 2020).
- Trafikverket. Maps of Traffic Management Areas. 2017. Available online: https://www.trafikverket.se/for-dig-i-branschen/jarnvag/Trafikledning (accessed on 28 November 2017).
- Verma, J.; Abdel-Salam, A.S.G. Testing Statistical Assumptions in Research; John Wiley & Sons: Hoboken, NJ, USA, 2019. [Google Scholar]
- McDonald, J.H. Handbook of Biological Statistics; Sparky House Publishing: Baltimore, MD, USA, 2009. [Google Scholar]
- Marino, M.J. Chapter 3—Statistical Analysis in Preclinical Biomedical Research. In Research in the Biomedical Sciences; Academic Press: Cambridge, MA, USA, 2018; pp. 107–144. [Google Scholar] [CrossRef]
- Beiranvand, V.; Hare, W.; Lucet, Y. Best practices for comparing optimization algorithms. Optim. Eng.
**2017**, 18, 815–848. [Google Scholar] [CrossRef] [Green Version] - D’ariano, A.; Pacciarelli, D.; Pranzo, M. A branch and bound algorithm for scheduling trains in a railway network. Eur. J. Oper. Res.
**2007**, 183, 643–657. [Google Scholar] [CrossRef]

**Figure 1.**Considered infrastructure: Karlskrona-Malmö [37].

Rescheduling Performed by | Description of Tasks Performed during Rescheduling |
---|---|

Dispatcher (using the STEG system [13]) | Computing solutions: The dispatcher manually performs retiming, local rerouting and reordering of the trains by modifying the digital graph in STEG that depicts the current operational plan. Selecting a solution: The system shows the consequences of potential decisions by illustrating and comparing the rescheduled timetable with the original timetable. The dispatcher can accordingly reschedule and resolve the conflicts to obtain the preferred rescheduling solution. |

Algorithm of Bettinelli et al. [14] (part of ICONIS system) | Computing solutions: Conflicts are resolved by reordering trains and retiming (i) the durations of train stops at stations, (ii) trains’ entry and departure times in different parts of the network. Trains are also rerouted locally (e.g., platform changes) and globally, based on a predefined set of detours available for each train [14]. Selecting a solution: The rescheduled timetable with the least possible number of conflicts is presented to the dispatcher. The dispatcher considers the timetable output by the algorithm and accordingly selects a solution to be implemented. |

Indicator | Employed Metrics |
---|---|

Train punctuality | (i) The percentage of early and on-time trains, (ii) the percentage of delayed trains for various thresholds. |

Train delays | The total final and accumulated delays in minutes with a threshold value of three minutes, i.e., TFD_{3}, TAD_{3}, and their closeness to the hypothetical, ideal point. |

Delay propagation | The number of trains with secondary delays, considering a threshold value of three minutes. That is, the number of trains with secondary delays ≤ 3 min and >3 min. |

Freight train performance | (i) Deviations in departure times of freight trains at their yards (in min), (ii) increase in freight train travel times (in min), (iii) number of unplanned stops for freight trains, (iv) the percentage of freight trains that arrive earlier than a threshold value (of 15 min) at their arrival yards. |

Passenger delays | Total passenger delay (in minutes) exceeding a threshold of three minutes, i.e., TPD_{3}, and its closeness to the optimal value. |

Track reassignments | The number of rescheduled track allocations for passenger and freight trains, at stations and line sections. |

Computation time | The wall-clock time taken by the algorithm to obtain the rescheduled timetable. |

**Table 5.**Main differences between the multi-objective algorithm in [22] and ALG1.

The Multi-Objective Algorithm in [22] | The Extended Algorithm (ALG1) |
---|---|

Reallocates tracks whenever possible. | Reallocates tracks only for the trains with a primary delay. |

Does not modify the train events disturbed due to the incident. | Uses the buffer times in the train events disturbed due to the incident. |

Applies only the FCFS rule while prioritizing and retiming the trains, whenever a node has a conflict between two trains in the same direction. | Considers both the prioritization alternatives when a conflict between two trains in the same direction is encountered. |

Considers any prioritization between two trains in conflict throughout a solution branch. | Considers the same prioritization between two trains in conflict throughout a solution branch. |

Collects potentially undesirable solutions in the solution set. | Ignores potentially undesirable solutions during the search process. |

Characteristic | Description |
---|---|

Type of infrastructure | Network |

Number of sections | 90, of which 42 are stations. |

Number of block sections | 290 |

Total number of trains | 237, of which 198 are passenger trains and the remaining 39 are freight trains. |

Passenger data | Synthetic data on the flow of passengers: At commercial stations, a random number of passengers (up to 85) board the passenger trains. Likewise, a random number of on-board passengers alight the trains. All of the remaining passengers on board a train alight at its final station. |

Total number of passengers | 11,545 |

Types of disturbances | Train delay at a section, train malfunction, infrastructure failure |

Scenario | Disturbance Location (Tracks) | Initially Disturbed Train | Initial Delay | 1.5 h Time Window | ||
---|---|---|---|---|---|---|

Total Trains (of Which Freight) | Initially Disturbed Trains (of Which Freight) | Events | ||||

1 | Karlshamn-Ångsågsmossen (1) | 1058 (Eastbound) | 10 min | 96 (17) | 1 | 1619 |

2 | Bromölla-Sölvesborg (1) | 1064 (Eastbound) | 15 min | 88 (13) | 1 | 1538 |

3 | Kristianstad-Karpalund (1) | 1263 (Southbound) | 18 min | 81 (11) | 1 | 1341 |

4 | Bergåsa-Gullberna (1) | 1097 (Westbound) | 20 min | 89 (13) | 1 | 1569 |

5 | Bräkne Hoby-Ronneby (1) | 1103 (Westbound) | 25 min | 85 (14) | 1 | 1312 |

6 | Flackarp-Hjärup (2) | 491 (Southbound) | 20 min | 82 (9) | 1 | 1359 |

7 | Eslöv-Dammstorp (2) | 533 (Southbound) | 20 min | 95 (17) | 1 | 1631 |

8 | Burlöv-Åkarp (2) | 544 (Northbound) | 7 min | 95 (17) | 1 | 1616 |

9 | Burlöv-Åkarp (2) | 1378 (Northbound) | 20 min | 81 (11) | 1 | 1341 |

10 | Höör-Stehag (2) | 1381 (Southbound) | 20 min | 87 (15) | 1 | 1595 |

11 | Karlshamn-Ångsågsmossen (1) | 1058 (Eastbound) | 40% | 96 (17) | 1 | 1619 |

12 | Bromölla-Sölvesborg (1) | 1064 (Eastbound) | 20% | 88 (13) | 1 | 1538 |

13 | Kristianstad-Karpalund (1) | 1263 (Southbound) | 20% | 81 (11) | 1 | 1341 |

14 | Bergåsa-Gullberna (1) | 1097 (Westbound) | 40% | 89 (13) | 1 | 1569 |

15 | Bräkne Hoby-Ronneby (1) | 1103 (Westbound) | 100% | 85 (14) | 1 | 1312 |

16 | Flackarp-Hjärup (2) | 491 (Southbound) | 100% | 82 (9) | 1 | 1359 |

17 | Eslöv-Dammstorp (2) | 533 (Southbound) | 50% | 95 (17) | 1 | 1631 |

18 | Burlöv-Åkarp (2) | 544 (Northbound) | 80% | 95 (17) | 1 | 1616 |

19 | Burlöv-Åkarp (2) | 1378 (Northbound) | 40% | 81 (11) | 1 | 1341 |

20 | Höör-Stehag (2) | 1381 (Southbound) | 40% | 87 (15) | 1 | 1595 |

21 | Karlshamn-Ångsågsmossen (1) | All trains passing through | 4 min | 96 (17) | 4 (0) | 1619 |

22 | Bromölla Sölvesborg (1) | All trains passing through | 2 min | 88 (13) | 7 (0) | 1538 |

23 | Kristianstad-Karpalund (1) | All trains passing through | 3 min | 81 (11) | 10 (0) | 1341 |

24 | Bergåsa-Gullberna (1) | All trains passing through | 6 min | 89 (13) | 7 (0) | 1569 |

25 | Bräkne Hoby-Ronneby (1) | All trains passing through | 5 min | 85 (14) | 4 (0) | 1312 |

26 | Flackarp-Hjärup (2) | All trains passing through | 3 min | 82 (9) | 38 (5) | 1359 |

27 | Eslöv-Dammstorp (2) | All trains passing through | 4 min | 95 (17) | 26 (5) | 1631 |

28 | Burlöv-Åkarp (2) | All trains passing through | 2 min | 95 (17) | 46 (6) | 1616 |

29 | Burlöv-Åkarp (2) | All trains passing through | 2 min | 81 (11) | 38 (4) | 1341 |

30 | Höör-Stehag (2) | All trains passing through | 2 min | 87 (15) | 25 (5) | 1595 |

Description | TFD_{3} | TAD_{3} | TPD_{3} |
---|---|---|---|

Optimal solution with minimum TFD_{3} | 1.1 min | - | - |

Optimal solution with minimum TAD_{3} | - | 8.1 min | - |

Optimal solution with minimum TPD_{3} | - | - | 305.7 min |

Ideal point | 1.1 min | 8.1 min | 305.7 min |

Characteristic | ALG1 | ALG2 |
---|---|---|

Special considerations | Platform and track allocation of trains without considering train properties or track properties. | Platform and track allocation of trains. Train length, track length, and train connections are not considered. |

Optimization objectives | Minimizing TFD_{3}, TPD_{3} are the two considered objectives. | Minimizing TFD_{3}, TAD_{3}, TPD_{3}, track reassignments, event end deviations. |

Main ideas of the approach | A set of upper bounds is maintained and pruning is performed based on multiple metrics. | Objectives are prioritized and a lexicographic approach is used to find the best solution. |

Evaluation context | Network | Network |

Applicable scenarios | Delayed train, infrastructure failure, train malfunction. | Delayed train, infrastructure failure, train malfunction. |

Delays at Final Stations | Algorithm | Disturbance Scenario | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | ||

<3 min | ALG1 | 2% | 3% | 7% | - | 2% | 1% | 2% | 13% | 4% | 6% | 3% | 3% | 6% | 1% | 1% | - | 2% | 8% | 1% | 1% | 5% | 6% | 9% | - | 1% | 38% | 20% | 27% | 30% | 9% |

ALG2 | 1% | 3% | 2% | - | 2% | 4% | 4% | 5% | 7% | 5% | 2% | 2% | 4% | - | 1% | - | 2% | 2% | 1% | 1% | 4% | 5% | 6% | - | 1% | 35% | 18% | 26% | 30% | 8% | |

$[3,10)$ min | ALG1 | 1% | 1% | 5% | 3% | - | 2% | 3% | 3% | 4% | - | 1% | - | 2% | 2% | - | 1% | 1% | - | - | 1% | - | - | 2% | 6% | 2% | - | 3% | - | - | - |

ALG2 | 1% | 2% | 1% | 3% | - | 5% | 3% | 2% | 4% | - | 1% | - | 2% | - | - | 1% | 1% | 3% | - | 1% | - | - | 1% | 6% | 1% | - | 3% | - | - | - | |

$[10,30)$ min | ALG1 | - | 1% | 2% | 1% | 1% | 7% | 2% | - | 6% | 2% | - | - | - | 2% | 1% | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |

ALG2 | - | - | 1% | 1% | 1% | 1% | 1% | - | 5% | 2% | - | - | - | 1% | 1% | - | - | 1% | - | - | - | - | - | - | - | - | - | - | - | - | |

≥30 min | ALG1 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | 1% * | - | - | 1% | - | - | - | - | - | - | - | - | - | - | - | - |

ALG2 | - | - | - | - | - | 1% | - | - | - | - | - | - | - | - | 1% * | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |

Algorithm | Disturbance Scenario | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | |

ALG1 | - | 1 | 7 | 1 | - | - | - | - | - | 4 | - | - | - | 1 | - | - | 1 | - | - | - | 2 | 5 | 9 | - | - | 14 | 29 | 36 | 19 | 27 |

ALG2 | - | 3 | 3 | 1 | - | - | - | - | 2 | 1 | - | - | - | 1 | - | - | - | 3 | - | - | - | - | 3 | - | - | - | - | - | - | - |

Scen | TFD_{3} (min) in the Solution of | TAD_{3} (min) in the Solution of | ||||
---|---|---|---|---|---|---|

ALG1 | ALG2 | Optimal | ALG1 | ALG2 | Optimal | |

1 | 1.1 | 1.1 | 1.1 | 8.1 | 8.1 | 8.1 |

2 | 14.2 | 5.0 | 5.0 | 63.8 | 60.3 | 57.3 |

3 | 27.9 | 14.9 | 14.9 | 144.0 | 145.4 | 138.3 |

4 | 15.4 | 13.3 | 13.3 | 46.1 | 44.0 | 43.6 |

5 | 9.5 | 9.5 | 9.5 | 71.2 | 61.8 | 60.3 |

6 | 78.1 | 54.9 | 54.9 | 118.1 | 130.4 | 112.7 |

7 | 28.6 | 24.3 | 24.3 | 93.2 | 86.5 | 86.5 |

8 | 4.6 | 3.9 | 3.9 | 33.0 | 13.1 | 13.0 |

9 | 68.1 | 56.3 | 56.3 | 77.3 | 71.4 | 29.8 |

10 | 18.1 | 16.4 | 16.4 | 70.1 | 66.7 | 66.4 |

11 | 3.6 | 3.6 | 3.6 | 4.9 | 4.9 | 2.0 |

12 | 0.0 | 0.0 | 0.0 | 0.7 | 0.7 | 0.7 |

13 | 3.0 | 3.0 | 3.0 | 13.1 | 13.1 | 13.1 |

14 | 39.8 | 26.6 | 26.6 | 47.2 | 70.7 | 46.6 |

15 | 73.1 | 71.7 | 71.7 | 193.4 | 188.5 | 181.1 |

16 | 1.4 | 1.4 | 1.4 | 0.0 | 0.0 | 0.0 |

17 | 5.6 | 5.6 | 5.6 | 4.5 | 4.5 | 4.5 |

18 | 38.3 | 33.0 | 33.0 | 38.1 | 44.4 | 31.8 |

19 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |

20 | 0.1 | 0.1 | 0.1 | 0.0 | 0.0 | 0.0 |

21 | 0.0 | 0.0 | 0.0 | 3.4 | 3.4 | 3.4 |

22 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |

23 | 1.7 | 1.3 | 1.3 | 2.1 | 0.0 | 0.0 |

24 | 16.6 | 16.6 | 16.6 | 12.8 | 12.8 | 10.3 |

25 | 5.4 | 4.7 | 4.7 | 2.7 | 2.7 | 2.4 |

26 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |

27 | 0.7 | 0.7 | 0.7 | 15.3 | 8.9 | 8.9 |

28 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |

29 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |

30 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |

Avg | 15.16 | 12.26 | 12.26 | 35.44 | 34.74 | 30.69 |

Scen | TPD_{3} (min) in the Solution of | ||
---|---|---|---|

ALG1 | ALG2 | Optimal | |

1 | 305.7 | 305.7 | 305.7 |

2 | 2520.8 | 1955.9 | 1949.1 |

3 | 2725.1 | 3292.6 | 2584.8 |

4 | 657.9 | 631.3 | 627.0 |

5 | 1535.9 | 1431.9 | 1431.9 |

6 | 3959.2 | 4384.7 | 3767.0 |

7 | 2819.6 | 2721.4 | 2721.4 |

8 | 449.9 | 235.1 | 235.1 |

9 | 1641.0 | 1551.0 | 721.2 |

10 | 1356.4 | 1255.2 | 1252.4 |

11 | 62.6 | 62.6 | 62.6 |

12 | 26.6 | 26.6 | 26.6 |

13 | 380.3 | 380.3 | 380.3 |

14 | 827.2 | 1192.9 | 827.2 |

15 | 4216.4 | 4100.9 | 3966.0 |

16 | 0.0 | 0.0 | 0.0 |

17 | 217.0 | 217.0 | 217.0 |

18 | 538.1 | 1246.4 | 497.4 |

19 | 0.0 | 0.0 | 0.0 |

20 | 0.0 | 0.0 | 0.0 |

21 | 142.5 | 142.5 | 142.5 |

22 | 0.0 | 0.0 | 0.0 |

23 | 29.7 | 0.0 | 0.0 |

24 | 260.9 | 260.9 | 201.5 |

25 | 165.6 | 165.6 | 165.6 |

26 | 0.0 | 0.0 | 0.0 |

27 | 258.5 | 130.9 | 130.9 |

28 | 0.0 | 0.0 | 0.0 |

29 | 0.0 | 0.0 | 0.0 |

30 | 0.0 | 0.0 | 0.0 |

Avg | 836.56 | 856.38 | 740.44 |

Secondary Delays | Algorithm | Disturbance Scenario | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | ||

≤3 min | ALG1 | 5 | 5 | 6 | 1 | 4 | 2 | 6 | 16 | 4 | 4 | 4 | 3 | 6 | 1 | 2 | 1 | 2 | 10 | - | 2 | 2 | 3 | 3 | - | 1 | 3 | 8 | 3 | 3 | 3 |

ALG2 | 4 | 7 | 3 | 1 | 3 | 3 | 4 | 8 | 9 | 7 | 3 | 2 | 5 | 1 | 1 | 1 | 2 | 2 | - | 3 | 2 | 3 | - | - | - | - | 6 | 1 | - | 2 | |

>3 min | ALG1 | 3 | 2 | 9 | 3 | 2 | 7 | 5 | 8 | 8 | 6 | 2 | 1 | 3 | 4 | 4 | - | - | 1 | - | 1 | - | - | 1 | - | 1 | - | 2 | - | - | - |

ALG2 | 3 | 2 | 3 | 3 | 2 | 7 | 5 | 6 | 8 | 4 | 2 | 1 | 3 | - | 4 | - | - | 4 | - | - | - | - | 1 | - | - | - | - | - | - | - |

Algorithm | Percentage of Trains | |||||
---|---|---|---|---|---|---|

Early | On-Time | Delayed at Final Section | ||||

<3 min | [3, 10) min | [10, 30) min | ≥30 min | |||

ALG1 | 5.10% | 85.30% | 7.03% | 1.43% | 0.83% | 0.07% |

ALG2 | 0.07% | 91.83% | 6.03% | 1.36% | 0.50% | 0.07% |

Algorithm | TFD_{3} | TAD_{3} |
---|---|---|

ALG1 | 15.16 min | 35.44 min |

ALG2 | 12.26 min | 34.74 min |

Ideal point | 12.26 min | 30.69 min |

Algorithm | Secondary Delays | |
---|---|---|

≤3 min | >3 min | |

ALG1 | 3.8 | 2.4 |

ALG2 | 2.8 | 1.9 |

Algorithm | Departure Deviations (d) | Increase in Travel Times (i) | Unplanned Stops (u) | Freight Trains Arriving Earlier than 15 min | |
---|---|---|---|---|---|

Early | Delayed | ||||

ALG1 | 2.76 min | 0.54 min | 1.54 min | 2.13 | 3.63% |

ALG2 | 0.46 min | 0.24 min | 1.92 min | 1.27 | 0% |

Algorithm | Passenger Trains | Freight Trains | Total | ||
---|---|---|---|---|---|

At Stations | At Lines | At Stations | At Lines | ||

ALG1 | 1.37 | 2.83 | 0.30 | 0.70 | 5.20 |

ALG2 | 0.57 | 0 | 0 | 0 | 0.57 |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 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**

Josyula, S.P.; Krasemann, J.T.; Lundberg, L.
An Evaluation Framework and Algorithms for Train Rescheduling. *Algorithms* **2020**, *13*, 332.
https://doi.org/10.3390/a13120332

**AMA Style**

Josyula SP, Krasemann JT, Lundberg L.
An Evaluation Framework and Algorithms for Train Rescheduling. *Algorithms*. 2020; 13(12):332.
https://doi.org/10.3390/a13120332

**Chicago/Turabian Style**

Josyula, Sai Prashanth, Johanna Törnquist Krasemann, and Lars Lundberg.
2020. "An Evaluation Framework and Algorithms for Train Rescheduling" *Algorithms* 13, no. 12: 332.
https://doi.org/10.3390/a13120332