Shift Scheduling Benchmark Data Sets

Changes

03-Jul-2020

A new lower bound for Instance15 of the nurse rostering instances found by Tak.Sugawara at Sugawara-Systems, Japan. Found using column generation. More information available here.

Lower bound
-----------
Instance15: 3827 

20-May-2020

Two new solutions from Robert Randall and Irv Lustig at Princeton Consultants, Inc. for the nurse rostering instances, using a combination of the RIP (Reciprocating Integer Programming) Technique (paper in progress) and Integer Programming:

Instance15: 3833 (Found 17th May 2020)  
Instance15: 3833 (Found 24th April 2020)

23-Apr-2020

New solution and LB from Robert Randall and Irv Lustig at Princeton Consultants, Inc. for the nurse rostering instances, using a combination of the RIP (Reciprocating Integer Programming) Technique (paper in progress) and Integer Programming:

              LB      UB
Instance19: 3149    
Instance20: 4769    4769

07-Jan-2020

New solution from Petter Strandmark for the nurse rostering instances:

Instance24: 42463

More information about the method used is available in the paper First-order linear programming in a column generation-based heuristic approach to the nurse rostering problem.


26-Dec-2019

New solutions from Peter de Voogd (Erasmus University Rotterdam / ORTEC) for the nurse rostering instances, using Integer Programming:

              LB      UB
Instance20   4767    
Instance21  21124   
Instance24  26571   44089

20-Dec-2019

New solutions for the multi-activity, multi-day workforce timetabling problem instances.


16-Dec-2019

New solutions from Peter de Voogd (Erasmus University Rotterdam / ORTEC) for the nurse rostering instances, using Integer Programming:

              LB      UB
Instance20   4758    4796
Instance22  28997   31279
Instance23  16990

07-Nov-2019

New benchmark instances for the multi-activity, multi-day workforce timetabling problem have been added.


25-Aug-2017

New solutions from Pieter Smet (Department of Computer Science, KU Leuven) for the nurse rostering instances, using Integer Programming:

              Time(s)          LB       UB
Instance08       880.4      1300      1300
Instance09      1769.6       439       439
Instance13     12074.5      1348      1348
Instance14       456.7      1278      1278
Instance16       488.3      3225      3225
Instance17      1096.2      5746      5746
Instance18      2675.5      4459      4459               

                               LB       UB
Instance15                  3823      3834
Instance19                  3148      3149

01-Oct-2016

New solutions from Petter Strandmark for the nurse rostering instances, using branch and price (source code available at https://github.com/PetterS/monolith):

            Solution     
Instance13   1388
Instance15   4039
Instance19   3218
Instance20   4943
Instance21  21159
Instance22  33155
Instance23  17428
Instance24  48777

28-Jun-2016

New solutions from Felix Winter (Technical University of Vienna) for the nurse rostering instances, using a metaheuristic and constraint programming hybrid method:

             Solution     Time (secs)
Instance19    3688        19684
Instance20    5936        5010.18
Instance21   22020        53044.2
Instance22   37912        62141.2
Instance23   41574        3552.77
Instance24   54344        84340.8 

06-Oct-2014

New results for the nurse rostering instances, using Gurobi 5.6.3 (report)


03-Oct-2014

New lower bounds and solutions from Petter Strandmark for the nurse rostering instances:

Lower bounds

Instance13: 519
Instance21: 11898
Instance22: 24064
Instance23: 2765

Solutions

Instance14: 1779
Instance15: 4932
Instance21: 22215
Instance22: 46849

16-Sep-2014

New lower bounds found by Petter Strandmark for the nurse rostering instances, using Integer Programming:

Instance1: 607
Instance14: 1254
Instance15: 3740
Instance17: 5706
Instance18: 4175
Instance19: 2689
Instance20: 4091

22-Aug-2014

New lower bounds for the nurse rostering instances, found using Column Generation:

Instance1: 558
Instance2: 828 
Instance3: 1001  
Instance4: 1716 
Instance5: 1141  
Instance6: 1949 
Instance7: 1055  
Instance8: 1297  
Instance9: 406 
Instance10: 4631 
Instance11: 3443  
Instance12: 4040 
Instance16: 3224  

New best known solutions for the nurse rostering instances, found using Branch and Price:

---------------------------------
Instance    Solution   Time(s)
---------------------------------
Instance1   607        0.27
Instance2   828        0.13
Instance3   1001       0.45
Instance4   1716       1.5
Instance5   1160       25.61
Instance6   1952       10.46
Instance7   1058       93.73
Instance8   1308       11831.06
Instance9   439        76.99
Instance10  4631       113.44
Instance11  3443       19.11
Instance12  4046       1336.40
Instance16  3323       265.02

August-2014

24 new instances have been added. The instances have been designed to be easier to understand and use but challenging to solve. The instances range in size from 2 weeks to 52 weeks and 8 staff to 150 staff. They are available in an XML or a plain delimited text format.


August-2010

The University of Nottingham has formed a spin-out company (Staff Roster Solutions) to licence and develop the rostering engine previously available at this site. The benchmark instances will continue to be hosted at this site. Roster Booster and the XML format documentation have moved to www.staffrostersolutions.com.


07-May-2010

  • New version of Roster Booster (1.7.0).
  • Two new benchmark instances: HED01 and BCDT-Sep.

09-March-2010

New version of Roster Booster (1.6.0).


20-January-2010

New version of Roster Booster (1.5.0) which includes a column generation algorithm for calculating lower bounds on instances.


18-December-2009

New version of Roster Booster which includes two new constraints: EmployeePairings and Conditionals.


9-November-2009

New best known solutions for instance Ikegami-3Shift-DATA1.1 (3) and instance Ikegami-3Shift-DATA1.2 (3), found by Nobuo Inui, Kenta Maeda and Atsuko Ikegami.


22-October-2009

New best known solution for instance Ikegami-3Shift-DATA1 (2), found by Nobuo Inui, Kenta Maeda and Atsuko Ikegami.


13-October-2009

Updated the results spreadsheet to include some recent publications.


03-September-2009

New best known solution for instance ORTEC02 (270), found by Celia Glass and Roger Knight. See reference [GLA09].


05-August-2009

  • New version of Roster Booster (0.9.2). Includes :
    • The model now differentiates between hard and soft constraints.
    • New features (search space size, solver memory usage etc).

03-July-2009

  • New version of Roster Booster (0.9).
    • Added the ability to open, create and solve tour (sub-daily) scheduling instances.
    • Updates to the rostering engine.
  • Added some example tour scheduling instances.

01-May-2009

  • Converted the instances to a new model which uses two general constraints in place of all the previous constraints.
  • Updated Roster Booster (0.8.0) to work with the new model. Roster Booster is also now more of a modeling tool for creating instances and testing them using the solvers.
  • Added some lower bounds found by solving the new model using column generation.

07-Oct-2008

New results :

Lower bounds
------------
Valouxis-1 - 20
GPost-B    - 3

15-Sep-2008

Added two small instances taken from papers published in the 80's (Ozkarahan.ros and Musa.ros)


05-Sep-2008

Added two new instances Azaiez.ros and LLR.ros


03-Sep-2008

New results :

Upper bounds
------------
GPost      - 5
Valouxis-1 - 20


Lower bounds
------------
ORTEC01  - 270 (more info)
GPost    - 5   (more info)
WHPP     - 5   (more info)

26-Aug-2008

More best known solutions found by DeWolf Fan Xue (Hong Kong Polytechnic University) :

Valouxis-1 - 60
Valouxis-1 - 120
BCV-A.12.2 - 1953
BCV-3.46.1 - 3280
BCV-3.46.2 - 894

11-Aug-2008

More best known solutions found by DeWolf Fan Xue (Hong Kong Polytechnic University) :

ORTEC01 - 270
BCV-A.12.1 - 1294
BCV-A.12.1 - 1305
BCV-A.12.1 - 1330
BCV-3.46.1 - 3282
BCV-3.46.1 - 3283

30-Jul-2008

DeWolf Fan Xue (Hong Kong Polytechnic University) found two new best known solutions for instance BCV-A.12.1 (1345 and 1354).


03-Jun-2008

Added an installer for roster viewer (also changed name to Roster Booster).


15-May-2008

Roster viewer (0.6).
Changes
- Printing and print previewing rosters.
- Adding, editing and deleting constraints.
- Emailing schedules to employees.
- Cut, copy and paste shifts in the roster.
- Freeze days on the roster so nothing can be assigned or unassigned on those days.
- Added a flag for shifts which indicates whether or not they can be auto-assigned (e.g. by an auto-assignment algorithm). This allows 'shifts' such as 'training days' to be used.
- Select photos for employees.
- Enter phone and email details for employees.


14-Apr-2008

Roster viewer (0.5.1).


26-Mar-2008

New version of roster viewer (0.5).


04-Dec-2007

New version of roster viewer (0.4). Minor changes to API (2.3.1).


19-Nov-2007

Version 2.3 available.


11-Oct-2007

Added the Valouxis instance.


09-Oct-2007

Added the WHPP instance.


05-Oct-2007

Added the Ikegami and Niwa data sets.
New version of the roster viewer.


10-Jul-2007

Added the data sets from hospitals in Montreal.


26-Jun-2007

Bug fixes to the roster viewer.


01-Jun-2007

Version 2.0 available. Includes a number of changes:
- Min, max, preferred levels of cover can be specified and penalised by deviation from these levels.
- Cover can be specified for each skill.
- Cover can be specified by period of day as well as per shift.
- A number of new constraints.

Added some new data sets.

A GUI is now available for viewing and creating/changing rosters by hand.


09-Feb-2007

Version 1.1 of the API available.
Simple command line user interface available for download.
Added to the website some more documentation about the data formats.


27-Nov-2006

Added the QMC data set.


14-Sep-2006

Some of the instances have been renamed.

The name changes are as follows:

Data1   =  BCV-1.8.1
Data1b  =  BCV-1.8.2
Data1c  =  BCV-1.8.3
Data1d  =  BCV-1.8.4
Data2   =  BCV-2.46.1
Data3   =  BCV-3.46.1
Data3b  =  BCV-3.46.2
Data4   =  BCV-4.13.1
Data4b  =  BCV-4.13.2
Data5   =  BCV-5.4.1
Data6   =  BCV-6.13.1
Data6b  =  BCV-6.13.2
Data7   =  BCV-7.10.1
Data8   =  BCV-8.13.1
Data8b  =  BCV-8.13.2
DataA   =  BCV-A.12.1
DataB   =  BCV-A.12.2