Skip to main content
Log in

Simulated annealing approach to nurse rostering benchmark and real-world instances

  • Advances in Theoretical and Applied Combinatorial Optimization
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

The nurse rostering problem, which addresses the task of assigning a given set of activities to nurses without violating any complex rules, has been studied extensively in the last 40 years. However, in a lot of hospitals the schedules are still created manually, as most of the research has not produced methods and software suitable for a practical application. This paper introduces a novel, flexible problem model, which can be categorized as ASBN|RVNTO|PLG. Two solution methods are implemented, including a MIP model to compute good bounds for the test instances and a heuristic method using the simulated annealing algorithm for practical use. Both methods are tested on the available benchmark instances and on the real-world data. The mathematical model and solution methods are integrated into a state-of-the-art duty rostering software, which is primarily used in Germany and Austria.

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

Similar content being viewed by others

Notes

  1. Microsoft Windows Server 2012 R2; Intel Xeon CPU E5-2660 (8 cores, 2.20 GHz); 14 GB memory.

References

  • Aickelin, U., & Dowsland, K. (2008). Exploiting problem structure in a genetic algorithm approach to a nurse rostering problem. 3(3):139–153 (arXiv preprint arXiv:0802.2001).

  • auf’m Hofe, H. M. (2001). Solving rostering tasks by generic methods for constraint optimization. International Journal of Foundations of Computer Science, 12(05), 671–693.

    Article  Google Scholar 

  • Bai, R., Burke, E. K., Kendall, G., Li, J., & McCollum, B. (2010). A hybrid evolutionary approach to the nurse rostering problem. IEEE Transactions on Evolutionary Computation, 14(4), 580–590.

    Article  Google Scholar 

  • BDI. (2013). Die Gesundheitswirtschaft ein stabiler Wachstumsfaktor für Deutschlands Zukunft. http://bit.ly/1m4qf0M

  • Bilgin, B., De Causmaecker, P., Rossie, B., & Vanden Berghe, G. (2012). Local search neighbourhoods for dealing with a novel nurse rostering model. Annals of Operations Research, 194(1), 33–57.

    Article  Google Scholar 

  • Burke, E., De Causmaecker, P., & Vanden Berghe, G. (1998). A hybrid tabu search algorithm for the nurse rostering problem. In Asia-Pacific Conference on Simulated Evolution and Learning, Springer (pp. 187–194).

  • Burke, E. K., De Causmaecker, P., & Vanden Berghe, G. (2004a) Novel meta-heuristic approaches to nurse rostering problems in belgian hospitals Problems in Belgian Hospitals. In J. Leung (Ed.) Handbook of scheduling: algorithms, models and performance analysis. Citeseer

  • Burke, E. K., Causmaecker, P. D., Petrovic, S., & Vanden Berghe, G. (2006). Metaheuristics for handling time interval coverage constraints in nurse scheduling. Applied Artificial Intelligence, 20(9), 743–766.

    Article  Google Scholar 

  • Burke, E. K., De Causmaecker, P., Vanden Berghe, G., & Van Landeghem, H. (2004b). The state of the art of nurse rostering. Journal of Scheduling, 7(6), 441–499.

    Article  Google Scholar 

  • Burke, E., Cowling, P., De Causmaecker, P., & Vanden Berghe, G. (2001). A memetic approach to the nurse rostering problem. Applied Intelligence, 15(3), 199–214.

    Article  Google Scholar 

  • Burke, E. K., & Curtois, T. (2014). New approaches to nurse rostering benchmark instances. European Journal of Operational Research, 237(1), 71–81.

    Article  Google Scholar 

  • Burke, E. K., Curtois, T., Post, G., Qu, R., & Veltman, B. (2008). A hybrid heuristic ordering and variable neighbourhood search for the nurse rostering problem. European Journal of Operational Research, 188(2), 330–341.

    Article  Google Scholar 

  • Burke, E. K., Curtois, T., Qu, R., & Vanden Berghe, G. (2009). A scatter search methodology for the nurse rostering problem. Journal of the Operational Research Society, 61(11), 1667–1679.

    Article  Google Scholar 

  • Burke, E. K., Curtois, T., Qu, R., & Vanden Berghe, G. (2013). A time predefined variable depth search for nurse rostering. INFORMS Journal on Computing, 25(3), 411–419.

    Article  Google Scholar 

  • Burke, E. K., Li, J., & Qu, R. (2010). A hybrid model of integer programming and variable neighbourhood search for highly-constrained nurse rostering problems. European Journal of Operational Research, 203(2), 484–493.

    Article  Google Scholar 

  • Cappanera, P., & Gallo, G. (2004). A multicommodity flow approach to the crew rostering problem. Operations Research, 52(4), 583–596.

    Article  Google Scholar 

  • Causmaecker, P., & Vanden Berghe, G. (2010). A categorisation of nurse rostering problems. Journal of Scheduling, 14(1), 3–16.

    Article  Google Scholar 

  • Cheang, B., Li, H., Lim, A., & Rodrigues, B. (2003). Nurse rostering problems-a bibliographic survey. European Journal of Operational Research, 151(3), 447–460.

    Article  Google Scholar 

  • Dowsland, K. A. (1998). Nurse scheduling with tabu search and strategic oscillation. European Journal of Operational Research, 106(2–3), 393–407.

    Article  Google Scholar 

  • Drake, R. G. (2014). The nurse rostering problem: From operational research to organizational reality? Journal of Advanced Nursing, 70(4), 800–810.

    Article  Google Scholar 

  • Ernst, A., Jiang, H., Krishnamoorthy, M., & Sier, D. (2004). Staff scheduling and rostering: A review of applications, methods and models. European Journal of Operational Research, 153(1), 3–27.

    Article  Google Scholar 

  • Gendreau, M., & Potvin, J. Y. (2010). Handbook of metaheuristics. International series in operations research and management science (Vol. 146). New York: Springer.

    Google Scholar 

  • Hadwan, M., & Ayob, M. (2010). A constructive shift patterns approach with simulated annealing for nurse rostering problem. In Information Technology ITSim 2010 International Symposium in 1.

  • Haspeslagh, S., De Causmaecker, P., Schaerf, A., & Stølevik, M. (2012). The first international nurse rostering competition 2010. Annals of Operations Research, 218, 221–236.

    Article  Google Scholar 

  • He, F., & Qu, R. (2012). A constraint programming based column generation approach to nurse rostering problems. Computers & Operations Research, 39(12), 3331–3343.

    Article  Google Scholar 

  • Kellogg, D. L., & Walczak, S. (2007). Nurse scheduling: From academia to implementation or not? Interfaces, 37(4), 355–369.

    Article  Google Scholar 

  • Lim, G. J., Mobasher, A., Kardar, L., & Cote, M. J. (2012). Handbook of healthcare system scheduling. International series in operations research and management science (Vol. 168). New York: Springer.

    Google Scholar 

  • Lü, Z., & Hao, J. K. (2012). Adaptive neighborhood search for nurse rostering. European Journal of Operational Research, 218(3), 865–876.

    Article  Google Scholar 

  • Maenhout, B., & Vanhoucke, M. (2009). Branching strategies in a branch-and-price approach for a multiple objective nurse scheduling problem. Journal of Scheduling, 13(1), 77–93.

    Article  Google Scholar 

  • Michalewicz, Z., & Fogel, D. B. (2004). How to solve it: Modern heuristics. Berlin: Springer.

    Book  Google Scholar 

  • Online Z. (2013). Fachkräftemangel - regierung wirbt um ausländische pflegekräfte. http://bit.ly/1oUIDhj

  • Osogami, T., & Imai, H. (2000). Classification of various neighborhood operations for the nurse scheduling problem. Lecture Notes in Computer Science, 1969, 72–83.

    Article  Google Scholar 

  • Qu, R., & He, F. (2010). A hybrid constraint programming approach for nurse rostering problems. European Journal of Operational Research, 203(2), 211–224.

    Google Scholar 

  • Santos, H. G., Toffolo, T. A., Gomes, R. A., & Ribas, S. (2016). Integer programming techniques for the nurse rostering problem. Annals of Operations Research, 239(1), 225–251.

    Article  Google Scholar 

  • Smet, P., Brucker, P., De Causmaecker, P., & Vanden Berghe, G. (2014). Polynomially solvable formulations for a class of nurse rostering problems. In Proceedings of the 10th international conference on the practice and theory of automated timetabling (pp. 408–419).

  • Solos, I., Tassopoulos, I., & Beligiannis, G. (2013). A generic two-phase stochastic variable neighborhood approach for effectively solving the nurse rostering problem. Algorithms, 6(2), 278–308.

    Article  Google Scholar 

  • Stølevik, M., Nordlander, T. E., Riise, A., Frøyseth, H. (2011). A hybrid approach for solving real-world nurse rostering problems. In International Conference on Principles and Practice of Constraint Programming, Springer (pp. 85–99).

  • Suhl, L., & Mellouli, T. (2013). Optimierungssysteme: Modelle, Verfahren, Software, Anwendungen. Berlin: Springer.

    Book  Google Scholar 

  • Valouxis, C., Gogos, C., Goulas, G., Alefragis, P., & Housos, E. (2012). A systematic two phase approach for the nurse rostering problem. European Journal of Operational Research, 219(2), 425–433.

    Article  Google Scholar 

  • van Omme, N., Perron, L., & Furnon, V. (2013). Or-tools users manual. Technical reports, Google

  • Vanden Berghe, G. (2002). An advanced model and novel meta-heuristic solution methods to personnel scheduling in healthcare. https://lirias.kuleuven.be/handle/123456789/249444.

  • Wright, P. D., Bretthauer, K. M., & Côté, M. J. (2006). Reexamining the nurse scheduling problem: Staffing ratios and nursing shortages. Decision Sciences, 37(1), 39–70.

    Article  Google Scholar 

  • Xie, L., & Suhl, L. (2015). Cyclic and non-cyclic crew rostering problems in public bus transit. OR Spectrum, 37(1), 99–136.

    Article  Google Scholar 

  • Zuse Institute Berlin. (2014). SCIP—Solving constraint integer programs. http://scip.zib.de/

Download references

Acknowledgements

We would like to thank Connext Communication GmbH for providing us with the real-world instances and the use of their software, Vivendi PEP, to accomplish this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lin Xie.

Appendix: Alternative solution apporaches

Appendix: Alternative solution apporaches

The simulated annealing (SA) approach is proven to be effective in finding good solutions in a short amount of time. However, it is not able to utilize additional available time, if the user is willing to wait longer to get a better solution. We have tried several methods to deal with this situation. First, the temperature is increased again at the end of the search, with the purpose to escape the local optimum to get to a improved solution. However, this is proven to be ineffective, since the quality of the solutions is only improved marginally or not at all. Destroying the solution before reheating (i.e., removing the assignments in a randomly selected part of the planning period for a subset of nurses) has no improving effect either. An explanation for the poor performance of those methods might be given by Burke et al. (2013). They observe that it is necessary to chain several neighborhood moves to escape a local optimum. Due to the randomness of SA, it is unlikely that the correct moves are chained together. Hence, alternative approaches are evaluated, to be used in cooperation with or as replacement for SA in the following subsection, namely constraint programming and variable depth search.

1.1 Constraint programming

Constraint programming (CP) is mostly used for constraint satisfaction problems (CSP), which focus on finding a feasible solution to a problem and not on optimizing an objective value (van Omme et al. 2013, p. 9). Consequently, we use CP firstly to generate an additional initial solution service. Modeling a problem as CSP is similar to modeling it as MIP. In both cases, variables and constraints are used to describe the problem. However, in some cases modeling a CSP may be easier, since so-called global constraints can be used (van Omme et al. 2013, p. 10). For example, one of these constraints, the AllDifferent constraint, can be used to define that a set of variables must all have different values. To model such a constraint in a MIP model requires a significantly higher effort. Additionally, the global constraints can be checked very efficiently (van Omme et al. 2013, p. 10). The CSP is implemented and solved using the CP solver. The first results look promising. The CP solver is able to find a feasible solution for a problem instance using hard constraints solely for coverage definitions more or less instantly (<0.1 s). However, as soon as more hard constraints were added, the CP solver was not able to find a feasible solution even after an extended amount of running time (>30 min). This is because the CP-solver uses a method called branch and prune, where it traverses a search tree. In the search tree, the search space is divided at each branch and all subtrees which cannot contain a feasible solution are pruned (van Omme et al. 2013, pp. 10, 84, 94). The solver backtracks if a subtree has not led to a feasible solution, and starts to explore another subtree (van Omme et al. 2013, p. 11). The backtracking occurs frequently due to the combinations of the hard constraints, e.g., the maximum and minimum work-related activities per week and the maximum work-related activities for the whole planning period; moreover, the search space for the real-world instances is huge (for example GPost has a search space with a size of \(10^{107}\)). Therefore, a huge amount of time is required for backtracking. We have tried to change the order of the variables and search strategy to reduce the amount of backtracking; however, the outcome does not change significantly.

Stølevik et al. (2011) use constraint programming for a similar purpose. They experience similar issues with some combinations of hard constraints. In those cases they created a “basic solution“ instead, which only satisfies a subset of the hard constraints. They were able to prioritize certain hard constraints, because they defined the set of hard and soft constraints explicitly. Defining mixed constraints is not possible using their problem model. Additionally, they use a more sophisticated variable ordering and value selection method to exploit information, which is not possible for the problem instances used in this paper (e.g., a desired number of shift types to be assigned to each nurse).

Qu and He (2010) utilize constraint programming to create a good sequence of activities which do not violate any of the combination constraints. However, they only consider problem instances with at most four shift types. Their approach is not applicable to problem instances with significantly more shift types, since the number of possible combinations grows exponentially.

Additionally, we also try constraint programming to enhance the quality of the solution found by SA. For this purpose the problem is modeled as s constraint optimization problem (COP) and solved by the CP-solver. The idea is to use the objective value of the best solution found by SA to reduce the search space, while pruning all subtrees leading to a worse solution. However, this does not have a significant influence on the quality.

1.2 Variable depth search

The second approach chosen for improving the solutions achieved by SA is a variable depth search (VDS) algorithm presented by Burke et al. (2013), since it uses compound neighborhood moves to escape local optima. Two neighborhoods are used by the authors. First, a small neighborhood which consists of swapping all activity sequences of length two or three between all nurses. This neighborhood is explored until a new best solution is found, or a solution which increases the quality of a nurse’s individual schedule (according to the horizontal rules). If a new best solution is found, the search restarts outgoing from this new solution. Otherwise a bigger neighborhood is explored which consists of swapping all activity sequences of length five or six between the nurse, which suffers a degradation to her individual schedule, and all other nurses. After the whole neighborhood has been explored, the move which leads to a new best solution (in that case the search restarts) or the move which increases the quality of the nurse’s schedule the most is performed. If no such move exists the search continues using the small neighborhood. Otherwise, the search continues using the large neighborhood for the nurse whose schedule was worsened by the last swap. These steps are repeated until a maximum predefined depth (maximum chain length) has been reached. If no new best solution has been found at this point, all steps are undone and the search continues in the small neighborhood, restarting from the best solution.

The algorithm is implemented using the worsened day heuristic, which restricts the search in the large neighborhood to swaps which include a day which was worsened by a previous swap. Our implementation could only replicate the results observed by Burke et al. (2013) to some extent. For the ORCTEC01 instance, an average objective value of 1604 (maximum depth: 1000) is found, compared with the 1120 of Burke et al. (2013). This discrepancy is caused by the unclear worsened situations, such as, an activity is assigned which violates a forbidden sequence but it is unclear which days should be marked as worsened: all days of the shift sequence or only the day of the assigned shift.

Additionally, due to the nature of the neighborhoods used, the VDS can only be applied effectively for problem instances with strict coverage definitions. Therefore, using it with randomly created initial solutions is not an option. Applying the VDS to problem instances with variable coverage definitions can only work if a good (or optimal) amount of nurses are assigned to all activities in the initial solution. We do not try another neighborhood which might resolve this issue, since the overall performance of the VDS, especially for medium and large instances, was surpassed by the SA algorithm. For example, the best and average objective values for the ORTEC01 instance found by the VDS are 480 and 1120, compared the 305 and 731.28 found by SA.

Although the VDS does not perform well on its own, we try to use it to improve the solution found by SA, since the solution is assumed to already have a good degree of coverage. However, this has not proved to be time-worthy, since the VDS is only able to improve the solution marginally.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Knust, F., Xie, L. Simulated annealing approach to nurse rostering benchmark and real-world instances. Ann Oper Res 272, 187–216 (2019). https://doi.org/10.1007/s10479-017-2546-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-017-2546-8

Keywords

Navigation