Skip to main content
The Creation Solver can be used to assign shifts based on a given demand. Additional constraints can be placed on the problem like limiting inter-shift-start-times, accounting for limited resources used by certain shifts and/or requiring certain skills. Flexible work is executed as late as possible and user provided preferences and costs can be used by the solver. The input of the creation solver consists of two parts:
  • The possible shifts and their properties
  • The demands that must be fulfilled by those shifts
The demands can be provided in two different ways, in fixed or flexible format. These cannot be mixed. Based on which type of demand is provided, the solver will run in fixed or flexible mode, more explanation on this later in the guide. The output of the solver contains the selected shifts along with the amount of each shift that the solver assigned. The output is the same for fixed and flexible mode. The solver can run in two modes: Fixed Mode and Flexible Mode.

Fixed Mode

In Fixed Mode the solver has no choice about when work needs to be done. In this mode, the input specifies how many people we need at which point in time for what skill. When a demand block that starts at 9am and ends at 10am has a demand value of 3, that means that 3 people are required for that skill between 9am and 10am.

Flexible Mode

In Flexible Mode the solver has some freedom over when certain work can be done. In this mode, the input specifies when volumes of work can be done and when they have to be completed. When a demand block that starts at 9am and ends at 10am has a min value of 60 and a max value of 120, that means that a minimum of 60 minutes of work needs to have been done by 10am and that the maximum amount of work that can be done by 10am is 120 minutes. This CREATE request schema is used for solving a Shift Creation Problem. It consists of demands and shift templates, options and weights.

Demand

The demands are used to specify when shifts of each skill are needed. When using fixed mode only the demand field needs to be specified. When using flexible mode only the min and max fields of the demands need to be specified. A solver instance can only contain fixed or flexible demands, not both.

Template

Pattern

Break

Resource Requirement

Used to specify that a shift requires a certain resource during the times when the shift takes place.
For example, a shift with skill ‘worker’ needs 1 hammer.

Resource Availability

Used to specify which resources are available at all times and how many there are available of each resource.
An example would be that there are 5 hammers available.

Example

In the example of Single Day Shift Creation we will be testing a simple demand curve against 2 patterns from 9am to 5pm and 10am to 2pm.
Single Day Shift Creation (Fixed Mode)
Single Day Shift Creation (Flexible Mode)