Jump to content

OR-Tools

From Wikipedia, the free encyclopedia

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; 8 months ago (2024-03-07)
Repositorygithub.com/google/or-tools
Written inC++
Operating systemLinux, macOS, Microsoft Windows
TypeLibrary
LicenseApache License 2.0
Websitedevelopers.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]

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

[edit]

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

[edit]

The OR-Tools supports a variety of programming languages, including:

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

It supports the FlatZinc modeling language.[16]

See also

[edit]

References

[edit]
  1. ^ a b "Sudoku, Linear Optimization, and the Ten Cent Diet". ai.googleblog.com.
  2. ^ "Release v9.9". github.com.
  3. ^ a b "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. ^ a b "How the CP-SAT solver works". xiang.dev. April 25, 2020.
  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. ^ "OR-Tools introduction". Google Developers.
  13. ^ a b "Application of Google OR-Tools". kaggle.com.
  14. ^ 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.
  15. ^ "Routing use case". activimetrics.com.
  16. ^ "Software with FlatZinc implementations". minizinc.org.

Bibliography

[edit]
[edit]