OR-Tools
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 | |
|---|---|
| File:OR-Tools Logo.png | |
| Original author | Laurent Perron |
| Developer | Google Optimization team[1] |
| Initial release | September 15, 2010 |
| Stable release | v9.9.3963[2]
/ March 7, 2024 |
| Repository | github |
| Written in | C++ |
| Engine | |
| Operating system | Linux, macOS, Microsoft Windows |
| Type | Library |
| License | Apache License 2.0 |
| Website | developers |
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 | edit source]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 | edit source]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 | edit source]References
[edit | edit source]- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
Bibliography
[edit | edit source]- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).