Skip to main content
Log in

A heuristic for real-time crew rescheduling during small disruptions

  • Original Paper
  • Published:
Public Transport Aims and scope Submit manuscript

Abstract

Due to unforeseen problems, disruptions occur in passenger railway operations. Proper real-time crew management is needed to prevent disruptions to spread over space and time. Netherlands Railways has algorithmic support from a solver to obtain good crew rescheduling solutions during big disruptions. However, small disruptions are still manually solved by human dispatchers who have limited solving capacity. In this paper the rescheduling for crews during small disruptions is modeled as inserting an uncovered task in a feasible set of duties. The problem is solved as an iterative-deepening depth-first search in a tree. To reduce computation time, we use several ideas to prune unpromising parts of the tree. We have tested the heuristic on about 5000 test instances obtained from real-world data. These tests show that the heuristic delivers good and desirable rescheduling solutions within at most 2 s.

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
Pseudocode 4.1
Pseudocode 4.2
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. As we see later on, each node has over 1000 children. On average 124 children survive the basic feasibility check, which we explain in Sect. 4.1. Inserting an unplanned task in a duty is conditionally possible in about 17% of the cases. This means we branch further at on average 21 children. If the depth of the tree is bounded to 7, this already leads to more than a billion leaves. However, the depth of the tree could be much larger.

  2. This sorting is done many times in the search through the tree. Therefore, we choose bucket sorting: Bucket sorting n elements can be done in linear time \(\mathcal {O}(n)\) as shown by Shutler et al. (2008), compared to \(\mathcal {O}(n\log {}n)\) for normal sorting.

  3. Note that the higher probability in the graph between pV 750,000 and 820,000 is represented in the bucket sorting, where we place these values in a higher bucket compared to the next one.

  4. Randstad is a conurbation in the Netherlands, consisting of the four largest cities and its surroundings. We include the following cities with all its train stations as locations: Almere, Amersfoort, Amsterdam, Alphen aan den Rijn, Barendrecht, Capelle aan den IJssel, Delft, Dordrecht, Gouda, Haarlem, Hilversum, Hoofddorp, Hoek van Holland, Houten, Leiden, Maassluis, Purmerend, Rijswijk, Rotterdam, Schiedam, The Hague, Utrecht, Vlaardingen, Voorburg, Zeist, Zoetermeer.

References

  • Abbink EJW (2014) Crew management in passenger rail transport, Ph.D. thesis Erasmus Research Institute of Management (ERIM), Erasmus University Rotterdam. EPS-2014-325-LIS

  • Abbink EJW, Mobach DGA, Fioole PJ, Kroon LG, Van der Heijden EHT, Wijngaards NJE (2010) Real-time train driver rescheduling by actor-agent techniques. Public Transport 2:249–268

    Article  Google Scholar 

  • Cacchiani V, Huisman D, Kidd M, Kroon L, Toth P, Veelenturf L, Wagenaar J (2014) An overview of recovery models for real-time railway rescheduling. Transp Res Part B 63:15–37

    Article  Google Scholar 

  • Huisman D (2007) A column generation approach for the rail crew rescheduling problem. Eur J Oper Res 180:163–173

    Article  Google Scholar 

  • Korf RE (1985) Depth-first iterative-deepening: an optimal admissible tree search. Artif Intell 27:97–109

    Article  Google Scholar 

  • Morgado E, Martins JP (2012) Automated real-time dispatching support. In: Proceedings of the 2012 APTA rail conference

  • Potthoff D (2010) Railway crew rescheduling: novel approaches and extensions, Ph.D. thesis. Erasmus University Rotterdam

  • Potthoff D, Huisman D, Desaulniers G (2010) Column generation with dynamic duty selection for railway crew rescheduling. Transp Sci 44:493–505

    Article  Google Scholar 

  • Rezanova NJ, Ryan DM (2010) The train driver recovery problem—a set partitioning based model and solution method. Comput Oper Res 37:845–856

    Article  Google Scholar 

  • Shutler PME, Sim SW, Lim WYS (2008) Analysis of linear time sorting algorithms. Comput J 51:451–469

    Article  Google Scholar 

  • Veelenturf LP, Potthoff D, Huisman D, Kroon LG (2012) Railway crew rescheduling with retiming. Transp Res Part C 20:95–110

    Article  Google Scholar 

  • Veelenturf LP, Potthoff D, Huisman D, Kroon LG, Maróti G, Wagelmans APM (2016) A quasi-robust optimization approach for crew rescheduling. Transp Sci 50:204–215

    Article  Google Scholar 

  • Walker CG, Snowdon JN, Ryan DM (2005) Simultaneous disruption recovery of a train timetable and crew roster in real time. Comput Oper Res 32:2077–2094

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pieter-Jan Fioole.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Verhaegh, T., Huisman, D., Fioole, PJ. et al. A heuristic for real-time crew rescheduling during small disruptions. Public Transp 9, 325–342 (2017). https://doi.org/10.1007/s12469-017-0155-1

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12469-017-0155-1

Keywords

Navigation