Corentin Le Molgat b027e57e95 dotnet: Remove reference to dotnet release command
- Currently not implemented...

Add abseil patch

- Add patches/absl-config.cmake

Makefile: Add abseil-cpp on unix

- Force abseil-cpp SHA1 to 45221cc
  note: Just before the PR #136 which break all CMake

Makefile: Add abseil-cpp on windows

- Force abseil-cpp SHA1 to 45221cc
  note: Just before the PR #136 which break all CMake

CMake: Add abseil-cpp

- Force abseil-cpp SHA1 to 45221cc
  note: Just before the PR #136 which break all CMake

port to absl: C++ Part

- Fix warning with the use of ABSL_MUST_USE_RESULT
  > The macro must appear as the very first part of a function
    declaration or definition:
    ...
    Note: past advice was to place the macro after the argument list.
  src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418
- Rename enum after windows clash
- Remove non compact table constraints
- Change index type from int64 to int in routing library
- Fix file_nonport compilation on windows
- Fix another naming conflict with windows (NO_ERROR is a macro)
- Cleanup hash containers; work on sat internals
- Add optional_boolean sub-proto

Sync cpp examples with internal code
- reenable issue173 after reducing number of loops

port to absl: Python Part

- Add back cp_model.INT32_MIN|MAX for examples

Update Python examples

- Add random_tsp.py
- Run words_square example
- Run magic_square in python tests

port to absl: Java Part

- Fix compilation of the new routing parameters in java
- Protect some code from SWIG parsing

Update Java Examples

port to absl: .Net Part

Update .Net examples

work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code

Remove VS 2015 in Appveyor-CI

- abseil-cpp does not support VS 2015...

improve tables

upgrade C++ sat examples to use the new API; work on sat internals

update license dates

rewrite jobshop_ft06_distance.py to use the CP-SAT solver

rename last example

revert last commit

more work on SAT internals

fix
2018-11-30 14:48:55 +01:00
2018-10-31 08:33:43 +01:00
2018-11-27 10:51:22 +01:00
2018-11-27 10:51:22 +01:00
2018-10-31 08:33:43 +01:00
2018-11-13 09:21:53 +01:00
2018-11-23 17:41:08 +01:00

OR-Tools - Google Optimization Tools

Build
Status Build status PyPI version NuGet version Binder

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.

Codemap

This software suite is composed of the following components:

├── Makefile              <- Top-level Makefile
├── makefiles             <- Subsidiary makefiles
├── CMakeLists.txt        <- Top-level CMakeLists.txt
├── cmake                 <- Subsidiary CMake files
├── ortools               <- Root directory for Source code
│   ├── base              <- Basic utilities
│   ├── algorithms        <- Basic algorithms
│   │   ├── csharp        <- C# wrapper
│   │   ├── java          <- Java wrapper
│   │   └── python        <- Python wrapper
│   ├── util              <- Utilities needed by the constraint solver
│   ├── constraint_solver <- Constraint solver
│   │   ├── csharp        <- C# wrapper
│   │   ├── java          <- Java wrapper
│   │   └── python        <- Python wrapper
│   ├── sat               <- Sat solver
│   │   ├── csharp        <- C# wrapper
│   │   ├── java          <- Java wrapper
│   │   └── python        <- Python wrapper
│   ├── bop               <- Boolean solver based on SAT
│   ├── linear_solver     <- Linear solver wrapper
│   │   ├── csharp        <- C# wrapper
│   │   ├── java          <- Java wrapper
│   │   └── python        <- Python wrapper
│   ├── glop              <- Linear solver
│   ├── lp_data           <- Data structures for linear models
│   ├── graph             <- Graph algorithms
│   │   ├── csharp        <- C# wrapper
│   │   ├── java          <- Java wrapper
│   │   └── python        <- Python wrapper
│   ├── flatzinc          <- FlatZinc interpreter
│   └── com
│       └── google
│           └── ortools   <- C# and Java source files
├── examples              <- Root directory for all examples
│   ├── data              <- Data files for examples
│   ├── cpp               <- C++ examples
│   ├── python            <- Python examples
│   ├── notebook          <- Jupyter/IPython notebooks
│   ├── csharp            <- C# examples
│   ├── fsharp            <- F# examples
│   ├── com               <- Java examples
│   ├── flatzinc          <- FlatZinc examples
│   └── tests             <- Unit tests and bug reports
├── LICENSE-2.0.txt       <- Apache license
├── gen                   <- Generated files
└── tools                 <- Delivery Tools (e.g. Windows GNU binaries, scripts, dockers)

Installation

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 support.

For installation instructions (both source and binary), please visit https://developers.google.com/optimization/introduction/installing.

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:

https://developers.google.com/optimization/introduction/get_started

If you want to learn from code examples, take a look at the examples in the examples directory.

Documentation

The complete documentation for OR-Tools is available at: https://developers.google.com/optimization/

Contributing

The CONTRIBUTING.md 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.

License

The OR-Tools software suite is licensed under the terms of the Apache License 2.0.
See LICENSE-2.0 for more information.

Description
No description provided
Readme 1.3 GiB
Languages
C++ 80.1%
Python 6.3%
Julia 3.2%
Starlark 2.2%
C# 2.1%
Other 6%