π§© Constraint Solving POTD:ποΈ Problem of the Day β Nurse Rostering (Scheduling) #30608
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it expired on 2026-05-13T12:06:40.788Z.
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
ποΈ Problem of the Day β Nurse Rostering
Problem Statement
Nurse Rostering (also called nurse scheduling or staff rostering) asks: given a set of nurses and a planning horizon (e.g., one week), assign each nurse to shifts so that all coverage requirements are met and personnel constraints are respected.
Concrete Instance
Consider 5 nurses over 3 days, with three shift types per day:
Constraints:
Output: An assignment
shift[n, d] β {M, E, N, Off}for each nursenand daydsatisfying all hard constraints and minimising soft constraint violations.Why It Matters
Modeling Approaches
Approach 1 β Constraint Programming (CP)
Decision variables:
shift[n, d] β {M, E, N, Off}for each nursen β 1..N, dayd β 1..DKey constraints:
Objective (soft constraints as penalties):
Trade-offs: CP handles complex combinatorial constraints naturally. Global constraints like
global_cardinalityenforce coverage in one propagation step. Scales to ~50β100 nurses with good search strategies; larger instances need decomposition or hybrid methods.Approach 2 β Integer Programming (MIP/ILP)
Decision variables:
Binary
x[n, d, s] β {0, 1}β 1 if nursenworks shiftson daydKey constraints:
Trade-offs: MIP solvers (Gurobi, CPLEX, HiGHS) excel at optimising the objective via LP relaxation bounds and branch-and-bound. Large, well-structured instances often solve faster than CP. However, complex non-numeric constraints (e.g., pattern-based rules) require many auxiliary binary variables and become unwieldy.
Example Model (MiniZinc β CP approach)
Key Techniques
1. Global Cardinality Constraint (GCC)
The
global_cardinalityconstraint enforces that values appear a specified number of times in an array β perfectly modelling coverage requirements. It enables arc-consistency propagation that prunes infeasible assignments far more aggressively than decomposing into individual sum constraints.2. Variable and Value Ordering Heuristics
3. Symmetry Breaking
If nurses are interchangeable (same skills, same contract), many solutions are symmetric permutations. Adding lexicographic ordering constraints between identical nurses can reduce the search space by
k!forkequivalent nurses. Be cautious: over-constraining with symmetry breaks can hurt optimisation (optima may lie in broken regions).Challenge Corner
References
Ernst, A. T. et al. (2004). Staff scheduling and rostering: A review of applications, methods and models. European Journal of Operational Research, 153(1), 3β27. β Comprehensive survey of the field.
Musliu, N. (2006). Heuristic methods for automatic staff scheduling. PhD Thesis, TU Wien. β Covers CP and local search for nurse rostering in depth.
Rossi, F., van Beek, P., & Walsh, T. (eds.) (2006). Handbook of Constraint Programming. Elsevier. β Chapter 10 covers scheduling constraints; Chapter 7 covers global constraints including GCC.
The Nurse Rostering Competition (INRC-II): (www.inrcii.eu/redacted) β Benchmark instances and results from the International Nurse Rostering Competition, a great resource for testing solvers.
Beta Was this translation helpful? Give feedback.
All reactions