Rostering¶
A set of employees have to work a given amount of hours or days per week, and we have to find the assignment of employees to timeslots.
Name of the dag: rostering
Available solution methods:
default: MIP model built on PuLP.
mip: The default MiP model.
Decision¶
For each employee and time slot if the employee works said time slot or not.
This decision is subject to:
RQ01: at least one employee is at the work center at all times.
RQ02: employees work their weekly hours.
RQ03: employees can not work more than a given amount of hours every day.
RQ04: each employee only has one shift on one day.
RQ05: employees can not exceed their working days per week.
RQ06: employees at least work the minimum amount of hours every day.
RQ07: employees rest the minimum amount of hours between working days.
RQ08: at least one manager is at the work center at all times.
RQ09: the demand for each skill should be covered
RQ10: employee holidays are taken into account. Employees do not work when on holiday.
RQ11: store holidays are taken into account. Employees do not work on store holidays.
RQ12: employees can not work during downtime.
RQ13: employee starting hour preference.
RQ14: employee max preference hours.
RQ15: employee weekly schedule
RQ16: fixed worktable
Parameters¶
Contracts: the contracts that the employees have, with the number of days that have to be worked, the weekly hours and the shift.
Employees: each employee can be a manager or not.
Shifts: minimum starting hour and maximum ending hour of each shift.
Demand: the higher the value, the greater the need for employees for each shift (date and hour).
Employee holidays: the days in which an employee is on holiday and therefore can not work.
Store holidays: the days in which the store is closed and therefore nobody works.
Employee downtime: the days in which an employee can not work due an illness.
Employee preferences: starting and number of hours preferences for one day.
Weekly schedule: starting and ending hours for each week day.
Schedule exceptions: starting and ending hours for a specific date.
Employee schedule: days of the week the employee can work on
Fixed worktable: worktable fixed by the user
Parameters:
Ending hour: the hour the work center closes.
Horizon: the number of weeks that are going to be solved.
Minimum resting hours: the minimum amount of hours that have to be rested between the end of the shift on one day, and the start of the shift on the next day.
Minimum working hours: the minimum amount of hours that have to be worked each day that the employee works.
Slot length: the length of each time slot in minutes.
Requirements: table indicating which requirements should be complied and which not, and if they are, if they should be applied as strict or soft constraints.
rq02: “soft”, “strict” or “deactivated” for the weekly hours constraint
rq03: “soft”, “strict” or “deactivated” for the maximum daily hours constraint
rq05: “soft”, “strict” or “deactivated” for the maximum days worked per week constraint
rq06: “soft”, “strict” or “deactivated” for the minimum daily hours constraint
rq07: “soft”, “strict” or “deactivated” for the minimum rest hours between shifts constraint
rq08: “soft”, “strict” or “deactivated” for the constraint about needing to have a manager in the store at all times
rq09: “soft”, “strict” or “deactivated” for the skills constraint
rq10: “soft”, “strict” or “deactivated” for the employees’ holidays constraint
rq11: “strict” or “deactivated” for the store holidays constraint
rq12: “strict” or “deactivated” for the employee downtime constraint
rq13: “soft”, “strict” or “deactivated” for the employee start hour preferences constraint
rq14: “soft”, “strict” or “deactivated” for the employee max preference hours constraint
rq15: “soft”, “strict” or “deactivated” for the employee schedule constraint
rq16: “soft”, “strict” or “deactivated” for the fixed worktable constraint
Penalties: table indicating for each soft constraint the penalty level when it is not respected.