Commit Graph

114 Commits

Author SHA1 Message Date
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
Laurent Perron
428e272ccc add ModelStats and CpSolverResponseStats for SAT/{Python|Java|C#}; enable multiple enforcement literals for a few constraints; small fixes, typo corrections 2018-09-12 15:07:23 +02:00
Laurent Perron
e888d1cfc4 fix english 2018-09-06 16:56:47 +02:00
Laurent Perron
fcc6a58cf0 improve doc of sat/python 2018-09-06 16:48:13 +02:00
Laurent Perron
d8a3013c5b more work on sat doc, change threshold to choose the LB branching in the sat solver 2018-09-06 15:15:10 +02:00
Laurent Perron
88f3724e27 update sat python doc 2018-09-06 13:13:53 +02:00
Laurent Perron
48df402a6e rewrite CP-SAT solver output during search; improve SAT/Python doc and reference manual 2018-09-06 11:30:04 +02:00
Laurent Perron
f4ed40ec2b improve sat python reference manual 2018-09-05 23:17:21 +02:00
Laurent Perron
ecd1e4b41c improve sat python reference manual 2018-09-05 23:10:44 +02:00
Laurent Perron
8f3c6ae4cb improve sat python reference manual 2018-09-05 22:56:54 +02:00
Laurent Perron
944026c588 improve sat python reference manual 2018-09-05 22:55:21 +02:00
Laurent Perron
60995fe87c improve sat python reference manual 2018-09-05 22:52:59 +02:00
Laurent Perron
36393a1733 remove useless python __init__ 2018-09-05 10:57:27 +02:00
Laurent Perron
9a116eba39 remove SolutionObserver is sat/swig_helper.h; rename WithObserver into WithCallback 2018-09-04 18:47:10 +02:00
Laurent Perron
5824112e27 fix issue 260 for the CP-SAT solver 2018-09-01 08:48:43 +02:00