Google OR-Tools
Google's open-source combinatorial optimisation suite
Overview
Google OR-Tools is a combinatorial optimisation software suite developed and maintained by Google. It provides solvers for large-scale scheduling, routing, assignment, and planning problems.
OR-Tools is not a Google Cloud commercial product. It is an open-source project published under the Apache 2.0 licence, developed by the Google Research team. The full source code is available on GitHub.
The suite includes several specialised solvers. Planopti specifically uses CP-SAT, the constraint programming solver with Boolean satisfiability.
Apache 2.0 Licence
OR-Tools is distributed under the Apache 2.0 licence, a permissive open-source licence that allows:
- Commercial use without licence fees or royalties
- Modification and integration into proprietary products
- Redistribution in binary or source form
- Private use with no obligation to publish
The Apache 2.0 licence does not require disclosure of proprietary code that uses the library. Planopti's code (dashboard, operational constraint modelling, interfaces) remains the exclusive property of Planopti SA. Only the OR-Tools component is open-source.
For the client, this means the optimisation engine integrated in Planopti is publicly auditable. Any developer or auditor can inspect the CP-SAT source code on Google's official repository.
Application domains
OR-Tools covers several families of optimisation problems:
- Constraint programming (CP-SAT): scheduling, assignment, planning under constraints. This is the solver used by Planopti
- Linear and integer programming (GLOP, PDLP): optimisation of linear functions with continuous or integer variables
- Vehicle routing: vehicle tours, travelling salesman problem, deliveries
- Bin packing: optimal arrangement of items in containers
- Network flows: optimisation over graphs (transportation, allocation)
Google uses OR-Tools internally for its own optimisation problems: datacentre scheduling, logistics planning, and resource allocation.
OR-Tools in Planopti
Planopti uses exclusively the CP-SAT solver from OR-Tools to generate monthly schedules. Here is how the components fit together:
- CP-SAT receives the mathematical model (variables, constraints, objective) and computes the optimal solution
- Planopti translates your operational data (staff, qualifications, shifts, needs, absences) into a CP-SAT model, then interprets the result as a readable schedule
Concretely, Planopti is responsible for:
- Modelling operational constraints (qualifications, regulatory rest, shift coverage, intra-group fairness)
- The management dashboard (staff, shifts, needs, and constraints entry)
- Translating data into mathematical variables and constraints
- Interpreting the CP-SAT result as a scheduling grid
- Export to Excel and PDF
CP-SAT knows nothing about your business. It is a generic solver. All operational expertise is in the Planopti code.
Languages and platforms
OR-Tools is available in 4 languages:
- Python: the most widely used language with OR-Tools. Install with one command:
pip install ortools. Planopti uses Python - C++: the solver's native language, maximum performance
- Java: via Maven
- C# (.NET): via NuGet
Supported platforms:
- Linux (Ubuntu, Debian, Fedora, Alpine, 64-bit)
- macOS (Intel and Apple Silicon)
- Windows (64-bit)
Planopti is deployed on-premise on your infrastructure. The CP-SAT solver (Google OR-Tools) runs natively without internet access.
Maturity and community
Key figures for the OR-Tools project:
- 13,200+ stars on GitHub
- 150+ contributors
- 15,800+ commits
- 52 releases (current version: v9.15, January 2026)
- Gold medal at the international constraint programming competition (MiniZinc Challenge) every year since 2018
OR-Tools is an actively maintained project by Google with regular releases. The community includes researchers, industry developers, and academics.
Official documentation
Resources to go further: