Class: ModelBuilder
Compilation context that creates variables, constraints, and objectives and emits aSolverRequest for the Python CP-SAT solver service.
Constructors
Constructor
Parameters
| Parameter | Type |
|---|---|
config | ModelBuilderConfig |
Returns
ModelBuilder
Properties
coverage
coverageBucketMinutes
days
employees
fairDistribution
options
reporter
rules
shiftPatterns
weekStartsOn
Methods
addAtMostOne()
Parameters
| Parameter | Type |
|---|---|
vars | string[] |
Returns
void
addBoolAnd()
Parameters
| Parameter | Type |
|---|---|
vars | string[] |
Returns
void
addBoolOr()
Parameters
| Parameter | Type |
|---|---|
vars | string[] |
Returns
void
addExactlyOne()
Parameters
| Parameter | Type |
|---|---|
vars | string[] |
Returns
void
addImplication()
Parameters
| Parameter | Type |
|---|---|
ifVar | string |
thenVar | string |
Returns
void
addLinear()
Parameters
| Parameter | Type |
|---|---|
terms | { coeff: number; var: string; }[] |
op | "<=" | ">=" | "==" |
rhs | number |
Returns
void
addNoOverlap()
Parameters
| Parameter | Type |
|---|---|
intervals | string[] |
Returns
void
addPenalty()
Parameters
| Parameter | Type |
|---|---|
varName | string |
weight | number |
Returns
void
addSoftLinear()
Parameters
| Parameter | Type |
|---|---|
terms | { coeff: number; var: string; }[] |
op | "<=" | ">=" |
rhs | number |
penalty | number |
id? | string |
Returns
void
assignment()
Parameters
| Parameter | Type |
|---|---|
employeeId | string |
patternId | string |
day | string |
Returns
string
boolVar()
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
string
canAssign()
Parameters
| Parameter | Type |
|---|---|
employee | SchedulingEmployee |
pattern | ShiftPattern |
Returns
boolean
compile()
Returns
CompilationResult
employeesForCoverage()
- If only roleId: must have that role
- If only skillIds: must have ALL specified skills
- If both: must have the role AND ALL specified skills
Parameters
| Parameter | Type |
|---|---|
cov | CoverageRequirement |
Returns
SchedulingEmployee[]
employeesWithRole()
Parameters
| Parameter | Type |
|---|---|
roleId | string |
Returns
SchedulingEmployee[]
endMinutes()
Parameters
| Parameter | Type |
|---|---|
pattern | ShiftPattern |
day | string |
Returns
number
intervalVar()
Parameters
| Parameter | Type |
|---|---|
name | string |
start | number |
end | number |
size | number |
presenceVar? | string |
Returns
string
intVar()
Parameters
| Parameter | Type |
|---|---|
name | string |
min | number |
max | number |
Returns
string
patternAvailableOnDay()
Parameters
| Parameter | Type |
|---|---|
pattern | ShiftPattern |
day | string |
Returns
boolean
patternDuration()
Parameters
| Parameter | Type |
|---|---|
patternId | string |
Returns
number
shiftActive()
Parameters
| Parameter | Type |
|---|---|
patternId | string |
day | string |
Returns
string
startMinutes()
Parameters
| Parameter | Type |
|---|---|
pattern | ShiftPattern |
day | string |
Returns
number
validateSolution()
Parameters
| Parameter | Type |
|---|---|
assignments | ResolvedShiftAssignment[] |
Returns
void