Nurse scheduling problem

The nurse scheduling problem (NSP), also called the nurse rostering problem (NRP), is the operations research problem of finding an optimal way to assign nurses to shifts, typically with a set of hard constraints which all valid solutions must follow, and a set of soft constraints which define the relative quality of valid solutions. Solutions to the nurse scheduling problem can be applied to constrained scheduling problems in other fields.

While research on computer-assisted employee scheduling goes back to the 1950s, the nurse scheduling problem in its current form was introduced in two parallel publications in 1976. It is known to have NP-hard complexity.

General description
The nurse scheduling problem involves the assignment of shifts and holidays to nurses. Each nurse has their own wishes and restrictions, as does the hospital. The problem is described as finding a schedule that both respects the constraints of the nurses and fulfills the objectives of the hospital. Conventionally, a nurse can work 3 shifts because nursing is shift work:
 * day shift
 * night shift
 * late night shift

In this problem we must search for a solution satisfying as many wishes as possible while not compromising the needs of the hospital.

Constraints
There are two types of constraints:
 * hard constraints: if this constraint fails then the entire schedule is invalid.
 * soft constraints: it is desirable that these constraints are met but not meeting them does not make the schedule invalid.

Some examples of constraints are:
 * A nurse does not work the day shift, night shift and late night shift on the same day (i.e. no 24-hour duties).
 * A nurse may go on a holiday and will not work shifts during this time.
 * A nurse does not do a late night shift followed by a day shift the next day.
 * Two nurses dislike each other and thus cannot work on the same shift because of that.
 * One nurse is newly qualified and must be paired with an experienced nurse.
 * A shift requires a charge nurse.

Hard constraints typically include a specification of shifts (e.g. morning, afternoon, and night), that each nurse should work no more than one shift per day, and that all patients should have nursing coverage. Differences in qualifications between nurses also create hard constraints. Soft constraints may include minimum and maximum numbers of shifts assigned to a given nurse in a given week, of hours worked per week, of days worked consecutively, of days off consecutively, and so on. The shift preferences of individual nurses may be treated as a soft constraint, or as a hard constraint.

Solutions
Solutions to the problem use a variety of techniques, including both mathematically exact solutions and a variety of heuristic solutions using decomposition, parallel computing, stochastic optimization, genetic algorithms, colony optimization, simulated annealing, quantum annealing Tabu search, and coordinate descent.

Burke et al. (2004) summarised the state of art of academic research to the nurse rostering problem, including brief introductions of various then published solutions.