Nurse Rostering
Google Scholar
You can also find out about my published research on Google Scholar, which, as well as providing links to the papers and their abstracts, additionally provides the latest citation counts and index values.
Overview
My research career began when my wife, Nicolette, took over responsibility for working out the staff rosters for the hospital ward in which she worked. At the time I was studying computing at university and I thought it would be easy enough to write a program to generate the rosters automatically. Little did I know what complexity lay hidden in this apparently simple problem, a problem that someone with sufficient knowledge could solve by hand in a couple of hours or so. For it was not enough simply to put the right number of nurses on duty for each of the three daily shifts. You also had to satisfy, as closely as possible, each nurse’s preference for working certain shifts on certain days, and for having certain days off. Usually it was impossible to satisfy all these preferences and also provide sufficient staff coverage for each shift. Instead the task was to find a solution that provided safe and legal staffing levels and satisfied as many as possible of the nurse preferences. Although I did not know it at the time, these kinds of problems had already been studied in the operations research and artificial intelligence research communities. Instead of looking there, I made up my own algorithm, which involved roughly assigning each nurse a set of shifts and then trying to improve the answer by swapping shifts between nurses until no further improvement was possible. This followed the way that Nicolette and her colleagues already tackled the problem. But in the world of computer science it turned out that I had created a local search algorithm.
I found solving this problem so fascinating that I could think of little else. And then I discovered I could spend another year at university and turn my work on rostering into an honours research project. This resulted in the pubication of my first thesis: An Enhanced Local Search Algorithm for Nurse Rostering in 1995. I then wrote a series of papers that elaborated the work in the thesis and enrolled in a PhD in artificial intelligence. For it turned out the nurse rostering problem is an example of a larger class of over-constrained constraint satisfaction problems that are of great interest to the artificial intelligence research community. At this point I became involved in the much broader area of developing algorithms to solve any kind of constraint satisfaction problem, rather than writing specialised algorithms to solve specialised problems, like the rostering problem. Nevertheless nurse rostering still figured as a test bed for the various algorithms I was working with in my PhD thesis, and it was one of these constraint weighting algorithms that ended up generating the rosters for a ward on the Gold Coast Hospital for a number of years – until Nicolette moved onward and upward in her career.
2000
Thornton, J. R. (2000). Contraint Weighting Local Search for Constraint Satisfaction. PhD Thesis, School of Computing and Information Technology, Griffith University, Brisbane, Australia, pp. 160.
Abstract: One of the challenges for the constraint satisfaction community has been to develop an automated approach to solving Constraint Satisfaction Problems (CSPs) rather than creating specific algorithms for specific problems. Much of this work has concentrated on the development and improvement of general purpose backtracking techniques. However, the success of relatively simple local search techniques on larger satisfiability problems [Selman et al. 1992] and CSPs such as the n-queens [Minton et al. 1992] has caused interest in applying local search to constraint satisfaction. In this thesis we look at the usefulness of constraint weighting as a local search technique for constraint satisfaction. The work is based on the clause weighting ideas of Selman and Kautz [1993] and Morris [1993] and applies, evaluates and extends these ideas from the satisfiability domain to the more general domain of CSPs. Specifically, the contributions of the thesis are:
- The introduction of a local search taxonomy. We examine the various better known local search techniques and recognise four basic strategies: restart, randomness, memory and weighting.
- The extension of the CSP modelling framework. In order to represent and efficiently solve more realistic problems we extend the CSP modelling framework to include array-based domains and array-based domain use constraints.
- The empirical evaluation of constraint weighting. We compare the performance of three constraint weighting strategies on a range of CSP and satisfiability problems and with several other local search techniques. We find that no one technique dominates in all problem domains.
- The characterisation of constraint weighting performance. Based on our empirical study we identify the weighting behaviours and problem features that favour constraint weighting. We conclude weighting does better on structured problems where the algorithm can recognise a harder sub-group of constraints.
- The extension of constraint weighting. We introduce an efficient arc weighting algorithm that additionally weights connections between constraints that are simultaneously violated at a local minimum. This algorithm is empirically shown to outperform standard constraint weighting on a range of CSPs and within a general constraint solving system. Also we look at combining constraint weighting with other local search heuristics and find that these hybrid techniques can do well on problems where the parent algorithms are evenly matched.
- The application of constraint weighting to over constrained domains. Our empirical work suggests constraint weighting does well for problems with distinctions between constraint groups. This led us to investigate solving real-world over constrained problems with hard and soft constraint groups and to introduce two dynamic constraint weighting heuristics that maintain a distinction between hard and soft constraint groups while still adding weights to violated constraints in a local minimum. In an empirical study, the dynamic schemes are shown to outperform other fixed weighting and non-weighting systems on a range of real world problems. In addition, the performance of weighting is shown to degrade less severely when soft constraints are added to the system, suggesting constraint weighting is especially applicable to realistic, hard and soft constraint problems.
1998
Thornton, J. R., & Sattar, A. (1998). Dynamic Constraint Weighting for Over Constrained Problems. PRICAI 1998: 5th Pacific Rim International Conference on Artificial Intelligence, Lecture Notes in Computer Science, 1531, 377-388, Springer, ISSN 0302-9743.
Abstract: Many real-world constraint satisfaction problems (CSPs) can be over-constrained but contain a set of mandatory or hard constraints that have to be satisfied for a solution to be acceptable. Recent research has shown that constraint weighting local search algorithms can be very effective in solving a variety of CSPs. However, little work has been done in applying such algorithms to over-constrained problems with hard constraints. The difficulty has been finding a weighting scheme that can weight unsatisfied constraints and still maintain the distinction between the mandatory and non-mandatory constraints. This paper presents a new weighting strategy that simulates the transformation of an over constrained problem with mandatory constraints into an equivalent problem where all constraints have equal importance, but the hard constraints have been repeated. In addition, two dynamic constraint weighting schemes are introduced that alter the number of simulated hard constraint repetitions according to feedback received during the search. The dynamic constraint weighting algorithms are compared with two algorithms that maintain a fixed number of hard constraint repetitions, using a test bed of over-constrained timetabling and nurse rostering problems. The results show the dynamic strategies outperform both fixed repetition approaches.
1997
Thornton, J. R., & Sattar, A. (1997). Applied Partial Constraint Satisfaction Using Weighted Iterative Repair. AI 1997: 10th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 1342. Springer, ISSN 0302-9743.
Abstract: Many real-world constraint satisfaction problems (CSPs) can be over-constrained or too large to solve using a standard constructive / backtracking approach. Instead, faster heuristic techniques have been proposed that perform a partial search of all possible solutions using an iterative repair or hill-climbing approach. The main problem with such approaches is that they can become stuck in local minima. Consequently, various strategies or meta-heuristics have been developed to escape from local minima. This paper investigates the application of one such meta heuristic, weighted iterative repair, to solving a real-world problem of scheduling nurses at an Australian hospital. Weighted iterative repair has already proved successful in solving various binary CSPs. The current research extends this work by looking at a non-binary problem formulation, and partial constraint satisfaction involving hard and soft constraints. This has lead to the development of a soft constraint heuristic to improve the level of soft constraint optimisation and an extension of the original weighted iterative repair that avoids certain forms of cyclic behaviour. It is also demonstrated that weighted iterative repair can learn from repeatedly solving the same problem. and that restarting the algorithm on the same problem can result in faster execution times. The overall results show that weighted iterative repair finds better quality solutions than a standard iterative repair, whilst approaching near optimal solutions in less time than an alternative integer programming approach.
Thornton, J. R., & Sattar, A. (1997). Nurse Rostering and Integer Programming Revisited. In: ICCIMA 1997: Proceedings of the International Conference on Computational Intelligence and Multimedia Applications, Griffith University, pp. 49-58.
Abstract: Design and development of robust and reliable scheduling algorithms has been an active research area in Computer Science and Artificial Intelligence. Given that the general problem is computationally intractable, many heuristic-based techniques have been developed, while other approaches have used optimising techniques for specific and limited problem domains. In this paper, we consider a large, real world scheduling problem of nurse rostering at the Gold Coast Hospital, and we propose an optimising integer programming-based approach to solving the problem. The study extends previous work in the area by looking at a more complex problem domain and by introducing a mathematical model that is capable of capturing the important details of the domain without becoming unrealistically large. We also describe a problem decomposition heuristic to effectively manage the computational resources. Schedule quality and staff allocation quality measures are introduced to evaluate the automated nurse schedules. Finally, we conclude that an integer programming-based approach to nurse rostering is feasible for realistic problem sizes and is sufficiently flexible to handle overconstrained problems with competing goals.
1996
Thornton, J. R., & Sattar, A. (1996). An Integer Programming-Based Nurse Rostering System. In ASIAN 1996: 2nd Asian Computing Science Conference, Lecture Notes in Computer Science, 1179, 357-358, Springer, ISSN 0302-9743.
Abstract: This paper considers a real-world rostering problem at the Gold Coast Hospital, Queensland. Nurse rostering is a constraint satisfaction problem (CSP) [3]. The task is to find a consistent allocation of shift values, for a group of nurses, over a fixed period of time, that satisfy a set of rostering constraints. These constraints include i) acceptable shift combinations (or schedules) for individual nurses, and ii) acceptable overall staffing levels for each shift. Previous work in the area has looked at optimally solving small or simplified problems [5] or using non-optimal heuristics to solve larger, more realistic problems [1]. The current research uses an optimising integer programming (IP) approach to solve a large rostering problem within reasonable time and computing resource bounds. The paper shows how the nurse rostering problem can be simplified by combining different modelling and decomposition techniques. Finally, the research demonstrates an IP model can capture “difficult” constraints and remain flexible in changing circumstances.
1995
Thornton, J. R. (1995). An Enhanced Cyclic Descent Algorithm for Nurse Rostering. Honours Thesis, Faculty of Engineering and Applied Science, Griffith University, Gold Coast, Australia, 145 pp.
Abstract: The study introduces an enhanced cyclic descent algorithm for nurse rostering. The algorithm is compared to four other rostering algorithms and to manually generated roster solutions obtained from the Gold Coast Hospital. Three criteria are developed with which the roster generation methods are assessed: these are roster schedule quality, roster shift allocation quality and execution time. A statistical analysis shows that the enhanced cyclic descent algorithm has the best overall performance. An integer linear programming algorithm and an enhanced simulated annealing algorithm are also shown to perform well with smaller problems.