Exploiting problem structure in a genetic algorithm approach to a nurse rostering problem

Exploiting problem structure in a genetic algorithm approach to a nurse   rostering problem
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

There is considerable interest in the use of genetic algorithms to solve problems arising in the areas of scheduling and timetabling. However, the classical genetic algorithm paradigm is not well equipped to handle the conflict between objectives and constraints that typically occurs in such problems. In order to overcome this, successful implementations frequently make use of problem specific knowledge. This paper is concerned with the development of a GA for a nurse rostering problem at a major UK hospital. The structure of the constraints is used as the basis for a co-evolutionary strategy using co-operating sub-populations. Problem specific knowledge is also used to define a system of incentives and disincentives, and a complementary mutation operator. Empirical results based on 52 weeks of live data show how these features are able to improve an unsuccessful canonical GA to the point where it is able to provide a practical solution to the problem


💡 Research Summary

The paper addresses the weekly nurse rostering problem at a large UK hospital, where up to thirty nurses must be assigned to three daily shift types (early, late, night) while respecting contractual work‑hour limits, grade‑specific demand, and fairness considerations such as individual preferences and historical workload balance. The authors formulate the second, most difficult stage of the problem as a multiple‑choice set‑covering integer program: each nurse i has a limited set F(i) of feasible shift‑pattern vectors (14‑bit binary strings representing days and nights), and a decision variable x_ij indicates whether pattern j is chosen for nurse i. The objective minimizes a penalty cost p_ij (0–100) reflecting preferences and historical factors, subject to (1) exactly one pattern per nurse (multiple‑choice constraint) and (2) coverage constraints ensuring that for every day/night k and every grade s the required number R_ks of nurses (or higher grades) is met.

A straightforward genetic algorithm (GA) is first implemented. Chromosomes are strings of length n (number of nurses), each gene holding the index of the chosen pattern for that nurse. Uniform crossover and a 2 % mutation rate (changing one nurse’s pattern to another feasible one) are used. The multiple‑choice constraint is automatically satisfied by the encoding; the coverage constraints are handled by a linear penalty added to the fitness. Initial experiments with fixed penalty weights performed poorly, often failing to find feasible solutions.

To overcome these limitations the authors introduce four problem‑specific enhancements:

  1. Dynamic penalty weighting – the penalty multiplier g is proportional to the number q of violated coverage constraints (g = α·q, α = 8) until a feasible solution appears, after which g is fixed at a low value v = 5. This drives the search aggressively toward feasibility early on while allowing fine‑tuning later.

  2. Co‑evolutionary sub‑populations – the overall population is partitioned into cooperating sub‑populations based on nurse grades and shift types. Each sub‑population evolves using the same GA operators but focuses on a subset of the decision variables, effectively decomposing the multiple‑choice structure. Periodic exchange of individuals between sub‑populations enables the reconstruction of globally feasible schedules.

  3. Incentive/penalty system – a reward is added to the fitness when a nurse receives a preferred pattern, and a penalty is applied for unpopular or historically over‑used patterns. This steers the algorithm toward solutions that are not only feasible but also perceived as fair by staff.

  4. Intelligent mutation – rather than mutating uniformly, the mutation operator preferentially modifies genes that are involved in the most severe coverage violations, thereby correcting infeasibilities more efficiently.

The experimental protocol uses 52 real data sets from three wards (covering different times of the year) for which optimal solutions are known via integer programming, and an additional 52 synthetic instances with randomly generated p_ij values. Each GA configuration is run 20 times with different random seeds. Results show that the basic GA rarely finds feasible solutions, whereas the enhanced GA (with co‑evolution, dynamic penalties, incentives, and intelligent mutation) achieves optimal or near‑optimal solutions (within three penalty points of the optimum) in over 90 % of runs, typically within one minute on a Pentium II 200 MHz machine. Compared with the best tabu‑search implementation reported in earlier work, the improved GA matches or exceeds its performance, especially when the penalty structure changes, demonstrating robustness.

The authors conclude that exploiting the intrinsic structure of the nurse‑rostering problem—through tailored encoding, adaptive penalty management, cooperative sub‑populations, and domain‑specific fitness shaping—transforms a generic GA into a practical, fast, and robust tool for real‑world scheduling. They suggest future work on adaptive exchange rates between sub‑populations, hybridisation with tabu‑search or simulated annealing, and extensions to dynamic rescheduling scenarios.


Comments & Academic Discussion

Loading comments...

Leave a Comment