Posts

September release of or-tools

I just released or-tools version 6.4. The biggest change is that I reverted the ortools-<linux distro> specific pypi modules as we now have manylinux distro agnostic wheel files. Here is the full change log: 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.

May 2017 release of OR-Tools

We have just released a new version of OR-Tools on github:  https://github.com/google/or-tools/releases/tag/v6.0 pypi:  https://pypi.python.org/pypi?:action=display&name=py3-ortools&version=6.0.4217 nuget:  https://www.nuget.org/packages/Google.OrTools / Release notes: 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 exampl

Linking glpk with or-tools on unix

Following the change on SCIP, here is the new procedure to compile and link GLPK with or-tools This currently applies to unix only: First download the latest glpk archive (4.61 at the time of this post). Untar, cd into the glpk directory on linux:   ./configure --prefix=<install_path> --with-pic   make   make install on mac OS X:   ./configure --prefix=<install_path>   make CFLAGS='--mmacosx-version-min=10.8'   make install   then add:   UNIX_GLPK_DIR=<install_path> in or-tools/Makefile.local recompile or-tools:   make clean   make cc test it:   run bin/integer_programming and bin/linear_programming. Both must display glpk runs. I have no easy solution for glpk on windows currently, still investigating.

Changing the way we link with SCIP

As of today, I pushed support for scip 4.0.0 on both unix and windows. In the process, I have changed the way to setup or-tools to include scip at compilation time. on Unix:   untar the scipoptsuite> archive somewhere   cd <path to scipoptsuite-4.0.0>   Mac OS X:  make GMP=false READLINE=false TPI=tny   Linux:  make GMP=false READLINE=false TPI=tny USRCFLAGS=-fPIC USRCXXFLAGS=-fPIC USRCPPFLAGS=-fPIC   in or-tools, edit Makefile.local   add:     UNIX_SCIP_DIR=<path to sciptopsuite-4.0.0>/scip-4.0.0   make clean   make cc   to test it, run:      bin/integer_programming   it should display the scip solver run. on windows:   download the compiled library:     http://scip.zib.de/download.php?fname=scip-4.0.0.win.x86_64.vc14.opt.spx2.lib.zip   download the headers:      http://scip.zib.de/download/release/scipoptheaders-4.0.0.tgz   uncompress, untar everything.   create a directory that will contains what is needed   md scip-4.0.0  

Release of September 2016

We’re happy to announce the release of September 2016 version of or-tools. Here's what's new with this release : Sat : Extended scheduling API and modified examples (weighted_tardiness_sat, and jobshop_sat) to use it. Graph : Added iterator traits to Graph classes. Or-tools distribution :  Nuget package is supported again (Your remarks about this particular update would be appreciable). We will be happy to receive your feedback.
We’re happy to announce the release of July 2016 version of or-tools. Here's what's new with this release: Constraint solver: Routing A disjunction can now be defined with a cardinality, which is the maximum number of nodes that can be active within this disjunction. For example, if you add a disjunction with n nodes and a cardinality of k, then k nodes among the n nodes are allowed to be active. You can use the new definition of AddDisjunction to do this. Added support for multiple disjunctions per node. For example, you can now add a node, N1, to many disjunctions (D1..Dm). This increases its chance of being active within any one of them. Introduced a faster routing search algorithm for problems related to disjunct time windows. Added c onstraint solver parameters to r outing model parameters and log_search to routing search parameters. Local search algorithm is faster with resolving problems with disjoint time windows. Please see cvrp_disjoint_tw .

New release v2016-06

We're happy to announce the release of a new version of or-tools : v2016-06. This main improvements and changes in this version are : Examples: c++: getting rid of filelinereader in examples data: Add single machine scheduling problems Sat: Remove unused core method (Resolution nodes) Added drat writer to checks proofs on unsatisfiability Add preprocessor Documentation: Lots of cleanup in the header files. Please check the new documentation at  https://developers.google. com/optimization/ Bop: Add new neighborhoods Constraint Solver: Removed most of the instances of the callbacks (src/base/callback.h) from the CP library Added NotMemberCt (variable cannot belong to a set of intervals) Routing library: INCOMPATIBLE CHANGE: capacity for vehicles in dimension is now an array instead of a callback GLOP: Change internal representation of sparse matrix performance improvements Graph: Adde