Employee scheduling engine
Constraint optimisation for employee scheduling
Our approach
Planopti solves combinatorial optimisation problems. We model our clients' operational constraints mathematically, then a solver explores the space of possible solutions to find the best configuration satisfying all defined rules.
This is not artificial intelligence, machine learning, or approximate heuristics. It is deterministic optimisation: the same input data always produces the same result. The process is transparent, auditable, and reproducible.
We distinguish two types of rules:
- Hard constraints: inviolable rules. If a solution does not satisfy them, it is rejected
- Soft constraints: objectives to optimise. The solver minimises deviations from the ideal. Each objective has a configurable weight reflecting the client's priorities
The result is a measurable optimisation score: the lower the score, the better the solution. The client knows exactly what the solver prioritised and why.
The optimisation engine
Planopti relies on Google OR-Tools, a combinatorial optimisation suite developed by Google Research. The component we use is CP-SAT (Constraint Programming with Boolean Satisfiability).
CP-SAT combines two techniques:
- Constraint programming: rules that the solution must satisfy are declared, and the solver searches for valid assignments
- Boolean satisfiability (SAT): the problem is encoded as logical clauses. The solver uses advanced techniques (clause learning, propagation, restarts) to efficiently eliminate impossible solutions
CP-SAT has won the gold medal at the international constraint programming competition (MiniZinc Challenge) every year since 2018. It is an open-source project with over 13,000 stars on GitHub, 150+ contributors, and regular releases.
After each run, the solver returns a clear status: OPTIMAL (best solution proven), FEASIBLE (valid solution, time limit reached), or INFEASIBLE (no solution possible with the given constraints).
Deployment
Planopti is deployed on-premise on the client's infrastructure. The solver runs natively without internet access.
- Installation: deployed by our team, operational within one business day
- Isolation: the system runs in complete autonomy. No telemetry, no callbacks, no external dependencies
- Updates: delivered as a new version, applied in minutes
The client owns their data. No data leaves their network.
Going further
Three pages detail the technologies used:
Ready to optimise your scheduling?
Tell us about your operation. We will show you how constraint programming can solve your specific challenges.