Shift Scheduling Benchmark Data Sets

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.
Example shift1
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.
Example shift2

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:

(x - max) * (x - max) * weight

The weight for all instances is 1.

The solution's total penalty is the sum of all the penalties for every time interval and task requirement.

How to verify new solutions?

See: How to verify new solutions.