DOI: 10.6084/m9.figshare.29859122.v2
title: Anaesthetist Rostering Problem (ARP) Benchmark Dataset:30 Synthetic Instances for Healthcare Staff Scheduling Optimization

description: This dataset provides <b>30 synthetic benchmark instances</b> for the Anaesthetist Rostering Problem (ARP), addressing the critical 100% benchmark availability gap in healthcare staff scheduling research. Derived from three years of real-world operational data at Hospital Canselor Tuanku Muhriz (HCTM), Universiti Kebangsaan Malaysia, these instances enable reproducible solver evaluation and comparative research in physician rostering optimization.<b>Key Features:</b><b>30 instances</b> across 3 difficulty levels (10 small, 10 medium, 10 large)<b>84-day planning horizon</b> (3 months × 28 days, 12 weeks)<b>17 locations</b> (7 monthly on-call + 10 weekly office/evening)<b>17 hard constraints + 11 soft constraints</b> (most comprehensive ARP formulation)<b>Bi-level optimization structure</b> (monthly roster → weekly roster)<b>Standardized CSV format</b> for automated solver integrationProblem DescriptionThe Anaesthetist Rostering Problem assigns qualified anaesthetists to 17 locations over an 84-day horizon while satisfying:<b>Hard constraints:</b> Demand fulfillment, qualifications, unavailability, work hour limits, rest requirements, location conflicts<b>Soft constraints:</b> Rest period preferences, request satisfaction (day-off, teaching, shift preferences), fairness, team compositionThe problem exhibits bi-level structure:<b>Monthly roster:</b> Assign 7 on-call locations (CGOT, CICU, SICU, CCT, SCT, SGOT, PWOT)<b>Weekly roster:</b> Assign 10 office/evening locations (OHMAU, OHMIU, MMAU, MMIU, MCT, MPWOT, MPMIS, EU1, EU2, EPWOT)Instance CategoriesSmall Instances (n=10)<b>Workforce:</b> 10-15 anaesthetists (observed: 12-14)<b>Characteristics:</b> Regional facilities, tight qualification coverage<b>Average assignments:</b> 280 monthly + 280 weekly per month<b>Difficulty:</b> Challenging due to limited specialist availabilityMedium Instances (n=10)<b>Workforce:</b> 20-30 anaesthetists (observed: 22-23)<b>Characteristics:</b> Teaching hospitals, moderate diversity<b>Average assignments:</b> 536 monthly + 544 weekly per month<b>Difficulty:</b> Balanced coverage vs. preference satisfactionLarge Instances (n=10)<b>Workforce:</b> 40-60 anaesthetists (observed: 41-57)<b>Characteristics:</b> Tertiary centers, extensive specialist pools<b>Average assignments:</b> 1120 monthly + 1136 weekly per month<b>Difficulty:</b> Fairness optimization and team balancing emphasisDataset StructureEach instance directory (e.g., <code>small/instance_01/</code>) contains <b>50+ CSV files</b>:Staff Data Files (per month)<code>Anaesthetist_month{1,2,3}.csv</code> - Staff identifiers, types (Junior/Senior), status<code>anaesthetist_preference_month{1,2,3}.csv</code> - Qualification matrices (q=0/1/2) for 17 locations<code>anaesthetist_request_month{1,2,3}.csv</code> - Daily requests (D, D_CME, CME, CT, XM, NA, NC, AM, PM)Demand Files<code>anesthetist_demand_monthly_roster_month{1,2,3}.csv</code> - Daily demand for 7 on-call locations<code>anesthetist_demand_week{1-12}_roster_month{1,2,3}.csv</code> - Daily demand for 10 weekly locationsConstraint Specification Files<code>location_monthly_roster_month{1,2,3}.csv</code> - Monthly location metadata<code>location_weekly_roster_month{1,2,3}.csv</code> - Weekly location metadata<code>location_should_scheduled_together_month{1,2,3}.csv</code> - Six required location pairs (HC11)<code>pair_two_consecutive_days_month{1,2,3}.csv</code> - CICU Mon-Tue patterns<code>pair_three_consecutive_days_month{1,2,3}.csv</code> - CICU Fri-Sun patternsCalendar Files<code>planning_day_month{1,2,3}.csv</code> - Day enumeration (1-28)<code>week_data_month{1,2,3}.csv</code> - Week enumeration<code>weekend_holiday_month{1,2,3}.csv</code> - Weekend/holiday indicators<code>weekend_holiday_pair_month{1,2,3}.csv</code> - Saturday-Sunday pairs<code>preholiday_month{1,2,3}.csv</code> - Pre-holiday markersCross-Month Continuity Files<code>three_days_roster_assignment_from_previous_month_week_{4,8,12}.csv</code> - Previous 3 days for rest continuityFairness Reference Files<code>anesthetist_matrix_workload_distribution_for_all_days.csv</code> - Previous workload (SC5)<code>anesthetist_matrix_workload_distribution_for_weekend_holiday.csv</code> - Weekend history (SC6)<code>anesthetist_matrix_workload_distribution_for_preholiday.csv</code> - Pre-holiday history (SC7)Instance Documentation<code>README.md</code> - Instance-specific metadata (staff count, junior-senior split, random seed, difficulty)File Format SpecificationsAnaesthetist File Format<pre><pre>anaesthetist_id,name,type,status<br>SE1,Anaesthetist_SE1,Senior,Work<br>JU1,Anaesthetist_JU1,Junior,Work<br></pre></pre>Qualification Matrix Format<pre><pre>anaesthetist_id,location_code,qualification_level<br>SE1,CGOT,1<br>SE1,SGOT,0<br>JU1,CGOT,2<br></pre></pre><b>q=0:</b> Blocked (not qualified)<b>q=1:</b> Fully qualified (preferred)<b>q=2:</b> Qualified but less preferredRequest Format<pre><pre>anaesthetist_id,day,request_type<br>SE1,1,NA<br>JU2,5,D_CME<br>SE3,10,AM<br></pre></pre><b>Request Types:</b><b>D:</b> Day off<b>D_CME:</b> Day off with teaching/dissertation<b>CME:</b> Teaching activity<b>CT:</b> Cardiothoracic training<b>XM:</b> Examination<b>NA:</b> Not available (hard unavailability)<b>NC:</b> No on-call preference<b>AM:</b> Morning shift preference<b>PM:</b> Evening shift preferenceDemand Format<pre><pre>day,location_code,demand<br>1,CGOT,1<br>1,SGOT,1<br>1,SICU,2<br></pre></pre>Usage InstructionsBasic Workflow<b>Select instance</b> (e.g., <code>small/instance_01/</code>)<b>Read staff data</b> from <code>Anaesthetist_month1.csv</code><b>Read qualifications</b> from <code>anaesthetist_preference_month1.csv</code><b>Read requests</b> from <code>anaesthetist_request_month1.csv</code><b>Read monthly demand</b> from <code>anesthetist_demand_monthly_roster_month1.csv</code><b>Solve Month 1</b> monthly roster<b>Read weekly demands</b> from <code>anesthetist_demand_week{1-4}_roster_month1.csv</code><b>Solve Weeks 1-4</b> sequentially<b>Repeat</b> for months 2 and 3Constraint ImplementationAll constraints detailed in accompanying research paper:<b>HC1-HC11:</b> Baseline hard constraints<b>HC12-HC17:</b> Novel hard constraints (active status, minimum assignment, 24h NA conflicts, weekday work, pre-SGOT rest, unique assignments)<b>SC1-SC10:</b> Baseline soft constraints<b>Enhanced SC1:</b> 8-rule intensity-dependent rest period modeling<b>SC11:</b> SICU Junior-Senior mix balancingInstance Generation MethodologyInstances generated through:<b>Anonymization</b> of real HCTM data (2019-2021)<b>Controlled perturbation</b> preserving operational realism<b>Random seeding:</b> 1001-1010 (small), 2001-2010 (medium), 3001-3010 (large)<b>Feasibility verification</b> ensuring all hard constraints satisfiable<b>Preserved characteristics:</b>Demand patterns (seasonal/weekly variations)Qualification distributions (training progressions)Request densities (35-40% daily rate)Junior-senior ratios (target 60:40 ±5%)