OR-Tools

Last updated

OR-Tools
Original author(s) Laurent Perron
Developer(s) Google Optimization team [1]
Initial releaseSeptember 15, 2010;14 years ago (2010-09-15)
Stable release
v9.9.3963 [2] / March 7, 2024;12 months ago (2024-03-07)
Repository github.com/google/or-tools
Written in C++
Operating system Linux, macOS, Microsoft Windows
Type Library
License Apache License 2.0
Website developers.google.com/optimization/

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]

Contents

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 solver [6] 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:

OR-Tools supports a wide range of problem types, [13] [3] among them:

It supports the FlatZinc modeling language. [17]

See also

References

  1. 1 2 "Sudoku, Linear Optimization, and the Ten Cent Diet". ai.googleblog.com.
  2. "Release v9.9". github.com.
  3. 1 2 "Google OR-Tools a guide". medium.com. February 24, 2019.
  4. "LICENSE-2.0.txt". github.com.
  5. 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.
  6. 1 2 "The CP-SAT Primer". d-krupke.github.io. December 2, 2024.
  7. "The MiniZinc Challenge". minizinc.org.
  8. "Homebrew package". formulae.brew.sh.
  9. "com.google.ortools:ortools-java". mvnrepository.com.
  10. "Google.OrTools". nuget.org.
  11. "ortools". pypi.org.
  12. "Stan Store". toolsforcreators.org.
  13. "OR-Tools introduction". Google Developers.
  14. 1 2 "Application of Google OR-Tools". kaggle.com.
  15. 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.
  16. "Routing use case". activimetrics.com.
  17. "Software with FlatZinc implementations". minizinc.org.

Bibliography