Skip to content

Releases: google/or-tools

v6.7.1 (2018-03)

16 Mar 15:22
Compare
Choose a tag to compare

Fix Protobuf version on UNIX: ~v3.1.0-alpha-1 (3d9d1a1255) -> v3.5.1

v6.7 (2018-03)

09 Mar 12:16
Compare
Choose a tag to compare

Update to required dependencies

  • Protobuf 3.5.0 -> 3.5.1

Misc

  • Refactor base to prepare abseil-cpp integration.
  • Add some CI jobs.
  • Add make install_python target.
  • Use JAVA_HOME instead of JDK_DIRECTORY

SAT

  • Performance improvement.
  • Improves Python API.
  • Add C# API aka CpSolver.cs (EXPERIMENTAL).

Glop

  • Code refactoring.
  • Performance improvement.

CMake Support (EXPERIMENTAL)

  • Add C++ OR-Tools CMake support.
    • Be able to build OR-Tools as a standalone CMake project.
    • Be able to incorporate OR-Tools into an Existing CMake project.
  • Add Python OR-Tools CMake based build.
    • Generate python package (wheel) using CMake.

Contributions

  • Fix winsock2.h redefinition on windows Thanks to Florent Tollin de Rivarol.
  • Add F# Support (EXPERIMENTAL) Thanks to Matthew Moore.
    Note: only available with Makefile builder.
  • Add .NET Standard Support (EXPERIMENTAL) Thanks to Ziad Elmalki.
    Note: only available with Makefile builder

Full list of commits since v6.6 here

v6.6 (2017-11)

30 Nov 14:19
Compare
Choose a tag to compare

Updates to required dependencies

  • Protobuf to 3.3.0 -> 3.5.0.
  • gflags to 2.2.0 -> 2.2.1.
  • CBC 2.9.8 -> 2.9.9.
  • Add Python module six (1.10) as required dependency for Python.

Bugfixes

  • Pull request #494 Name refactoring. Adding comments for IntelliSense in some editors.
    Thanks to Matthew Moore.
  • Pull request #516 Instruction for F# standalone binary.
    Thanks to Matthew Moore.
  • Improve precision in Glop.

SAT Solver

  • Improve internal SAT solver, Fix various bugs.
  • Add a VRP constraint to the SAT solver, linked to the LP solver.
  • Change the solution observer in the SAT solver to take a CpSolverResponse as a parameter.
  • Improve the use of Glop in SAT Solver.
  • Speedup SAT-LP connection.
  • Add Reservoir constraint to the SAT cp_model protobuf format.

SAT/Python

Examples

  • Rewrite rcpsp_parser to use ProtoBuf format to store the problem.
  • Improve RCPSP parser.

Full list of commits since v6.5 here

v6.5 (2017-10)

02 Oct 14:08
Compare
Choose a tag to compare
September 2017 release of OR-Tools.

v6.4 (2017-09)

11 Sep 15:06
Compare
Choose a tag to compare

Change in platforms

  • Pypi modules on Linux platforms are now delivered as wheel files using the manylinux1 tag. Thanks to Federico Ficarelli. With this change, we have backtracked the per-linux modules introduced in the July 2017 release.

New features

  • Improved scaling method used inside GLOP.
  • Fix wrapping of evaluators in the C# routing library. Thanks to DevNamedZed.
  • Improve the performance of the flatzinc presolve for large models.
  • Use the SAT backed for flatzinc by default.
  • Improve performance of the Core based approach for the sat solver.
  • Fix bug in the linear assignment algorithm that was failing incorrectly.
  • Added F# examples in ortools/examples/fsharp. (Thanks to Matthew Moore).
  • Remove check for positive penalties in the routing library.

v6.3 (2017-08)

31 Jul 18:01
Compare
Choose a tag to compare
OR-Tools August 2017 release

v6.2 (2017-07)

14 Jul 21:25
Compare
Choose a tag to compare

Change in platforms

  • We now support multiple Linux binary distributions (Ubuntu 14.04, 16.04, 17.04, CentOS 9, Debian 9).
  • Pypi modules on Linux platforms now include a tag that describes the distribution (ubuntu-14.04, ubuntu-16.04, ubuntu-17.04, centos-7, debian-9).
  • Python wheel files for Linux are now available to download in the github release page.

New features

We have added support for Docker to build linux artifacts. Go to or-tools/tools/docker and look at the Makefile to see possible targets (make archive, make pypi, and make pypi3). These commands will create an export subdirectory and add binary artifacts in it.

Release of June 2017

29 Jun 13:03
Compare
Choose a tag to compare
v6.1

OR-Tools June 2017 release v6.1

Release of May 2017

16 May 10:17
Compare
Choose a tag to compare

New directory structure in C++

We have changed the source/include structure of or-tools when using C++. The goal is to provide better encapsulation of the C++ include files. It also has the benefit of aligning the C++ and the python directory structures.

  • src/ has been renamed ortools/.
  • All #include command in C++ files now have the prefix ortools added. #include "constraint/constraint_solver.h" is now #include "ortools/constraint/constraint_solver.h".

New features

Bazel support

You can now build or-tools with bazel, Google's build tool. It works on Linux and Mac OS X. After downloading bazel version 0.4.5 or later, change directory to or-tools and build the examples: bazel build examples/cpp/....

Routing

We have implemented the support for breaks (e.g., vehicle downtime due to drivers eating lunch)in the routing library. This feature is shown in the cvrptw_with_breaks.cc example.

SCIP support

The linear solver wrapper now support SCIP 4.0. You now need to build SCIP first, and then tell or-tools that you will use it. Instructions are available here.

GLPK support

We have also changed the way with build with GLPK. See here.

Cleanups

  • We have removed all usage of hash_map, hash_set in the C++ codebase as they are deprecated. They were replaced by unordered_map and unordered_set from the STL.

  • Cleanup of the C# makefiles, courtesy of Michael Powell.

Release of or-tools : January 2017.

27 Jan 18:29
Compare
Choose a tag to compare

New Features

Installing

  • Introduced simpler procedures for installing or-tools, either from binary distributions or from source code. See Installing or-tools for more information.

Routing

Scheduling

Sat solver

Performance improvements

  • Sat solver — Improved performance of the Sat solver, particularly for the cumulative constraint.
  • Glop solver— Improved numerical robustness of the Glop solver, which now returns even more accurate solutions to hard numerical problems.
  • Flatzinc solver
  • Greatly improved performance of the Sat backend for the flatzinc interpreter.
  • Simplified the C# flatzinc interface. For an example of the new interface, see
    https://github.com/google/or-tools/blob/master/examples/csharp/csfz.cs.

Bug Fixes

  • Using the PathCheapestArc heuristic on routing models with a single vehicle and side constraints would sometimes cause the solver to run for an excessively long time. This has been fixed by properly taking into account side-constraints.
  • In Java, the routing solver would sometimes crash when solving vehicle routing problems. This has been fixed in the latest release.