A 300-1500 bed hospital's monthly decision of how to allocate 200-1000 nurses across 7×24 wards. Skill (ICU vs surgery vs general ward), legal limits (weekly hour cap, consecutive nights), health-safety (fatigue, minimum rest), preferences and fairness must all hold together. Academic name: Nurse Rostering Problem (NRP); canonical reference Burke, De Causmaecker, Vanden Berghe and Van Landeghem (2004).
In plain words
Sound familiar?
- In a mid-sized hospital with 200-1000 nurses, the charge nurse builds the monthly roster in a spreadsheet — 30-60 hours a month.
- When nurses need to be moved between ICU, surgery and internal medicine, who is qualified for which ward is known in someone's head; the skill matrix is not written down.
- A 'who worked fewer nights' argument opens every month; fairness stays subjective.
- Nurse personal day requests (school schedule, doctor appointment, family holiday) are communicated verbally; some get forgotten, and unmet requests fuel attrition.
- 3-4 consecutive night shifts occasionally appear; medical-error reports and burnout-survey scores climb.
- Sudden sick leave (nurse out on a medical note) or pandemic surges force a daily roster redo; replacement choice is by gut.
- When a contract or regulation updates (weekly hour cap, union rule), roster logic has to be redesigned manually.
- Annual nurse turnover is 15-30%; exit interviews list 'roster unfairness' and 'burnout' as top reasons.
Why it matters
How it's solved
Technical depth
How it's solved
Technical depthIn one sentence: Feed each nurse’s skill tags, contracted hours and preferences, plus each ward-shift’s required headcount; model hard rules (consecutive-night cap, 11-hour rest) separately from soft rules (preference, fairness, weekend), then let a math solver produce the monthly roster — no hard breaches, soft breaches minimised.
This problem is studied in Operations Research (the discipline that uses math and computers to solve business decisions) literature as the Nurse Rostering Problem (NRP) — the healthcare-specific staff-scheduling problem. Sub-categories: (a) cyclic vs non-cyclic — cyclic (each nurse on a fixed monthly pattern) or non-cyclic (re-solved each month); (b) preference-based vs demand-based — preference-weighted (maximise nurse preferences) or demand-weighted (coverage strictly met); (c) self-scheduling vs centralised — nurses fill in their own preferred calendar first, or central planning.
Solution in three stages:
1. Modelling. Input data: nurse roster (skill tags per nurse — ICU, surgery, internal medicine, ER, paediatrics, maternity; seniority — senior/mid/new graduate; contracted weekly hours — full-time 40, part-time 24; preference scores — personal days, night-shift propensity). Ward inventory (per ward-shift-day combination: required nurse count + minimum 1 senior + skill distribution). Constraints: hard (legal weekly hour cap, minimum 11-hour rest between shifts, max consecutive nights — typically 3 or 4, weekly rest requirement, skill fit — ICU staffing must be ICU-certified) and soft (preferences, fairness, weekend distribution, seniority mix). Objective: minimise weighted soft-constraint violation sum (the typical formulation).
2. Solver-driven decision. NRP solution choice is family-based:
- MIP (Mixed-Integer Linear Programming — optimisation with some 0/1 variables and some continuous): For small-medium hospitals (50-200 nurses), MIP rules are encoded directly; modern MIP solvers produce an optimum within 30-90 minutes.
- Column generation + branch-and-price (start with a small pool of patterns and add useful ones step by step): Each nurse’s feasible weekly patterns are generated as “columns”; the master problem selects the optimal combination. Strong at 200-500 nurses.
- Metaheuristics (intelligent search methods that produce near-optimal solutions): scatter search, tabu search, simulated annealing. For large hospitals (500+ nurses) and multi-ward complexes. No optimum guarantee but good practical quality in hours.
- CP (Constraint Programming — a paradigm that lets complex rules be stated directly): Direct expression of complex contract and union rules (e.g. “exactly 2 weekends off every 4 weeks”).
- Hybrid approaches: metaheuristic + MIP hybrids have been the common industry choice over the last decade.
Practical preference: 100-300 nurses — MIP or CP; 300-700 nurses — column generation + branch-and-price; 700+ nurses or multi-ward — metaheuristic hybrid.
3. Field integration. Output is two-layered: the monthly master roster (a nurse × day-shift-ward matrix that goes through charge-nurse approval — 1-2 weeks before publication) + daily updates (sick-leave note, leave change, patient-volume spike triggers). The hospital information system feeds the rostering module: nurse personnel record, certification record, historical hours, leave balance. Output reaches the nurse via a mobile app or ward board. Monthly operations review: breach report (consecutive nights, weekly-hour overruns), fairness report (night-shift distribution standard deviation), preference-hit rate, burnout survey.
Alternatives
Manual + spreadsheet + charge nurse
FreeZero license
Who it fits: 30-80 nurses, small hospital or single ward unit
- + Zero software cost
- + Charge nurse's field experience leads
- + Fast response to verbal preferences
- − Cognitive load explodes above 80 nurses
- − Without a written skill matrix, error risk is high
- − Consecutive-night or weekly-hour breaches slip through easily
- − Fairness stays subjective; no distribution statistics
- − Nurse-turnover cost grows
Local healthcare workforce software
Enterprise$8K-40K setup + $3K-12K/year maintenance (regional SMB observation)
Who it fits: 100-400 nurses, mid hospital, single site
- + Local-language interface, regional support
- + Hospital information system integration
- + Payroll integration
- − The roster engine often runs on 'template-fill' logic — true roster optimisation is rare
- − Skill + preference + fairness weak together
- − Fatigue constraints soft or missing
- − Modern search methods needed by large hospitals are out of scope
International workforce management software
Enterprise$200-800/nurse/year subscription or $300K-2M/year license
Who it fits: 400+ nurses, multi-site, accreditation focus
- + Mature roster engine: solver with optimum guarantee, advanced search, rule-based options selectable
- + Skill + preference + fairness + fatigue modelled together
- + Nurse-first preference entry flow supported
- + Rich accreditation reports
- − High license + 8-16 month rollout
- − Customisation for local contract / union rules adds project time
- − Wide nurse + charge nurse training programme
- − Data calibration takes at least 3-6 months
Open-source solver + in-house NRP build
Open SourceLicense free; in-house build 20-40 weeks or $60K-180K of consulting
Who it fits: Hospital or hospital group with a tech team
- + No license cost
- + Reference open-source tools exist for nurse rostering
- + Full control over contract / union rules
- + Skill + preference data stays in-house
- − Requires internal optimisation + hospital operations expertise
- − Initial prototype → field system takes 9-15 months
- − Maintenance burden stays with the hospital
- − Calibration (historical work data) takes 6 months first
Recommendation
Ask in the meeting
- Which approach does the roster engine use — solver with optimum guarantee, advanced search (tabu / simulated annealing / scatter), rule-based selection, or template-fill? In a demo with 200 nurses and complex demand, which method runs?
- How are hard versus soft constraints separated? Are fatigue constraints (max consecutive nights, minimum rest) hard or soft? Are they user-tunable?
- How deep is the skill matrix (ward × nurse) — only ward fit, or does certification level + seniority mix also enter the solver?
- Are nurse preferences (personal days, leave requests, night propensity) weighted scores or strict constraints? Is the nurse-first preference entry flow supported?
- Are fairness reports (night-shift standard deviation, weekend equity, consecutive-work counts) generated automatically? Which metrics?
- When sudden changes hit (sick leave, patient-volume spike), how fast does the roster re-solve? Is there a backup-nurse suggestion engine?
- In an 8-12 week pilot with real operational data, can you produce a breach, fairness and satisfaction metrics report versus the prior manual roster?
- If we end the contract, in which standard format (CSV, JSON) can we export the nurse roster, skill matrix, preference history, roster archive and fairness reports?
Technical details
Editor’s note
In everyday speech this problem is called the “nurse rota”, the “monthly schedule” or the “ward roster”. In the academic literature its name is the Nurse Rostering Problem (NRP). Burke, De Causmaecker, Vanden Berghe and Van Landeghem (2004) is the canonical survey; De Causmaecker and Vanden Berghe (2011) is the modern categorisation; Cheang, Li, Lim and Rodrigues (2003) the early bibliographic reference.
This page should not be confused with generic shift scheduling (#003): #003 is the weekly shift decision in restaurants, retail and contact centres — legal hour caps, skill fit and preferences are there, but patient-safety fatigue constraints are not, the seniority mix is weak, and there is no accreditation burden. NRP carries healthcare-specific complexity: ICU vs surgery vs general-ward skill split, max-consecutive-night caps (typically 3 or 4 — grounded in patient-safety research), 11-hour minimum rest between shifts (a European Working Time Directive lineage), very heavy preference weight (nurse turnover is sensitive to burnout), and mandatory fairness reporting (accreditation rule). Call-centre workforce scheduling (#023), operating-room scheduling (#008) and patient flow (#038) are close relatives but the mathematical skeleton differs. Building NRP on a #003 engine usually fails — the extra constraints overload the engine.
Most-skipped point in the sector: patient-safety (fatigue + minimum rest) constraints. Plain shift schedules treat “weekly hour cap” as enough; modern NRP literature models night-shift fatigue (Burke 2004 framework), max consecutive nights (typically 3 or 4), minimum shift-to-shift rest (11 hours from night to morning), and weekly night-shift distribution equity as hard or soft constraints. International health-services research reports that bad rosters raise patient adverse-event rates by 20-40% and measurably lift nurse burnout scores (Burke, Curtois, Qu and Vanden Berghe 2010-related field work). In any demo, ask the vendor for a scenario where a 4th consecutive night cannot be assigned after 3 — an engine that cannot do this is not NRP-ready. The second skipped point is seniority mix. Every ward-shift should carry a hard rule of “at least 1 senior + at least 1 mid + new graduates allowed only with senior cover”; without it, the night shift may run with a lone new graduate and patient-safety risk grows.
A step-by-step path for an SMB hospital
Stage 1 — Measure first, plan second. For at least 12 months, log nurse work data: each nurse’s monthly shift distribution (morning/evening/night counts), consecutive work days, weekend counts, weekly hour total, leave days, breach count (consecutive nights, rest period). Skill matrix: per nurse, certification list (ICU, OR, maternity, paediatric certifications, first-aid, IV-therapy authority). Seniority matrix: senior/mid/new graduate split. Demand pattern: historical nurse need per ward-shift-day.
Stage 2 — Write down the knowledge capital. Which nurse can work which ward (skill fit — no ICU without ICU certification). Contract type (full-time 40h, part-time 24h, on-call). Union rules (weekly hour cap, consecutive nights, mandatory rest). Move verbal preferences to written forms — every nurse fills a “5 preferred days + 5 refused days” form at least once a month.
Stage 3 — Pilot. 8-12 weeks. Run the NRP module in parallel with manual planning on a subset (e.g. monthly roster for a university-hospital ICU, or for a single surgical ward). The decision still belongs to the charge nurse; the system advises. Success criterion in writing, before start: “in 60 days, consecutive-night breach -50%, fairness standard deviation -30%, nurse satisfaction score +15%.” If the bar is missed, the pilot ends — exit right in the contract.
Stage 4 — Rollout. Full hospital + all wards over 6-12 months. Nurse training 1-2 weeks (the mobile app is intuitive). Charge-nurse training is heavier — skill-matrix maintenance, preference scoring, fairness-report reading. Monthly operations review: breach report, fairness distribution, preference-hit rate, replacement time.
Risks — what can go wrong
- Contract or union rule change. An annual collective agreement or regulatory change requires hard-constraint updates in the system. If the solver hard-codes the rule, the update becomes a project — and the old plan starts breaching in the meantime. The contract must include a rule-update guarantee.
- Sudden illness + replacement. Sick leave (especially during pandemic surges) breaks the roster daily. Without a replacement-suggestion engine, the charge nurse spends hours on the phone hunting cover. A replacement candidate-list (3-5 backups per ward) must be prepared in advance.
- Preference breach → burnout + attrition. When soft constraints (preferences) are weighted too low, the system breaches them; the nurse leaves 3-4 months later. This must be measured in exit interviews under “roster unfairness”. Preference weights re-calibrate every 6 months.
- Single-supplier (WFM software) lock-in. Without a contract clause for “annual standard-format export (CSV, JSON) of the skill matrix, preference history, roster archive and fairness reports”, leaving the system means losing years of accumulated skill + preference + seniority data.
Solution method — technical view
Main approaches in the NRP literature:
| Approach | Typical scale | Solve time | Guaranteed optimum? |
|---|---|---|---|
| Manual + spreadsheet | 30-80 nurses | hours-days | No, 40-60% optimal |
| Integer programming (MIP) — Burke 2004 | 100-300 nurses | minutes-hours | Yes (within a bound) |
| Column generation + branch-and-price — JFB-Purnomo 2005 | 200-500 nurses | hours | Yes (within a bound) |
| Scatter search — Burke 2010 | 300-800 nurses | hours | No, good practical quality |
| Tabu search / simulated annealing | 300-1000 nurses | hours | No, good practical quality |
| Constraint programming (CP) | 100-400 nurses, complex rules | minutes-hours | Yes with modern CP solvers |
| Hybrid (metaheuristic + MIP) | 500-1500 nurses | hours | Practically near-optimal |
Problem sub-type to formulation mapping:
- Cyclic NRP: Fixed monthly pattern, each nurse on a weekly cycle. Small-mid wards. Low preference load.
- Non-cyclic NRP: Re-solved each month. Heavy preference weight. Burke 2004 framework.
- Preference-based NRP: Preference-max objective. JFB-Purnomo 2005 column generation.
- Demand-based NRP: Patient-volume forecast as input. Demand × coverage strict.
- Self-scheduling NRP: Nurse fills in own preferences first, the system fills gaps. High satisfaction, more complex optimisation.
Objective function options:
- Weighted soft-constraint violation sum minimum: The most common formulation (Burke 2004).
- Preference score maximum + violations minimum (lexicographic): Nurse satisfaction first.
- Fairness (night-shift, weekend SD) minimum: Equity-driven.
- Total work cost (overtime + replacement) minimum: Budget-driven.
Most field deployments use a weighted blend of all four; the weights revisit every 6 months.
Close relatives:
- Generic Shift Scheduling (#003): Personnel scheduling without skill + fatigue + accreditation load.
- Call Center Workforce Scheduling (#023): Forecast-driven, continuous-arrival call process.
- Operating Room Scheduling (#008): OR-time scheduling; doctor + nurse + room combination.
- Patient Flow Optimization (#038): Bed occupancy and patient-flow planning.
- Workforce Tour Scheduling (#079 sibling): Broader workforce tour planning.
NRP, with healthcare-specific constraints (skill + fatigue + accreditation + preference weight + contract + union), falls into a distinct mathematical class from other shift problems; an engine that does not recognise this class fails at pilot stage.
Academic references
Listed in the page frontmatter under sources. Burke, De Causmaecker, Vanden Berghe and Van Landeghem (2004) is the canonical survey; De Causmaecker and Vanden Berghe (2011) is the modern categorisation; Cheang, Li, Lim and Rodrigues (2003) is the early bibliographic reference. For column generation see J.F. and Purnomo (2005); for metaheuristics see Burke, Curtois, Qu and Vanden Berghe (2010). NRP has been one of the most-published problems in Journal of Scheduling, European Journal of Operational Research and Journal of the Operational Research Society over the last 20 years.
Sources
- Burke, E. K., De Causmaecker, P., Vanden Berghe, G. and Van Landeghem, H. (2004). The state of the art of nurse rostering. Journal of Scheduling, 7(6), 441-499. NRP canonical survey.
- De Causmaecker, P. and Vanden Berghe, G. (2011). A categorisation of nurse rostering problems. Journal of Scheduling, 14(1), 3-16. Modern reference for NRP classification.
- Cheang, B., Li, H., Lim, A. and Rodrigues, B. (2003). Nurse rostering problems — a bibliographic survey. European Journal of Operational Research, 151(3), 447-460. Early bibliographic survey.
- J.F. and Purnomo, H. W. (2005). Preference scheduling for nurses using column generation. European Journal of Operational Research, 164(2), 510-534. Column generation NRP.
- Burke, E. K., Curtois, T., Qu, R. and Vanden Berghe, G. (2010). A scatter search methodology for the nurse rostering problem. Journal of the Operational Research Society, 61(11), 1667-1679. Metaheuristic NRP.
- YÖK Thesis Center — keyword: ‘hemşire çizelgeleme’ or ’nurse rostering’ — 25+ theses from TR academia. tez.yok.gov.tr
Glossary
- Nurse Rostering
- The healthcare-specific OR problem of assigning nurses to shifts over a multi-week planning horizon under coverage, skill, fatigue, contract and preference constraints.
- Fatigue Constraint
- A scheduling rule that limits worker fatigue in safety-critical roles — minimum rest, max consecutive nights, weekly hours, weekend balance.
- MIP
- An optimization model where some decision variables are forced to be whole numbers (e.g. number of trucks, number of shifts).
- Shift Scheduling
- The weekly or monthly decision of which employee works which day, in which shift, in which role.
Related problems
How Do I Lay Out Outpatient Appointments — Keeping Patient Wait and Doctor Idle Time Both Low?
This page is for the manager of a private clinic or hospital outpatient ward with 5-20 doctors handling 100-800 appointments per day. Two coupled decisions: how long should an appointment slot be (15 or 20 minutes, same for everyone or not), and should some slots take two patients to absorb the no-shows? The wrong design triggers three things at once: patients wait 40-90 minutes and the complaint hotline fills up, the doctor sits idle 1-2 hours in the afternoon or runs until 8 pm, and a 20-30% no-show rate quietly erodes capacity. A fixed 15-minute template looks tidy on paper, but when real consultations swing between 5 and 25 minutes the afternoon queue always collapses.
Which Patient to Which Ward and Bed, and When to Trigger Discharge?
For the management running a 50-500 bed private hospital or clinic with 6-15 services (cardiology, internal medicine, pediatrics, intensive care, oncology and similar). Every day two interlinked decisions must be made: which ward and bed at what hour an arriving patient is admitted to, and how many hours in advance the discharge decision is triggered for already admitted patients. When a ward fills up, the patient waits hours in the emergency department or is placed in the wrong service, which lengthens stay and raises clinical risk. If bed occupancy is tracked manually, emergency-elective collisions and weekend congestion are unavoidable.