OR-Tools
   HOME

TheInfoList



OR:

Google OR-Tools is a
free and open-source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
suite Suite may refer to: Arts and entertainment *Suite (music), a set of musical pieces considered as one composition ** Suite (Bach), a list of suites composed by J. S. Bach ** Suite (Cassadó), a mid-1920s composition by Gaspar Cassadó ** ''Suite' ...
developed by Google for solving
linear programming Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear function#As a polynomial function, li ...
(LP), mixed integer programming (MIP), constraint programming (CP), vehicle routing (VRP), and related optimization problems. 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.


History

OR-Tools was created by Laurent Perron in 2011. In 2014, Google's open source linear programming solver, GLOP, was released as part of OR-Tools. The CP-SAT solver bundled with OR-Tools has been consistently winning gold medals in the MiniZinc Challenge, an international constraint programming competition.


Features

The OR-Tools supports a variety of programming languages, including: * Object-oriented interfaces for C++ * A Java wrapper package * A .NET and
.NET Framework The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
wrapper package * A Python wrapper package OR-Tools supports a wide range of problem types, among them: * Assignment problem *
Linear programming Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear function#As a polynomial function, li ...
* Mixed-integer programming * Constraint programming * Vehicle routing problem * Network flow algorithms It supports the FlatZinc modeling language.


See also

* COIN-OR * CPLEX * GLPK * SCIP (optimization software) * FICO Xpress * MOSEK


References


Bibliography

* * *


External links

*
Source code

Video introduction to OR-Tools
{{Google LLC Mathematical optimization software Numerical programming languages Numerical software Optimization algorithms and methods Software using the Apache license