Shift Scheduling Benchmark Data Sets
[ home ] [ nurse ] [ multi-activity ] [ changes ] [ contact ]
Multi-activity, Multi-day Shift Scheduling Instances 1..225
General Information
The planning horizon starts at 06:00 on the first day
and finishes at 06:00 on the last day. Therefore if the planning horizon is
7 days then it runs from 06:00 on day 1 to 06:00 on day 8.
The planning horizon is split into 15 minute intervals. Cover requirements
for each task is given for every 15 minute interval in the planning horizon.
Shifts must start and finish at the beginning of a 15 minute interval. For example, 06:00-14:15
would be a valid shift but 06:08-14:15 or 06:00-14:04 would not be.
Shifts consist of durations assigned to a task. The shift may consist of one or more task
durations.
A visual representation of a shift is given below which shows a shift consisting of two different
tasks: Task 1 (green) and Task 2 (gray). The shift starts at 09:00
finishes at 17:00 and so is 8 hours in duration.
In this shift the employee is assigned to Task 1 for the
first 3.5 hours and then switches to Task 2 for the remainder of the shift for 4.5 hours.
In the second example below the shifts starts with Task 1 then switches to Task 2 after 3.5 hours and
then finally switches back to Task 1 again for the final hour of the shift.
Tasks changes within the shift must also occur at the beginning of a 15 minute interval.
For example, a task change could occur at 12:30 or 12:45 but not at any time between 12:30 and 12:45.
Hard Constraints
Employees cannot start more than one shift on a day (where a day is considered as starting at
midnight and finishing 24 hours later).
Maximum 5 Consecutive Working Days - The maximum number of consecutive working days that can
be assigned to an employee is 5. A day is considered as a working day if a shift is started
on that day (where the day is considered as starting at midnight and finishing 24 hours later).
This constraint always assumes that the last
day of the previous planning period was a day off and the first day of the next
planning period is a day off.
Maximum Total Minutes - The maximum total time in minutes over the whole planning horizon that can be
assigned to each employee is defined in SECTION_STAFF in the field
MaxTotalMinutes. The duration of each shift is the start time to the end time.
Minimum Total Minutes - The minimum total time in minutes over the whole planning horizon that must be
assigned to each employee is defined in SECTION_STAFF in the field
MinTotalMinutes. The duration of each shift is the start time to the end time.
Minimum Rest Time Between Shifts - There must be a minimum of 14 hours rest after every shift. This means that
after a shift finishes an employee cannot start another shift until at least 14 hours later.
Minimum Task Duration - A shift can contain any number of different tasks but each task duration must be at least
1 hour. This means that a shift cannot contain a task duration that is less than one hour. For example, a shift which
starts at 09:00 and has the first 45 minutes assigned to Task 1 and then switches to Task 2 at 09:45 is not valid, but
if the shift switches to Task 2 at 10:00 then it would be valid.
Minimum Shift Length - The minimum shift duration is 6 hours.
Maximum Shift Length - The maximum shift duration is 10 hours.
Valid Shift Start Times - Shifts can only start between the following times: 06:00-10:00, 14:00-18:00 and 20:00-00:00.
A shift cannot start outside one of these intervals. For example, a shift could start at 10:00 but not 10:15.
Minimum Cover Requirements - The minimum number of required staff for every time interval and every task (defined in SECTION_COVER in the field
Min) must be satisfied.
Soft Constraints
Maximum Cover Requirements - If more than the maximum required number of staff at the specified time interval for the specified task is assigned (defined in SECTION_COVER) then it is a soft constraint violation. If the number assigned (x) is more than the maximum required number then the penalty for that task and time interval is:How to verify new solutions?
See: How to verify new solutions.