Laurent Perron
20410d28b5
improve integer <-> literal encoding; fix energy reason in diffn
2019-02-20 17:08:36 +01:00
Laurent Perron
8042642540
[CP-SAT] improve presolve; new random-restart strategy; improve integer encoding
2019-02-14 16:44:57 +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
Laurent Perron
5827eadbcc
speedup sat internals; fix bug with model with one trivially false XOr constraint
2019-01-09 11:25:49 +01:00
Laurent Perron
3055dcaa50
reorganize info sharing in parallel search
2018-12-21 13:59:58 +01:00
Laurent Perron
f7fc84791a
reorganize bound sharing code
2018-12-20 15:18:09 +01:00
Laurent Perron
4342c010f6
improve info sharing between bounds, reorganize code, fix bug in presolve found by lns
2018-12-19 16:05:16 +01:00
Laurent Perron
b7980e7bb2
work on info sharing between workers; disable bounds sharing in parameters
2018-12-18 11:42:14 +01:00
Laurent Perron
14096d7cf0
polish bound sharing code
2018-12-17 16:50:15 +01:00
Laurent Perron
a510e8e19b
tentative variable bound sharing between threads
2018-12-16 23:18:40 +01:00
Laurent Perron
daa1cfa828
lazy reasons for linear constraints
2018-12-14 15:20:16 +01:00
Laurent Perron
b70c189167
minor fix in CP element; improve time limit support of CP-SAT during presolve; clean up lower bound sharing code in parallel CP-SAT
2018-12-10 17:33:20 +01:00
Laurent Perron
49816f439b
experimental objective lower bound sharing in // CP-SAT search
2018-12-06 17:16:54 +01:00
Laurent Perron
ee3520a5a1
remove GG_LL_FORMAT from code; reorganize SAT-LP connection; fix bug in routing library
2018-12-03 14:26:31 +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
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
Laurent Perron
68dee31810
fix
2018-10-02 14:09:29 +02: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
ae5e4fd5c1
optim on the sat solver
2018-09-24 11:08:10 +02:00
Laurent Perron
53863acd62
[SAT/Java] ILiteral -> Literal; [SAT] fix a few english mistakes
2018-09-14 13:24:34 +02:00
Laurent Perron
01815e2d6d
fix bug in the sat scheduling code found by the rcpsp
2018-09-13 16:26:03 +02:00
Laurent Perron
4caaef3c23
deep sync with base library renaming; lint checking; Speedup sat; new crash procedure for glop
2018-08-28 11:19:49 +02:00
Laurent Perron
70e73d8754
clang-format
2018-06-08 16:40:43 +02:00
Laurent Perron
78743bdb1c
fix bug when solving without presolve
2018-06-04 17:44:18 +02:00
Laurent Perron
df333efbcd
rewrite drat checker for sat; make fz presolve deterministic; more optims on sat internals
2018-05-03 15:00:06 +02:00
Laurent Perron
8623fc3580
speed up sat cumulative; add namespaces to base library + fix code
2018-04-11 13:00:30 +02:00
Laurent Perron
12c8d9dbc0
change the LP relaxation in the sat/circuit constraint; change API to accept a sparse set of arcs instead of next variables
2018-01-17 13:11:14 +01:00
Laurent Perron
88ef3d0302
remove std:: from std::min|max in comments; performance improvements on the SAT, bug fixes
2018-01-10 13:21:06 +01:00
Laurent Perron
8d7320b962
deep sync with base library; prepare for abseil.io integration
2017-12-08 14:52:49 +01:00
Laurent Perron
4cd6ecccb3
revisit time limit; add special sigint handler; fix bug in sat presolve with enforcement literals
2017-12-06 11:23:11 +01:00
Laurent Perron
86cd5bd83f
fix a bug with optional integer variables in sat; change reason protocol
2017-11-20 11:35:29 +01:00
Laurent Perron
4f3bedfd34
experimental weighted circuit constraint for sat; improve sat internal for performance; add visualization library for IPython on sat/python
2017-11-17 11:27:29 +01:00
Laurent Perron
2c7a8bf8f6
change copyright date
2017-10-17 13:08:10 +02:00
Laurent Perron
086640da72
move graph code around; improve sat code
2017-09-29 15:08:48 +02:00
Laurent Perron
2003500276
improve sat performance
2017-09-06 10:18:51 +02:00
Laurent Perron
e42ef1e06e
cleanups and minor syncs; sat: add LP guided heuristics
2017-08-03 10:20:59 -07:00
Laurent Perron
7155047b85
cleanup includes in sat
2017-07-27 11:28:55 -07:00
Laurent Perron
c6f128db17
simplify sat internals
2017-07-24 10:31:53 -07:00
Laurent Perron
7b357a2263
regroup all reversible integer value in a single repository
2017-07-06 04:56:28 -07:00
Laurent Perron
37eb235c56
internal improvements of the sat solver; change in the cp_model proto to support linear objective
2017-06-28 14:33:56 +02:00
Laurent Perron
0e50e4f5b8
work on sat; misc sync
2017-06-21 11:40:11 +02:00
Laurent Perron
6609fac882
AC all different in the SAT solver; change the way integer variables are encoded on top of boolean variables in the SAT solver; change protobuf utilities
2017-06-08 12:33:16 +02:00
Laurent Perron
cbd8ba8641
introduce array slices and use them in sat
2017-06-01 16:28:29 +02:00
Laurent Perron
e3d72e5b3b
add cp_model proto to the sat solver
2017-05-29 14:45:17 +02:00
Laurent Perron
f8246cd16d
improve performance on sat solver
2017-05-16 10:43:07 +02:00
Laurent Perron
c7d9318c75
more cleanup
2017-04-28 16:17:22 +02:00
Laurent Perron
8c08d72260
replace hash_map and hash_set by unordered_map and unordered_set
2017-04-27 17:34:24 +02:00
Laurent Perron
4db7d3bc4e
remove hash_map/hash_set; replace with std::unordered_map|set
2017-04-27 14:14:05 +02:00
Laurent Perron
66b8d23079
move src to ortools; simplified python generation; remove some namespaces in the ortools/base helper files
2017-04-26 17:30:25 +02:00