OR-Tools

Summary

(Learn how and when to remove this template message)

OR-Tools
OR-Tools Logo.png
Original author(s)Laurent Perron
Developer(s)Google Optimization team[1]
Initial releaseSeptember 15, 2010; 11 years ago (2010-09-15)
Stable release
v9.1.9490[2] / October 1, 2021; 2 months ago (2021-10-01)
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][4]

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.[5]

History

OR-Tools was created by Laurent Perron in 2011.[6]

In 2014, Google's open source linear programming solver, GLOP, was released as part of OR-Tools.[1]

The CP-SAT solver[7] bundled with OR-Tools won a total of eleven gold medals between 2018 and 2020 in the MiniZinc Challenge,[8] 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.[18]

See also

References

  1. ^ a b "Sudoku, Linear Optimization, and the Ten Cent Diet". ai.googleblog.com.
  2. ^ "Release v9.1". github.com.
  3. ^ a b "Google OR-Tools a guide". medium.com.
  4. ^ "We help you implement OR-tools technology". solvice.com.
  5. ^ "LICENSE-2.0.txt". github.com.
  6. ^ Perron, Laurent (July 1, 2011). "Operations Research and Constraint Programming at Google". Lee J. (eds) Principles and Practice of Constraint Programming – CP 2011. 6876: 2–2. doi:10.1007/978-3-642-23786-7_2. ISBN 978-3-642-23786-7.
  7. ^ a b "How the CP-SAT solver works". xiang.dev.
  8. ^ "The MiniZinc Challenge". minizinc.org.
  9. ^ "Homebrew package". formulae.brew.sh.
  10. ^ "com.google.ortools:ortools-java". mvnrepository.com.
  11. ^ "Google.OrTools". nuget.org.
  12. ^ "ortools". pypi.org.
  13. ^ "OR-Tools introduction". Google Developers.
  14. ^ a b "Application of Google OR-Tools". kaggle.com.
  15. ^ "Google OR-Tools. Business value and potential". freshcodeit.com.
  16. ^ Louat, Christophe (2009). Etude et mise en œuvre de stratégies de coupes efficaces pour des problèmes entiers mixtes 0-1 (PhD). 1. Université de Versailles Saint-Quentin-en-Yvelines. p. 144.
  17. ^ "Routing use case". activimetrics.com.
  18. ^ "Software with FlatZinc implementations". minizinc.org.

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. Open Publishing Association. 306: 259-265. doi:10.4204/eptcs.306.30. ISSN 2075-2180.
  • 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: 467-479. doi:10.1177/03611981211016860.

External links

  • Official website
  • Source code
  • Video introduction to OR-Tools