Shift scheduling problems are found in a wide range
of industries and settings. These include airlines, airports, armed forces,
call/contact centres, emergency services (police, fire and ambulance crews),
factories, healthcare (physicians and nurses), hospitality, retail, security
personnel, transportation sector (train and bus drivers). Creating staff rosters
is a challenging and time consuming process. In fact, it is known to belong to a
mathematical class of problems (NP-Hard) considered intractable. Although no
algorithm for this problem can guarantee optimal solutions in practical
computation times, it is possible to generate rosters which are
significantly better than those produced by an expert human planner, and in a
fraction of the time. These models and algorithms are the focus of our research.
In order to test algorithms we have collected benchmark test instances from
a number of scenarios around the world. These data sets are categorised into two
groups: Shift scheduling problems and
tour (sub-daily) scheduling problems. In
the shift scheduling problems the planning period (scheduling horizon) is
divided into time periods of one day. Each employee must then be assigned a day
off or a particular shift (e.g. early shift, late shift, night shift etc) on
each day (subject to all the constraints and objectives). In the tour scheduling
problem, the planning period is typically split into much shorter time periods
(e.g. 15 minutes) and each employee must be assigned a task (e.g. work, break
etc) for each time period.
The benchmark instances and solutions are presented using xml. More information
on the data format and model used for these rostering problems is available
here. It is a very flexible model which
allows it to be used in a wide range of scenarios and handle the range of
regulations and requirements often unique to each organisation. The data files
can also be read by Roster Booster. Roster Booster
is a modelling tool which can be used to create and test new instances and
solutions. It also contains the latest version of our rostering engine and
solvers for creating optimal and near optimal rosters and calculating lower
bounds for instances.
A further discussion on the benefits of automated scheduling is available
here. A spreadsheet of published results (and papers
under review) for these instances is available
here. Lower bounds are available
here.
|
|
Best known solutions |
 |
| File |
GPost.ros |
| Problem |
GPost
 |
| Employees |
8 |
| Schedule length |
4 weeks |
| Cover type |
Cover is specified per shift. |
|
|
|
| Other versions |
GPost-B.ros
Same as GPost.ros but without the requests on the first two days. |
|
|
 |
| File |
SINTEF.ros |
| Problem |
SINTEF
 |
| Employees |
24 |
| Schedule length |
3 weeks |
| Cover type |
Cover is specified per shift. |
|
|
 |
|
|
|
| Other versions |
ORTEC02.ros
Identical to ORTEC01 except employee B has five "Vacation" shifts in the first full week. |
|
|
 |
| File |
QMC-1.ros |
| Problem |
QMC
 |
| Employees |
19 |
| Shift types |
3 |
| Period |
28 days |
| Cover type |
Cover is specified per shift. |
|
|
|
| Other versions |
QMC-2.ros
An alternative formulation with a couple of different constraints and
in which cover may deviate from a preferred level. |
|
|
 |
|
|
 |
|
|
|
|
|
|
|
|
 |
|
|
|
|
|
 |
|
|
 |
|
|
 |
| File |
Azaiez.ros |
| Problem |
Azaiez
 |
| Employees |
13 |
| Shift types |
2 |
| Period |
28 days |
| Cover type |
Cover is per shift and by skill level. |
| References |
[AZA05] |
|
|
 |
| File |
Valouxis-1.ros |
| Problem |
Valouxis
 |
| Employees |
16 |
| Schedule length |
28 days |
| Shift types |
3 |
| Cover type |
Cover is specified per shift. |
| References |
[VAL00] |
|
|
 |
| File |
HED01.ros New! |
| Problem |
HED01
 |
| Employees |
20 |
| Schedule length |
31 days |
| Shift types |
5 |
| Cover type |
Cover is per shift and includes skills. |
| Comments |
(Uses the Conditional constraint). |
| References |
[PUE09] |
|
|
 |
| File |
BCDT-Sep.ros New! |
| Problem |
BCDT
 |
| Employees |
20 |
| Schedule length |
30 days |
| Shift types |
4 |
| Cover type |
Cover is per shift. |
| References |
[BEL04] |
|
|
 |
| File |
WHPP.ros |
| Problem |
WHPP
 |
| Employees |
30 |
| Schedule length |
2 weeks |
| Shift types |
3 |
| Cover type |
Cover is specified per shift. |
| References |
[WEI95] |
|
|
 |
| File |
LLR.ros |
| Problem |
LLR
 |
| Employees |
27 |
| Schedule length |
7 days |
| Shift types |
3 |
| Cover type |
Cover is specified per shift. |
| References |
[LI03] |
|
|
 |
| File |
Musa.ros |
| Problem |
Musa
 |
| Comments |
This instance is taken from a fairly early publication on nurse rostering. A UNIVAC 1100 was used to solve it in 1982! |
| Employees |
11 |
| Schedule length |
14 days |
| Shift types |
1 |
| Cover type |
Cover is specified per shift, minimum and preferred levels are used. |
| References |
[MUS84] |
|
|
 |
| File |
Ozkarahan.ros |
| Problem |
Ozkarahan
 |
| Employees |
14 |
| Schedule length |
7 days |
| Shift types |
2 |
| Cover type |
Cover is specified per shift. |
| References |
[OZK89] |
|
|
 |
| File |
MER.ros |
| Problem |
Montreal
 |
| Employees |
54 |
| Shift types |
12 |
| Period |
6 weeks |
| Cover type |
Cover is per time period of the day. |
|
|
 |
| File |
CHILD.ros |
| Problem |
Montreal
 |
| Employees |
41 |
| Shift types |
5 |
| Period |
6 weeks |
| Cover type |
Cover is per time period of the day. |
|
|
 |
| File |
ERRVH.ros |
| Problem |
Montreal
 |
| Employees |
51 |
| Shift types |
8 |
| Period |
6 weeks |
| Cover type |
Cover is per time period of the day. |
|
|
 |
| File |
ERMGH.ros |
| Problem |
Montreal
 |
| Employees |
41 |
| Shift types |
4 |
| Period |
6 weeks |
| Cover type |
Cover is per time period of the day. |
|
|
| |
|
|
|
Best known solutions |
 |
| File |
T1-15m1d.ros |
| Problem |
T1
 |
| Employees |
16 |
| Assignment types |
2 (work and break) |
| Schedule length |
64, 15 minute periods (06:30-22:30) over one day. |
| Cover type |
Minimum and preferred levels for each time period. |
|
|
 |
| File |
T2-15m5d.ros |
| Problem |
T2
 |
| Employees |
15 |
| Assignment types |
2 (work and break) |
| Schedule length |
74, 15 minute periods (05:30-00:00) over 5 days = 370 cells. |
| Cover type |
Minimum and preferred levels for each time period. |
|
|
 |
| File |
T3-15m1d.ros New! |
| Problem |
T3
 |
| Employees |
20 |
| Assignment types |
2 (work and break) |
| Schedule length |
73, 15 minute periods (05:45-00:00) over one day. |
| Cover type |
Minimum and preferred levels for each time period. |
|
|
Instances: BCV-A.12.1, BCV-A.12.2, BCV-1.8.1, BCV-2.46.1, BCV-3.46.1, BCV-5.4.1,
BCV-6.13.1, BCV-7.10.1, BCV-8.13.1, ERMGH-A, ERRVH-A, MER-A, CHILD-A2 are available in Roster Booster version 0.7.4 (or older) and
the API version 2.4.1 (or older) at the download page.
All other instances are included in the latest versions of Roster Booster and the API.
Schemas SchedulingPeriod-3.0.xsd,
(documentation),
Roster.xsd,
(documentation),
and more best known
solutions are also included.