Commit Graph

241 Commits

Author SHA1 Message Date
Laurent Perron
09e7ad43f5 fix #1360 2019-06-20 13:46:58 +02:00
Laurent Perron
3a99c0ee1b fix bug in CP-SAT checker with sparse circuit constraint; continue re-architecture core code; minor reindent of cp_model.py 2019-06-17 18:27:56 +02:00
Laurent Perron
484acfc187 improve doc 2019-06-17 16:12:20 +02:00
Laurent Perron
8a85d996a5 enable threading support in python CP-SAT module 2019-06-14 10:57:39 +02:00
Laurent Perron
0eb9bd84c3 speed-up CP-SAT Scheduling code; remove doc made obsolete by github pages 2019-06-13 16:37:06 +02:00
Laurent Perron
60ef587f27 polish doc 2019-06-07 09:30:35 +02:00
Laurent Perron
8311fa8d5e polish doc 2019-06-06 11:22:39 +02:00
Laurent Perron
700b986b74 polish doc 2019-06-06 08:44:37 +02:00
Laurent Perron
bc2c45db33 polish cp-sat python doc 2019-06-06 07:56:37 +02:00
Laurent Perron
8051eb5c49 add model manipulation section on CP-SAT cookbook 2019-06-05 11:07:46 +02:00
Laurent Perron
018d029d7b Add cp_model.NewConstant 2019-05-20 14:29:50 +02:00
Laurent Perron
8572f97c28 reindent cp_model.py; fix Domain swig; rename test 2019-05-17 10:27:41 +02:00
Laurent Perron
f549c33b2e fix 2019-05-16 17:09:47 +02:00
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