Skip to content
Google's Operations Research tools:
Branch: stable
Clone or download
Latest commit 39f4470 Mar 25, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis Travis: enable ccache Mar 21, 2019
bazel bump gflags to 2.2.2; use latest commit on glog to benefit from inclu… Feb 10, 2019
binder Update requirements.txt Aug 2, 2018
cmake Bump abseil-cpp: 7c7754f -> bf29470 Mar 20, 2019
dependencies/sources get patchelf from github instead of local archive Jan 19, 2018
examples fix example Mar 25, 2019
ortools polish doc Mar 25, 2019
patches Bump abseil-cpp: 7c7754f -> bf29470 Mar 20, 2019
tools docker: Centos7 -> devtoolset-7-toolchain-centos7 Mar 25, 2019
.appveyor.yml Appveyor: Bump to JDK 11 Feb 19, 2019
.gitignore update gitignore Nov 27, 2018
.travis.yml Travis-CI: use JDK 8 Mar 22, 2019
CMakeLists.txt Update CMakeLists.txt Dec 5, 2018 Update and Nov 8, 2018
LICENSE-2.0.txt Update LICENSE with copyright date and owner Apr 25, 2018
Makefile Add Makefile `check` target Jan 16, 2019 Update Dec 26, 2018
Version.txt Update .csproj Feb 19, 2019
WORKSPACE Bazel fixup Mar 21, 2019
or-tools.code-workspace Add Test & Examples Jan 19, 2018

OR-Tools - Google Optimization Tools

Build Status Build status
PyPI version PyPI download Binder
NuGet version NuGet download

Google's software suite for combinatorial optimization.

Table of Contents

About OR-Tools

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:

  • A constraint programming solver;
  • A linear programming solver;
  • Wrappers around commercial and other open source solvers, including mixed integer solvers;
  • Bin packing and knapsack algorithms;
  • Algorithms for the Traveling Salesman Problem and Vehicle Routing Problem;
  • Graph algorithms (shortest paths, min cost flow, max flow, linear sum assignment).

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:

  • Ubuntu 16.04 and up (64-bit);
  • Mac OSX El Capitan with Xcode 7.x (64-bit);
  • Microsoft Windows with Visual Studio 2015 and 2017 (64-bit).

OR-Tools currently builds with a Makefile, but also provides Bazel and CMake support.

For installation instructions (both source and binary), please visit

Experimental Build with CMake

We also provide experimental CMake support.
Please check the CMake build instructions.

Quick Start

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:


The 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-2.0 for more information.

You can’t perform that action at this time.