Discrete OptimizationNew approaches to nurse rostering benchmark instances
Introduction
Rostering problems are found in a wide range of workplaces and industries including healthcare, manufacturing, transportation, emergency services, call centres and many more. Using a computational search algorithm to address these problems results in cost savings and better work schedules. As such, rostering problems in various forms have received a large amount of research attention over the years. This body of research grew steadily throughout the 1960s, 1970s and 1980s and then accelerated in growth as more powerful desktop personal computers became commonplace in workplaces during the 1990s. As the computational and processing power has grown so has the range and complexity of algorithms that can be applied and the size and complexity of the instances that can be solved. For an overview of rostering problems and solution methodologies see (Ernst, Jiang, Krishnamoorthy, & Sier, 2004). A very large annotated bibliography of publications relating to staff scheduling is also provided by Ernst, Jiang, Krishnamoorthy, Owens, and Sier (2004). For a literature review specifically aimed at the nurse rostering problem, see (Burke, De Causmaecker, Vanden Berghe & Van Landeghem, 2004).
As these review papers show, many different approaches have been used to solve nurse rostering problems. These include metaheuristics (Bellanti et al., 2004, Burke et al., 2008, Burke, Curtois, Qu, et al., 2010, Ikegami and Niwa, 2003, Moz and Pato, 2007), constraint programming (Darmoni et al., 1995, Meyer auf’m Hofe, 2000, Weil et al., 1995), mathematical programming (Azaiez and Al Sharif, 2005, Bard and Purnomo, 2005), other artificial intelligence techniques (such as case-based reasoning (Beddoe & Petrovic, 2007) and hybrid approaches (Burke, Li, et al., 2010, Qu and He, 2008). Each method has strengths and weaknesses. For example, as will be shown in this paper, a mathematical programming approach may be able to solve some instances to optimality extremely quickly but on other instances it may take infeasible amounts of time or use too much memory. A metaheuristic, on the other hand, may be able to find a good solution to difficult instances quite quickly but may not be able to find the optimal solution to another instance which an exact method can solve very quickly. An obvious solution to this well-known phenomenon is to combine and hybridise different techniques. This is one of the principles behind adaptive approaches such as hyperheuristics.
The aim of this paper, however, is to provide new results (upper bounds and lower bounds) for a large collection of diverse rostering benchmark instances. This is the first occasion that a branch and price method has been applied to these instances. We also introduce the dynamic programming algorithm which is at the core of the branch and price method and we present a general rostering model which was used for all the instances tested.
Branch and price is a branch and bound method in which each node of the branch and bound tree is a linear programming relaxation which is solved using column generation. The column generation consists of a restricted master problem and a pricing problem. Solving the pricing problem provides new negative reduced cost columns to add to the master problem. The pricing problem can be considered as the problem of finding the optimal work schedule for an individual employee but with the addition of dual costs, that is, additional (possibly negative) costs based on which shift assignments are made or not made. In non-root nodes of the branch and bound tree, there may also be additional branching constraints on certain assignments that must or must not be made.
Although this is the first time that branch and price has been applied to these instances, it has previously been used on the nurse rostering problem (Eveborn and Rönnqvist, 2004, Jaumard et al., 1998, Maenhout and Vanhoucke, 2010, Mason and Smith, 1998). All these earlier applications have similar structure and the same structure is adopted here. The master problem is modelled as a set covering problem and solved using a linear programming method such as the simplex method. The pricing problem is formulated as a resource constrained shortest path problem and solved using a dynamic programming approach. The branch and bound tree is generally too large for a complete search and so heuristic, constraint branching schemes are adopted in which branching is performed on shift assignments in the roster. Although the dynamic programming algorithms all use the same principles (dominance pruning and bound pruning), the actual implementations are dependent on the constraints and objectives present in the pricing problem. For a recent overview of column generation see (Lubbecke & Desrosiers, 2005) and for further reading on resource constrained shortest path problems see (Irnich & Desaulniers, 2005).
In the next section, we discuss the challenge of modelling such a wide variety of instances and how it was solved. In Section 3, we introduce the benchmark instances and Section 4 presents the branch and price algorithm. Section 5 contains the results of applying the algorithms to the benchmark instances. In Section 6, we discuss the International Nurse Rostering Competition and finish with conclusions in Section 7.
Section snippets
Modelling the problem
One of the most significant challenges in addressing a large diverse collection of instances is developing a model which can be used for all the instances with their varying types of constraints and objectives. In all the instances, there are common types of constraints/objectives which are relatively straightforward to model. These include the cover constraints (ensuring that there is a correct or a preferable number of employees assigned to each shift). However, the types of constraints that
Benchmark instances
In order to validate our algorithms and encourage more competition and collaboration between researchers working on rostering we have built a collection of diverse and challenging benchmark instances. The collection has grown over several years and has been drawn from various sources such as industrial collaborators (including software companies and hospitals), scientific publications and other researchers. The collection continues to grow, is currently drawn from thirteen different countries
The branch and price algorithm
The implementation of the branch and price approach follows the previously published algorithms mentioned in section 1. However, quite a lot of time was spent improving the performance of the implementation. For example, profiling the algorithm reveals that during the column generation, typically about 5% of the computation time is spent re-solving the restricted master problem (using the simplex method) whereas the other 95% of the time is used in solving the sub-problems (generating the new
Results
In addition to providing results for the branch and price algorithm, we also compare them to an ejection chain based approach called variable depth search (VDS). Although the core of the algorithm is an ejection chain method, it contains a number of other features that have been added since it was originally described in Burke et al. (2013). These include incorporating a dynamic programming method into an iterative constructive method at the start of the algorithm. (This is the same dynamic
2010 International Nurse Rostering Competition
In 2010, the First International Nurse Rostering Competition was held. The competition consisted of three ‘tracks’ each with different instances. For the first track (sprint) the algorithms were allowed a maximum of 10 seconds computation time to solve each instance. For the second track (medium) the algorithms were allowed 10 minutes and for the third track (long) 10 hours were permitted. A number of instances for each track were released at the start of the competition and, at the end,
Conclusion
We have presented new results for benchmark nurse rostering problems which will be particularly useful to other researchers. The results also show that a branch and price method can solve some instances very effectively. For other instances, the time and resource requirements may be restrictive though. However, with new heuristics and other new ideas it may be possible to improve the performance further. For example, more advanced branching schemes in the branch and bound tree or decomposing
References (36)
- et al.
A 0–1 goal programming model for nurse scheduling
Computers and Operations Research
(2005) - et al.
Preference scheduling for nurses using column generation
European Journal of Operational Research
(2005) - et al.
A greedy-based neighborhood search approach to a nurse rostering problem
European Journal of Operational Research
(2004) - et al.
A hybrid heuristic ordering and variable neighbourhood search for the nurse rostering problem
European Journal of Operational Research
(2008) - et al.
A hybrid model of integer programming and variable neighbourhood search for highly-constrained nurse rostering problems
European Journal of Operational Research
(2010) - et al.
Staff scheduling and rostering: a review of applications, methods and models
European Journal of Operational Research
(2004) - et al.
A generalized linear programming model for nurse scheduling
European Journal of Operational Research
(1998) - et al.
A genetic algorithm approach to a nurse rerostering problem
Computers & Operations Research
(2007) - et al.
Stabilized branch-and-cut-and-price for the generalized assignment problem
- et al.
Medical doctor rostering problem in a hospital emergency department by means of genetic algorithms
Computers & Industrial Engineering
(2009)
Hybrid optimization techniques for the workshift and rest assignment of nursing personnel
Artificial Intelligence in Medicine
Enhancing case-based reasoning for personnel rostering with selected tabu search concepts
Journal of the Operational Research Society
A shift sequence based approach for nurse scheduling and a new benchmark dataset
Journal of Heuristics
A scatter search methodology for the nurse rostering problem
Journal of Operational Research Society
The state of the art of nurse rostering
Journal of Scheduling
A time predefined variable depth search for nurse rostering
INFORMS Journal on Computing
Cited by (81)
Dynamic assignment of a multi-skilled workforce in job shops: An approximate dynamic programming approach
2023, European Journal of Operational ResearchPractical recommendations for staff rostering justified by real-world optimization
2023, Procedia Computer ScienceNeural networked-assisted method for the nurse rostering problem
2022, Computers and Industrial EngineeringA mat-heuristic based solution approach for an extended nurse rostering problem with skills and units
2022, Socio-Economic Planning SciencesA column generation-based algorithm for midterm nurse scheduling with specialized constraints, preference considerations, and overtime
2022, Computers and Operations Research