Technical Reference
Solver Model and Parameters
MP-OPT uses Google OR-Tools CP-SAT for feasibility checking and fatigue-aware assignment. The solver receives a normalised, event-scoped planning model rather than direct database rows.
Two solver passes
Flow check
Determines whether coverage, availability, capability, time, transfer, preassignment, and location constraints can be satisfied. Structured diagnostics name relevant tasks and requirements when assumptions conflict.
Fatigue optimisation
Finds assignments and placements that satisfy hard constraints while minimising the fatigue range across people. Intermediate solutions can be reported while search continues.
Modelled behaviour
- Normal tasks require complete capability coverage.
- Preassigned people, availability, simultaneous work, transfers, and location continuity become hard constraints.
- Floating work expands into permitted candidate placements before optimisation.
- For an any-location task, the solver chooses one valid location and keeps assigned people consistent with it.
- Task duration and fatigue rate add fatigue; sufficiently long idle segments can recover fatigue.
- Work-time accounting is separate from fatigue accounting.
Configuration defaults
| Parameter | Default | Meaning |
|---|---|---|
| Scale | 100 | Converts fatigue values into CP-SAT integer units |
| Break threshold | 30 minutes | Minimum idle segment treated as a recovery break |
| Break effect | -0.5 per minute | Default fatigue recovery rate during qualifying breaks |
| Maximum solve time | 30 seconds | Search limit before returning the best proven status available |
Result statuses
OPTIMAL proves the best objective. FEASIBLE provides a valid result without proving optimality. INFEASIBLE proves the requirements conflict. UNKNOWN means the search stopped before proving feasibility, commonly because the time limit was reached. Only a valid returned schedule should be moved into review and finalisation.