Software:OR-Tools

From HandWiki
OR-Tools
Original author(s)Laurent Perron
Developer(s)Google Optimization team[1]
Initial releaseSeptember 15, 2010; 15 years ago (2010-09-15)
Stable release
v9.9.3963[2] / March 7, 2024; 23 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

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.0 1.1 "Sudoku, Linear Optimization, and the Ten Cent Diet". https://ai.googleblog.com/2014/09/sudoku-linear-optimization-and-ten-cent.html. 
  2. "Release v9.9". https://github.com/google/or-tools/releases/tag/v9.9. 
  3. 3.0 3.1 "Google OR-Tools a guide". February 24, 2019. https://medium.com/google-or-tools/google-or-tools-a-guide-39f439a5cd0f. 
  4. "LICENSE-2.0.txt". https://github.com/google/or-tools/blob/stable/LICENSE-2.0.txt. 
  5. Perron, Laurent (2011-07-01). "Operations Research and Constraint Programming at Google". Lee J. (Eds) Principles and Practice of Constraint Programming – CP 2011. Lecture Notes in Computer Science. 6876. pp. 2. doi:10.1007/978-3-642-23786-7_2. ISBN 978-3-642-23786-7. 
  6. 6.0 6.1 "The CP-SAT Primer". Dec 2, 2024. https://d-krupke.github.io/cpsat-primer/. 
  7. "The MiniZinc Challenge". https://www.minizinc.org/challenge.html. 
  8. "Homebrew package". https://formulae.brew.sh/formula/or-tools. 
  9. "com.google.ortools:ortools-java". https://mvnrepository.com/artifact/com.google.ortools/ortools-java. 
  10. "Google.OrTools". https://www.nuget.org/packages/Google.OrTools/. 
  11. "ortools". https://pypi.org/project/ortools/. 
  12. "Stan Store". toolsforcreators.org. https://toolsforcreators.org/stan-store-review-features-setup-ease-pricing-breakdown/. 
  13. "OR-Tools introduction". https://developers.google.com/optimization/introduction/overview. 
  14. 14.0 14.1 "Application of Google OR-Tools". https://www.kaggle.com/jpmiller/application-of-google-or-tools. 
  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". https://activimetrics.com/blog/ortools/multiday_tsp. 
  17. "Software with FlatZinc implementations". https://www.minizinc.org/software.html#flatzinc. 

Bibliography