Wiki Article
OR-Tools
Nguồn dữ liệu từ Wikipedia, hiển thị bởi DefZone.Net
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
| OR-Tools | |
|---|---|
![]() | |
| Original author | Laurent Perron |
| Developer | Google Optimization team[1] |
| Initial release | September 15, 2010 |
| Stable release | v9.9.3963[2]
/ March 7, 2024 |
| 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
[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:
- Object-oriented interfaces for C++[8]
- A Java wrapper package[9]
- A .NET and .NET Framework wrapper package[10]
- A Python wrapper package[11][12]
OR-Tools supports a wide range of problem types,[13][3] among them:
- Assignment problem[14]
- Linear programming
- Mixed-integer programming[15]
- Constraint programming[6]
- Vehicle routing problem[14][16]
- Network flow algorithms
It supports the FlatZinc modeling language.[17]
See also
[edit]References
[edit]- ^ a b "Sudoku, Linear Optimization, and the Ten Cent Diet". ai.googleblog.com.
- ^ "Release v9.9". github.com.
- ^ a b "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.
- ^ a b "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.
- ^ a b "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
[edit]- 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.
