Element Summary |
BreakConfigurations | Defines break configurations for different shifts. |
BreakConfigurations.BreakConfiguration | Defines the configuration of breaks for shifts that apply to the given shift filter. |
BreakConfigurations.BreakConfiguration.BreakSet | Defines a set of allowed Breaks.
|
BreakConfigurations.BreakConfiguration.BreakSet.Break | A break ID that can be used within the BreakSet.
|
BreakConfigurations.BreakConfiguration.ShiftFilter | Defines one or more filters, that select a set of shift types. |
BreakConfigurations.BreakConfiguration.ShiftFilter.Contracts | Matches only shifts where the employee is hired under one of these contracts.
|
Breaks | This optional module can be used to define
different types of breaks that should be assigned by the solver
during the scheduled
working time of the employees.
|
BreakTypes | Defines break types with their properties and constraints. |
BreakTypes.BreakType | A break type with its properties and constraints.
|
Conditionals | Conditional constraints can be used to model rules of the form "IF Condition1 satisfied THEN Condition2 must be satisfied". |
Conditionals.Conditional | A conditional constraint that uses the defined boolean Variables to set up IF-THEN conditions.
|
Conditionals.Variables | The boolean variables that can be used in the conditionals. |
Conditionals.Variables.MatchVariable | A variable that is defined as a pattern match. |
Conditionals.Variables.WorkloadVariable | A variable that is defined as a workload time unit. |
Contracts | Contracts define constraints which have to be fulfilled for a certain group of employees. |
Contracts.Contract | A single contract containing restrictions valid for all employees working under this contract.
|
Contracts.Contract.FairnessConstraints | These constraints can be used to ensure fairness between all employees that are working under this contract. |
Contracts.Contract.PatternConstraints | This is a general and flexible constraint
which can model a wide variety of requirements on the
employee's schedule.
|
Contracts.Contract.ProvidedSkills | Lists the available skills of an employee
working under this contract.
|
Contracts.Contract.ShiftEndTimes | This constraint is used to specify earliest
(minimum) and latest (maximum) shift end times for employees working under
this contract,
optionally restricted to certain shift types or days.
|
Contracts.Contract.ShiftLengths | This constraint is used to specify minimum
and maximum shift lengths for employees working under this contract,
optionally restricted to certain shift types or days.
|
Contracts.Contract.ShiftStartTimes | This constraint is used to specify earliest
(minimum) and latest (maximum) shift start times for employees working under
this contract,
optionally restricted to certain shift types or days.
|
Contracts.Contract.TaskLengths | Minimum and maximum amount of time the
employee can work consecutively on the same type of task, optionally
restricted to certain task types or days.
|
Contracts.Contract.UsageOptional | If this is used then employees with this contract will only be assigned shifts if they are needed. |
Contracts.Contract.WorkSwitchLimitPerShift | Minimum and maximum number of task switches or skill assignments per shift. |
Demands | |
EmployeeList | |
EmployeeList.Employee | An individual employee in the roster.
|
EmployeeList.VariableEmployee | A homogeneous pool of employees that can be hired if necessary. |
EmployeePairings | |
Employees | |
General | This module contains general information about the
scheduling horizon and the problem instance.
|
General.AllowSequenceCutoff | Allows to specify how sequences on the border of the scheduling horizon are treated. |
General.CyclicSchedule |
If this element is used, the schedule is cyclic and the last day of the schedule is again followed by the first day. |
General.WeekendDefinition | If this element is present, the time counted as weekend can be specified,
default: shifts starting on Saturday and Sunday.
|
General.WeekendDefinition.Days | Shifts starting on one of the given days are counted as weekend shifts.
|
General.WeekendDefinition.Precise | Weekend shifts can be specified precisely, e.g to specify all shifts
ending later than 22:00 on Friday already as weekend.
|
GlobalShiftConstraints | Contains restrictions that have to be evaluated globally over all assigned shifts. |
GlobalShiftConstraints.AverageShiftLength | This constraint can be used to set upper and lower limits to the average length of all shifts
that are scheduled in the whole
horizon (optionally filtered by shift type).
|
GlobalShiftConstraints.ShiftInstances | Specifies limits on the number of different instances of shifts (i.e with differing start or end times), optionally grouped by shift type. |
PreAssignments | |
PreAssignments.NoShift | A time period during which the employee must
not have any work assigned.
|
PreAssignments.Shift | A fixed shift that can not be unassigned or altered. |
PreAssignments.Shift.Break | The break that should be scheduled in this fixed shift assignment. |
PreAssignments.Shift.Skill | The skill that should be covered in this fixed shift assignment. |
PreAssignments.Shift.Task | The task which should be scheduled in this fixed shift assignment. |
SchedulingHorizon | The root element of the document. |
ShiftCover | A ShiftCover entry indicates that the given number of employees has to be assigned this shift type, optionally grouped by skill. |
ShiftGroups | Shift types can be placed in groups to be easily
referenced in other constraints.
|
ShiftGroups.ShiftGroup | A group of shift types. |
Shifts | Provides information about available shift types. |
ShiftTypes | A list of shift types that can be used in the schedule. |
ShiftTypes.ShiftType | A single shift type. |
ShiftTypes.ShiftType.EmployeeLimits | Specifies limits on the number of overall
employee assignments for the shift type inside a given time
period.
|
ShiftTypes.ShiftType.EmployeeLimits.EmployeeLimit | Specifies the limits for a given range in the planning period.
|
ShiftTypes.ShiftType.FixedShiftTasks | Defines special tasks that have to be done by any employee who is working in this shift. |
ShiftTypes.ShiftType.FixedShiftTasks.FixedShiftTask | Defines a special task for each employee working in the shift (e.g tidying up the workplace). |
Skills | Skills (sometimes also referred to as qualifications) define properties that certain employees will fulfill. |
Skills.Skill | |
Skills.Skill.IncludesSkill | A skill ID which is contained within this skill. |
TaskCover | A task is a unit of work that has to be scheduled within a certain time window and requires at least one employee. |
TaskCover.AllowSplit | If this element is present, this task can be split into multiple parts (start of the first and end of the last part will be used to determine deviations from given time windows). |
TaskCover.Prerequisites | References task executions by task cover ID
that have to be completed before this task execution can be
scheduled.
|
TaskGroups | Task types can be placed in groups to be easily
referenced in other constraints.
|
TaskGroups.TaskGroup | A group of task types. |
Tasks | Provides information about available task types. |
TaskTypes | A list of task types that can be used in the
schedule.
|
TaskTypes.TaskType | A task type is a certain type of work that can be scheduled within certain time windows and requires at least one employee. |
TaskTypes.TaskType.Prerequisites | References task types by ID that have to be completed before this task type can be scheduled. |
TimeCover | A TimeCover entry indicates that the given number of employees has to be working during that time period, optionally grouped by skill. |
Complex Type Summary |
AbstractEmployeeType | An abstract supertype for both individual and variable employees.
|
AbstractEmployeeType.Contracts | The contracts that will be assigned to this employee (or each employee of this type in case of VariableEmployees). |
AbstractEmployeeType.Preferences | Employees can request not to do certain tasks (PenalizedTask) and request (not) to work on given days or to cover only specific shifts (ShiftOn-/ShiftOffRequest). |
AbstractEmployeeType.Preferences.PenalizedTask | Each time this task is scheduled for the enclosing employee, the given penalty is added to the fitness function. |
AbstractEmployeeType.Preferences.ShiftOffRequest | A request not to be assigned a specific shift (or any shift at all) on the given day. |
AbstractEmployeeType.Preferences.ShiftOnRequest | A request to be assigned a specific shift (or any shift at all) on the given day. |
AnyOrNoShift | Represents a day with any shift or no shift at all. |
AnyShift | Represents a day with any shift, but not a free day. |
CoverRequirements | A list of required personnel numbers for this time period, shift or task, optionally grouped by necessary skill. |
DayCollection | This type provides different variants to specify a collection of days within the planning horizon.
|
DayCollection.Exclude | Allows to specify days to exclude from this collection.
|
DayRange | This type provides a range of days in the planning period. |
EmployeePair | A set of two or more employees that should or should not work together in the same shifts. |
ForbiddenSequence | A ForbiddenSequence is a sequence of shifts that must not be assigned to an employee
starting at any of the given days in the planning period (or nowhere if no days are specified).
|
IdenticalSequence | An IdenticalSequence is a sequence of days that must be assigned the same shift type for an employee
starting at any of the given days in the planning period (or at any day if no days are specified).
|
Match | A match contains a number of sequences of shifts (patterns) that might appear in a roster. |
NoShift | Represents a day without any shift (a free day). |
PairingType | A set of employee-to-shift assignments to be matched in an EmployeePairing constraint. |
PairingType.Assignment | An employee-to-shift assignment that will count as a match for this pairing.
|
Pattern | A Pattern is a sequence of shifts that are assigned to a single employee
starting at any of the given days in the planning period (or at any day if no days are specified).
|
SequenceCount |
A common type for counter constraints representing either total or consecutive occurrences of working days, days off or
assignments of certain shift types.
|
WeekendSequenceCount |
A common type for counter constraints representing either total or consecutive working weekends.
|
WeightedDouble | A double value with an optional weight for a violation (either exceeding or not reaching the given value, depending on the element where this type is used). |
WeightedInteger | An integer value with an optional weight for a violation (either exceeding or not reaching the given value, depending on the element where this type is used). |
WeightedIntSkill | An integer value with an optional weight for a violation (either exceeding or not reaching the given value, depending on the element where this type is used). |
WeightedTimePoint | A time point with an optional weight for a violation (either exceeding or not reaching the given value, depending on the element where this type is used). |
WeightedTimeSpan | A TimeSpan with an optional weight for a violation (either exceeding or not reaching the given value, depending on the element where this type is used). |
WorkloadType | |