Google's software suite for combinatorial optimization.
Google Optimization Tools (a.k.a., OR-Tools) is an open-source, fast and portable software suite for solving combinatorial optimization problems.
The suite contains:
We wrote OR-Tools in C++, but also provide wrappers in Python, C# and Java.
This software suite is composed of the following components:
This software suite has been tested under:
OR-Tools currently builds with a Makefile, but also provides Bazel and CMake support.
For installation instructions (both source and binary), please visit https://developers.google.com/optimization/introduction/installing.
We provide a Make based build.
Please check the Make build instructions.
We provide a CMake based build.
Please check the CMake build instructions.
We provide a Bazel based build.
Please check the Bazel build instructions.
The best way to learn how to use OR-Tools is to follow the tutorials in our developer guide:
If you want to learn from code examples, take a look at the examples in the examples directory.
The complete documentation for OR-Tools is available at: https://developers.google.com/optimization/
The CONTRIBUTING.md file contains instructions on how to submit the Contributor License Agreement before sending any pull requests (PRs). Of course, if you're new to the project, it's usually best to discuss any proposals and reach consensus before sending your first PR.
The OR-Tools software suite is licensed under the terms of the Apache License 2.0.
See LICENSE for more information.