Commit Graph

128 Commits

Author SHA1 Message Date
Laurent Perron
dd377eaf84 rename LinearInequality to BoundedIntegerExpression in cp_model.py 2019-05-13 10:52:10 +02:00
Laurent Perron
795f77ddf8 add LinearExpr.Sum and LinearExpr.ScalProd to CP-SAT Python API 2019-05-10 23:48:33 +02:00
Laurent Perron
def2ad7b88 change comment 2019-05-08 15:23:57 +02:00
Laurent Perron
beef2334cb separate sorted_interval_list.i from sat.i in the python CP-SAT wrapping 2019-05-08 11:05:33 +02:00
Laurent Perron
76162bd501 fix, polish 2019-05-06 11:08:40 +02:00
Laurent Perron
dec8adb40d polish non C++ CP-SAT API, samples, examples and tests 2019-05-06 10:12:55 +02:00
Laurent Perron
5cd1175933 polish swig declarations 2019-05-05 20:04:25 +02:00
Laurent Perron
c1e61773b6 fix domains and swig 2019-05-05 15:18:52 +02:00
Laurent Perron
75aacc45f1 wrap C++ Domain class in CP-SAT Java/Python/C#; use it in NewIntVarFromDomain API, remove FromValues and FromIntervals API 2019-05-04 16:56:42 +02:00
Laurent Perron
2554d90e87 Wrap the C++ Domain class in Python, Java, C#; use it in IntVar and in AddXXXInDomain methods; change examples 2019-05-03 22:41:25 +02:00
Laurent Perron
7097fa4829 uniformize name of linear constraints in CP-SAT Python/Java/C# 2019-05-03 18:15:44 +02:00
Laurent Perron
7f99c48698 revamp SAT domains, API with bounds on non C++ languages 2019-05-03 16:30:57 +02:00
Corentin Le Molgat
7bd958efce Fix python sat SWIG 2019-05-03 14:31:29 +02:00
Laurent Perron
4a38fcfa4a Add cp_model.DomainFromValues/DomainFromIntervals to the CP-SAT python API 2019-05-01 23:17:57 +02:00
Laurent Perron
b1be47d4e0 Improvements in CP-SAT Scheduling and Diffn constraints; Make CP-SAT presolve more robust w.r.t empty domains during presolvewq 2019-03-27 21:39:02 +01:00
Laurent Perron
39f44709bb polish doc 2019-03-25 15:24:37 +01:00
Laurent Perron
c4f08e2bab enable public API to modify the CP-SAT model protobuf directly 2019-03-25 13:32:12 +01:00
Laurent Perron
180346c6f9 enable model modifications for CP-SAT 2019-03-25 12:49:04 +01:00
Laurent Perron
e81e12ec45 improve CP-SAT diffn; add 2 more examples to CP-SAT cookbook; internal cleanup and improvements 2019-03-25 11:26:21 +01:00
Corentin Le Molgat
a72e33a732 Sync from g3 to github 2019-03-22 11:10:21 +01:00
Laurent Perron
23cde5f94a fix performance bug in CP-SAT python solution callback 2019-03-21 15:15:16 +01:00
Laurent Perron
abd469d5e6 improve doc 2019-03-15 11:02:37 +01:00
Laurent Perron
2b9adc6255 sync indent, polish on SAT code; add RINS option for CP-SAT 2019-03-13 13:58:39 +01:00
Laurent Perron
6e1127ab2f fix python indent 2019-03-12 17:45:43 +01:00
Laurent Perron
034d92afe5 re-enable cp_model_test.py; throw an exception when using abs() on a linear expression; add test 2019-03-12 14:35:17 +01:00
Laurent Perron
0c1d9a65e2 re-enable cp_model_test.py; throw an exception when using abs() on a linear expression; add test 2019-03-12 13:04:04 +01:00
Laurent Perron
fec0768323 use Pseudo-cost in parallel search; change automata to automaton in cp_model.proto 2019-02-01 18:32:13 +01:00
Anders Kaseorg
0dffe7f5c5 python: Allow negated literals in LinearExpression
Booleans are already considered integers with value 0 or 1, so it’s
natural to expect negated booleans to be considered integers with
value 1 or 0.

This makes it more convenient to define an antisymmetric array of
booleans: you no longer have to choose between not being able to use
greater[j, i] = greater[i, j].Not() in linear expressions and not
being able to use greater[j, i] = 1 - greater[i, j] in boolean
constraints.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-01-08 15:48:19 -08:00
Laurent Perron
e6b5b590c9 fix #1001 2019-01-03 21:21:33 +01:00
Laurent Perron
20fbf5614c for time in objective printer 2018-12-30 20:04:35 +01:00
Laurent Perron
0eae67a2ee fix display of objective 2018-12-28 09:14:13 +01:00
Laurent Perron
fedf3d4ff4 revamp and simplify swig support, force typed enums for C# and Java for all except the constraint_solver/routing module; port examples; Fix SAT on very large problems 2018-12-11 17:03:03 +01:00
Laurent Perron
589047ce90 python support int64 -> int64_t 2018-12-10 13:35:41 +01:00
Laurent Perron
49816f439b experimental objective lower bound sharing in // CP-SAT search 2018-12-06 17:16:54 +01:00
Laurent Perron
f2573d33b1 Fix merge abseil - v6.10 2018-11-30 14:48:55 +01:00
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
Laurent Perron
5d26ad890f sync examples 2018-11-21 11:00:26 -08:00
Laurent Perron
3cfcd810cc Add CpModel.Validate() in C#, Python, Java 2018-11-21 08:43:50 -08:00
Laurent Perron
44e52c1ef8 mostly PascalCase -> sname_case 2018-11-20 05:44:21 -08:00
Laurent Perron
a5ae202fc0 add Abs API on the CP-SAT solver (all languages) 2018-11-19 14:03:44 -08:00
Laurent Perron
7c01a9f4ad reindent cp_model.py and visualization.py 2018-11-18 11:14:23 -08:00
Corentin Le Molgat
47fefdc3bb Remove tab from CMakeLists.txt
- Mandatory to follow google internal convention
2018-11-13 10:12:02 +01:00
Laurent Perron
87b9d55b21 update license headers 2018-11-10 18:00:53 +01:00
Laurent Perron
e323bba2e7 backport sat improvements from the abseil branch 2018-11-05 16:24:47 +01:00
Corentin Le Molgat
8c104ff831 Python fix cp_model.py doc 2018-10-30 16:08:19 +01:00
Mark Gritter
896d239238 Add Constraint return value to methods that were documented to return it. 2018-10-30 09:32:02 +01:00
Laurent Perron
4e893e5080 remove solow-halim glop preprocessor as the interface has changed a lot; add a proper domain class for CP-SAT integer variables, rewrite preprocessor and other parts of the solver to use it 2018-10-02 10:35:52 +02:00
Laurent Perron
6b7036832b add missing API on CP-SAT Java interface; polish doc 2018-09-25 13:23:27 +02:00
Laurent Perron
b1da9320f9 enable objective lower bound (when minimizing) on the SAT solver in Python, Java, C#; change objective_value to be double (as in C++) for these languages. 2018-09-20 11:30:19 +02:00
Laurent Perron
c4c6cb6141 remove all optional integer variables from sat code; allow multiple enforcement literals for a few constraints 2018-09-12 16:58:19 +02:00