Ortools

Latest version: v9.11.4210

Safety actively analyzes 688867 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 8

7.0beta.1

Updates to required dependencies
* GFlags 2.2.1 -> 2.2.2
* Added [abseil-cpp](https://github.com/abseil/abseil-cpp) (set SHA1 to 45221cc + CMake patch) as required dependency.

Drop Support
* Drop support of VS 2015
* Drop support of Python 3.4 on Linux since abseil-cpp headers conflict with Python.h include see [abseil-cpp \235](https://github.com/abseil/abseil-cpp/issues/235)

Python
* **WARNING** Manylinux `ortools` wheel package have been build against `manylinux2010` (see [PEP 571](https://www.python.org/dev/peps/pep-0571/)) since *abseil-cpp* require `glibc >= 2.12`. But since `pip` does not support `manylinux2010` [platform compatibility tag](https://packaging.python.org/specifications/platform-compatibility-tags/) yet, package and platform tag has been reset to `manylinux1`.
* Since it is a pre-release to install binary you must use:
shell
python -m pip install --user ortools==7.0b6150

otherwise last stable version `v6.10` will be installed...

Routing
* Use of `IndexManager` to do the conversion between `NodeIndex` and `Index` for **all** API.
* Now, transit callback are registered first, then you must use the associated id in `AddDimension()`/`SetArcCostXXX()`
Here some examples:
* [tsp.py](https://github.com/google/or-tools/blob/v7.0-beta.1/examples/python/tsp.py)
* [tsp.cc](https://github.com/google/or-tools/blob/v7.0-beta.1/examples/cpp/tsp.cc)
* [Tsp.java](https://github.com/google/or-tools/blob/v7.0-beta.1/examples/java/Tsp.java)
* [tsp.cs](https://github.com/google/or-tools/blob/v7.0-beta.1/examples/dotnet/tsp.cs)

Bugfix
* Rename few enum after windows clash (e.g. `NO_ERROR` is a macro on MSVC)
* Fix utils/file_nonport compilation on windows
* Remove non compact table constraints
* Add optional_boolean sub-proto

6.10

Dependencies
- SCIP 4.0.1 -> 6.0.0

Makefile
We have reworked the build and run targets
- To build examples, you must use the `build` target and `SOURCE` variable.
This will replace the `ccc`, `cjava` and `cdotnet` targets.
e.g. for a C++ example:
shell
make build SOURCE=examples/cpp/example.cc

- To run examples, you must use the `run` target and `SOURCE` variable.
This will replace the `rcc`, `rjava` and `rdotnet` targets.
e.g. for a C++ example:
shell
make run SOURCE=examples/cpp/example.cc</pre>


CP-SAT Solver
Update the API
- Add C++ CP-SAT `CpModelBuilder` API.

Examples
- Move community examples to `examples/contrib`
- Move some examples to `ortools/<component>/samples` (e.g.
`ortools/linear_solver/samples/simple_program.java`)

6.9.1

* Fix Release script
* Add missing API on CP-SAT Java interface

6.9

Updated dependencies
* Protobuf 3.5.1 -> 3.6.1
* [Optional] SCIP 4.0 -> 6.0

CP-SAT
* Breaking change API. Full documentation [here](ortools/sat/doc/solver.md).
* Expose `ModelStats` and `CpSolverResponseStats` in Python, Java and C.
* Rename `SolveWithSolutionObserver` to `SolveWithSolutionCallback` in Python (841).
* Rename `NewSolution` to `OnSolutionCallback` on solution callback in Python.
Make sure to call super in `__init__` e.g.:
python
class MySolutionCallback(cp_model.CpSolverSolutionCallback):
def __init__(self):
cp_model.CpSolverSolutionCallback.__init__(self)
self.__solution_count = 0

def OnSolutionCallback(self):
print('Solution {}, time = {}s, objective = {}, makespan = {}'.format(
self.__solution_count,
self.WallTime(),
self.ObjectiveValue(),
self.Value(makespan)))
self.__solution_count += 1

* Expose StopSearch on solution callback in Python, Java and C. Documentation [here](ortools/sat/doc/solver.mdstopping-search-early).
* Improve Python docstring documentation. Documentation [here](ortools/sat/doc/reference.md).
* Complete Java implementation of the solver interface and cookbook updated.
* Implement modulo.
* Change implementation of reservoir: Add API with boolean to specify optional draining/filling events.

Linear Solver
* Expose `InterruptSolve` in Java and C.

Constraint Solver
* Expose `SolutionCollector` director in C.

Python
* Add support for `Python 3.7`.
* When compiling from source: prefer `python3` over `python2` when detecting python.

.Net
* Complete rewrite of the .NET layer.
* Provide a `Google.OrTools` NetStandard 2.0 Nuget package compatible with [Runtime IDentifier](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog) `win-x64`, `linux-x64` and `osx-x64`.
* Provide a `Google.OrTools.FSharp` Nuget package.
* Add project file for all .Net examples.
* Update all F script examples (.fsx) to regular F project (.fs).
* Add documentation on .Net package build generation [here](ortools/dotnet).

Flatzinc
* Add support for sets in Flatzinc (using `nosets.mzn`)

Contributions
* Add support for Binder Thanks to [Kevin Mader](https://github.com/kmader).
* Make DecisionVisitor a director type in Java bindings Thanks to [Jeremy Apthorp](https://github.com/nornagon).


Full list of commits since v6.8 [here](https://github.com/google/or-tools/compare/v6.8...v6.9)

6.8

Changelog
* CP-SAT various bug fixes, performance improvements, and doc updates
* GLOP performance improvements
* Use dynamic dependencies on UNIX (697)
* Use Cbc from github mirror (684)
* now depends on `cbc`, `cgl`, `clp`, `osi` and `coinnutils` github repos
* Rework and fix some VRP python examples.
* Migration to netstandard2.0 for .Net support (668)
* i.e. use of `dotnet` cli instead of `mono`/`msc`/`fsharpc` (not needed anymore)
* **/!\\ require .NetCore SDK >= 302 /!\\**
* Now `install_cc` use `$(DESTDIR)$(prefix)` as destination prefix (`prefix = /usr/local` on UNIX)
* Add `install_python` target in Makefile to pip install locally build python package
* Makefile cleaning: should be more robust
* docker rework and add tests to check archives
* Remove data example from archive
* add data archive
* Rework archive Makefile
* add `detect`, `test_cc`, `test_java`, `test_dotnet`, `cc`, `java`, `dotnet` targets like the Makefile(s) used to build from source

6.7.2

Mostly to fix C++/C/Java binary archives issue

Changelog
* Don't use rm on windows when checking shell
* Replace some CHECK_NOTNULL by CHECK
* Fixing all remaining StrCat -> absl::StrCat
* Fix all remaining StrAppend -> absl::StrAppend
* Fix compile error in flexible_jobshop.cc in binary archive (709)
* Fix missing 'ortools/util/optional_boolean.pb.h' files in binary archive (710)
* Fix missnamed mono binary in osx binary archive Makefile (712)

Page 5 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.