Constraints
Constraints are the rules that guide how rosters are generated. They fall into two categories; hard constraints which are non-negotiable rules such as legal requirements or employee availability, and soft constraints which are preferences like preferred working hours.
All soft constraint have a weight
field, and many have a fairness
field.
- The weight of a constraint indicates its priority level. It is typically a value ranging from 0 to 100, with 100 representing utmost priority. Certain constraints may also have negative weights, going down to -100, to effectively reverse the constraint's impact. The default weight is set at 0.
- The fairness of a constraint encompasses two elements:
- The fairness weight, a numeric value between 0 and 100, which assesses how evenly the constraint should be applied among employees. The default fairness weight is 0.
- A boolean that considers whether the Full-Time Employee (FTE) working hours of employees should influence the fairness score. When set to true, the fairness weight adjusts based on the FTE hours of the employees. This is set to false by default.
Most constraints can be tailored to affect specific employees.
If no employeeIds
are defined in the constraint configuration, it applies to all employees.
Implicit Constraints
Constraint | Description |
---|---|
One Shift Per Day | An employee can work only one shift per day. Note: A shift spanning two days only belongs to one day as specified. |
No Concurrent Shifts | An employee cannot be assigned to two shifts that overlap in time. |
User-Configurable Constraints
📄️ Blocked Time
Time periods when employees cannot be scheduled to work
📄️ Rest Between Shifts
Specify the minimum rest period between shifts for employees
📄️ Weekend Distribution
Set rules for how many weekends an employee can work
📄️ Working Time Preference
Intervals when employees prefer to work
📄️ Shift Pattern
Define desired or undesired shift patterns.
📄️ Shift Utilization
Specify how many times shifts should be used
📄️ Shift Layout
Set desired break time between a given shift
📄️ New Working Day
Avoid changing the working days of pre-scheduled shifts
📄️ Existing Working Day Change
Penalize any changes to pre-scheduled shifts
📄️ Consecutive Time Off
Defines desired amount of time off per week
📄️ Prioritization
Set priority scores employees
📄️ Continuity
Specify shifts for which it is preferred to reuse always use the same employees
📄️ Employee Utilization
Constrain the number of hours worked by employees in specific periods, or on specific shifts.
📄️ Period (Label) Distribution
Set rules for how many periods (marked by labels) an employee can work.
📄️ Periodic Rest
Set targets for the minimum rest an employee should receive in each period