Releases: google/or-tools
Releases · google/or-tools
Release of or-tools. November 2016
November 2016
Running examples
- Introduced language specific targets to compile and run the examples. Please check this page for more details.
Sat
- Added support for constraint programming.
- Implemented the diffn, cumulative , circuit and subcircuit constraints.
- Implemented the overlode checker on the basis of Max Energy Filtering Algorithm for Discrete Cumulative Constraint.
- Implemented the all different bound consistent propagator which implements better propagation for the AllDifferent constraint.
FlatZinc
- Implemented a SAT solver for FlatZinc problems.
Constraint Solver
- Implemented the following constraints :
- atMost: Sets an upper bound to the count of variables that are equal to a given value.
- MakePathPrecedenceConstraint and MakePathTransitPrecedenceConstraint: Implement the precedence constraint for a set of pairs.
Routing
- Implemented AddAtSolutionCallback, which is a callback called each time a solution is found during the search.
- Removed the RoutingModel depot-less constructors. Specifying at least one depot in the routing model is now mandatory.
Release of or-tools. September 2016
- 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.
Release of or-tools. August 2016
Constraint solver
- solver
- Implemented NotBetween method to constrain a variable to be
outside a given interval.
- Implemented NotBetween method to constrain a variable to be
- routing
- Added a parse of the model to check existing NotMember constraints as shown in this example, and use them in local search filters.
- Added local search profiling.
- Fix for local moves.
Linear solver
- Fixed SCIP status reporting.
Sat
- Implemented [SolveWithPresolve](https://github.com/google/or-tools/blob/master/src/sat/simplification.h### L373) method to simplify the usage of the SAT presolver.
- Regrouped search utils in src/sat/util.h|cc.
- Implemented SMT (Lazy Clause Generation) scheduling constraints: see jobshop_sat.cc and weighted_tardiness_sat.cc.
Glop
- Improved performance by exploiting sparsity in more stages of computation.
Flatzinc
- Fixed bugs found by minizinc challenge.
Lp_data
- Continued simplification of templates in iterators.
Or-tools distribution
- C# assemblies are now strongly named by default.
- Upgraded to Protobuf3.0.0.
- Added a Python script to check or-tools archive dependencies.
Release of or-tools. July 2016
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 constraint solver parameters to routing 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.cc example.
Glop (linear optimization):
- Introduced a faster Simplex Algorithm.
Or-tools distribution:
- One archive per platform, rather than individual archives for each of C++, Java, and C#. Python archives are still hosted on pypi.
- On pypi, we have switched to wheel (.whl) modules on Mac OS X and Windows.
Introduced a MAJOR.MINOR numbering schema. These numbers are used the archive names, the version stored in Mac OS X shared libraries, python modules, .NET assemblies. The first version we are releasing is with this schema is v4.2
v2016-06
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: To specify the capacity of vehicles in the AddDimensionWithVehicleCapacity, you now need to pass an array (vector in c++) instead of a callback.
GLOP:
- Change internal representation of sparse matrix
- performance improvements
Graph:
- Added A* contributed code
- Rewrite Dijkstra and Bellman-Ford algorithms to replace callbacks by std::function (C++)
- Change API of different graph implementation when iterating over arcs and nodes.
v2016-04
Main changes:
- Use protobuf instead of flags in the Constraint Programming and routing libraries.
- See http://or-tools.blogspot.fr/2016/02/heads-up-upcoming-incompatibility-in.html for details.
December 2015 binary and source archives for or-tools
Changelog:
- Broke compatibility on the Large Neighborhood Search in the CP solver
(see examples/cpp/ls_api.cc, examples/python/pyls_api.py, examples/csharp/csls_api.cs, and
examples/com/google/ortools/sample/LsApi.java to see the new API). - Cleaned the the python wrapping. Support custom decision in the CP solver (see examples/test/test_cp_api.py to see the API in action).
- Various improvements and bug fixes.
September 2015 release
Release of OR-Tools
September 2015
What's new:
- First release on github. Files will be stored there from now on.
- Added binary archives for the flatzinc interpreter (see www.minizinc.org)
- Contains a few fixes over the version used in the challenge