Employee scheduling engine
Constraint optimisation for employee scheduling. In plain terms: you enter your rules, absences and requirements, and the calculation engine builds the month's roster in minutes.
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 constraint optimisation: the engine applies the rules you give it, learning nothing and guessing nothing. The process is transparent and auditable.
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 is among the most decorated solvers at the MiniZinc Challenge, the reference international competition in constraint programming, with gold medals in several categories in most years since 2013. 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 employee scheduling software that runs in your browser. It is installed on your premises, locally (on-premise), or hosted online, your choice. In local mode, the solver runs without an internet connection.
- Installation: set up by our team, locally or online, operational within one business day
- Isolation: no data is sent to any external service for the calculation. No telemetry, no callbacks. In local mode, the system runs in complete autonomy
- Updates: locally, a new version to install in minutes on the computer or server running the application; online, the update is done for you
Hardware requirements
- Processor: the CP-SAT solver parallelises its search across processor cores (OR-Tools
num_workersparameter, set to use every available core). 4 cores minimum, 8 physical cores recommended. No graphics card: OR-Tools does not compute on GPUs. - Memory: 8 GB minimum, 16 GB recommended. OR-Tools caps a calculation at 10 GB by default.
- Disk: a few GB (SQLite database, history, exports).
- System: Windows 10/11 or Windows Server, Linux or macOS, with Python 3.12 installed by us. Planners only need a recent browser.
- Calculation time: an adjustable time limit, a few minutes per monthly roster, during which the processor is fully used.
The client owns their data and the application. In local mode, no data leaves their network. Online, hosting conditions (location, backups, access) are agreed in writing with them before going live.
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.