| OR-Tools | |
|---|---|
![]() | |
| Original author | Laurent Perron |
| Developer | Google Optimization team1 |
| Initial release | September 15, 2010 (2010-09-15) |
| Stable release | v9.152
/ January 12, 2026 (2026-01-12) |
| Written in | C++ |
| Operating system | Linux, macOS, Microsoft Windows |
| Type | Library |
| License | Apache License 2.0 |
| Website | developers |
| Repository | github |
Google OR-Tools is a free and open-source software suite developed by Google for solving linear programming (LP), mixed integer programming (MIP), constraint programming (CP), vehicle routing (VRP), and related optimization problems.3 OR stands for operations research.
OR-Tools is a set of components written in C++ but provides wrappers for Java, .NET and Python.
It is distributed under the Apache License 2.0.4
History
OR-Tools was created by Laurent Perron in 2011.5
In 2014, Google's open source linear programming solver, GLOP, was released as part of OR-Tools.1
The CP-SAT solver6 bundled with OR-Tools has been consistently winning gold medals in the MiniZinc Challenge,7 an international constraint programming competition.
Features
The OR-Tools supports a variety of programming languages, including:
- Object-oriented interfaces for C++8
- A Java wrapper package9
- A .NET and .NET Framework wrapper package10
- A Python wrapper package1112
OR-Tools supports a wide range of problem types,133 among them:
- Assignment problem14
- Linear programming
- Mixed-integer programming15
- Constraint programming6
- Vehicle routing problem1416
- Network flow algorithms
It supports the FlatZinc modeling language.17
References
References
- "Sudoku, Linear Optimization, and the Ten Cent Diet". ai.googleblog.com.
- "Release v9.15". github.com.
- "Google OR-Tools a guide". medium.com. February 24, 2019.
- "LICENSE-2.0.txt". github.com.
- Perron, Laurent (July 1, 2011). "Operations Research and Constraint Programming at Google". Lee J. (Eds) Principles and Practice of Constraint Programming – CP 2011. Lecture Notes in Computer Science. Vol. 6876. p. 2. doi:10.1007/978-3-642-23786-7_2. ISBN 978-3-642-23786-7. S2CID 38166333.
- "The CP-SAT Primer". d-krupke.github.io. December 2, 2024.
- "The MiniZinc Challenge". minizinc.org.
- "Homebrew package". formulae.brew.sh.
- "com.google.ortools:ortools-java". mvnrepository.com.
- "Google.OrTools". nuget.org.
- "ortools". pypi.org.
- "Stan Store". toolsforcreators.org.
- "OR-Tools introduction". Google Developers. Archived from the original on October 1, 2021. Retrieved October 1, 2021.
- "Application of Google OR-Tools". kaggle.com.
- Louat, Christophe (2009). Etude et mise en œuvre de stratégies de coupes efficaces pour des problèmes entiers mixtes 0-1 (PhD). Vol. 1. Université de Versailles Saint-Quentin-en-Yvelines. p. 144.
- "Routing use case". activimetrics.com.
- "Software with FlatZinc implementations". minizinc.org.
Bibliography
Bibliography
- Kruk, Serge (February 26, 2018). Practical Python AI Projects: Mathematical Models of Optimization Problems with Google OR-Tools (1st ed.). O'Reilly Media. ISBN 9781484234235.
- Da Col, Giacomo; Teppan, Eric C. (2019). "Google vs IBM: A Constraint Solving Challenge on the Job-Shop Scheduling Problem". Electronic Proceedings in Theoretical Computer Science. 306. Open Publishing Association: 259–265. arXiv:1909.08247. doi:10.4204/eptcs.306.30. ISSN 2075-2180. S2CID 202660711.
- Li, Mengyun; Chow, Joseph (April 2021). "School Bus Routing Problem with a Mixed Ride, Mixed Load, and Heterogeneous Fleet". Transportation Research Record: Journal of the Transportation Research Board. 2675 (7): 467–479. doi:10.1177/03611981211016860. S2CID 237618523.
