# A Heuristic Approach to Solving the Train Traffic Re-Scheduling Problem in Real Time
## 5 Experimental Application and Performance Assessment
### Experimental Set-Up
The analysis also shows that for all dispatching rules in scenario 1, the \(\sum TFD_{j}^{+3}\) objective function values of the 1.5 h time window are lower than the values for the 1 h time window, which confirms that the algorithm successfully attempts to make the timetable absorb delays when possible. For scenario type 2, the _minimum release time goes first_ (DR-1), _less programmed buffer time goes first_ (DR-4), and _less total buffer goes first_ (DR-5) worked somewhat the same, and better than the others. The average \(\sum TFD_{j}^{+3}\) objectives were 1056, 953, and 953 s for a 1 h time window, and 1547, 1581, and 1581 for a 1.5 h time window. The optimal values are 568 s for a 1 h time window and 796 s for a 1.5 h time window. In scenario type 3, the _minimum release time goes first_ worked better than the others with an average of 365 s delay, but for a 1.5 h time window the _less total buffer goes first_ (DR-5) with an average of 532 s was the best. The optimal values were 113 and 139 s, respectively. With the help of a visualization software, the resulting, revised timetables can be analysed beyond aggregated numbers. The _more delay goes first_ (DR-2) dispatching rule gives priority to the trains with the largest tardiness. We observed in the visualization of the solutions that, when the conflict is between two tardy trains, this strategy works well and reduces the delay. However, for conflicts between an on-time train and a tardy train, this dispatching rule gives priority to the tardy train, which causes a delay for an on-time train. In other words, when the tardy train reaches the destination, e.g., _Karlskrona_ or _Malm\(\acute{o}\)_, this strategy causes a delay for new trains that have recently started the journey. A more effective decision would potentially be to prioritize the on-time train, because the late train is near to its final destination. The _less real buffer time goes first_ (DR-3) dispatching rule, gives priority to the train with least buffer time. This strategy helps the algorithm to reduce the delay for tardy trains. When the conflict is between two tardy trains, this policy is fair. The _less programmed buffer time goes first_ (DR-5) considers the sum of buffer time for a train to its destination. In a disturbance area, this strategy works well. The algorithm gives priority to a train with less programmed buffer time, which seems to be fair between two tardy trains. However, when a tardy train has a conflict with an on-time train, this dispatching rule gives priority to the tardy one, which is not effective if the on-time train is at the  
\begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline \multicolumn{1}{c}{**Scenario**} & \multicolumn{6}{c}{**TFD\({}_{j}^{+3}\) Objective Function**} & \multicolumn{3}{c}{**Computational Time**} \\ \hline \multirow{3}{*}{**Category: ID**} & \multirow{3}{*}{**Optimal**} & \multicolumn{6}{c}{**Dispatching Rules (DR)**} & \multirow{3}{*}{**MIP Model**} & \multirow{3}{*}{**Heuristic Algorithm**} \\  & & & & & & & & & \\ \cline{3-10}  & & **1** & 2 & 3 & **4** & **5** & **6** & **Algorithm** \\ \hline
2.7 & 0.05:27 & 00.08:09 & 00.08:09 & 00.08:09 & 00.08:09 & 00.08:09 & 00.09:43 & 00.00:11 & 00.00:1  
beginning of its itinerary and thus may cause knock-on delays if it is delayed. The _less total processing time_ (DR-6) dispatching rule, tries to give priority to trains with less remaining events to leave the tracks as soon as possible. The experimental results demonstrate that this strategy does not work well compared to other dispatching rules. The choice of dispatching rule does not affect the computational time, but the number of events in the re-scheduling time window and selected sub-network has a significant effect on the computational time since the size of the graph \(G\) increases quadratically. Figure 5 illustrates the increase of computational time against increase of the time horizon and number of events. Both the size of graph \(G\) and the computational time increase quadratically.