Commit Graph

86 Commits

Author SHA1 Message Date
Laurent Perron
a0cc52731e expand table constraints; improve cut management; speed up presolve 2020-03-19 00:24:10 +01:00
Laurent Perron
0ba997ada1 speed up cut management; expand negated table constraints 2020-03-11 17:53:22 +01:00
Laurent Perron
c665f53ff2 [CP-SAT] improve cut management; add debugging tools; fix UNSAT bug in presolve 2020-03-05 17:24:49 +01:00
Laurent Perron
b2d959afe8 enable multiple rounds of cuts at the root node 2020-03-02 17:26:45 +01:00
Laurent Perron
edb1ee13b1 improve CP-SAT cuts; fix #1901; fix #1882 2020-03-02 15:15:37 +01:00
Laurent Perron
456a73d213 improve cut numerical precision; speed up presolve; fix bug with inverse constraint expansion 2020-02-03 16:21:57 +01:00
Laurent Perron
0c4fdd7c2b fix overflow in the linearization of abs 2020-01-21 10:59:37 +01:00
Laurent Perron
76cf068598 remove most of flatzinc presolve; fix missing presolve in cp-sat; improve cut managements in cp-sat 2020-01-07 16:51:46 +01:00
Laurent Perron
6bb8272b2a [CP-SAT] improve rounding methods in linear cuts 2019-12-16 15:33:52 +01:00
Laurent Perron
f9f2d7b5b4 [CP-SAT] improve presolve; improve linear subsystem 2019-12-16 12:34:56 +01:00
Laurent Perron
dc3d9ccf84 internal improvemensts 2019-12-05 16:36:11 +01:00
Laurent Perron
42676d6535 update base libraries; improve sat internals 2019-11-25 12:02:25 +01:00
Laurent Perron
2ff000ab9a bump abseil to the latest version, adapt the code all around 2019-11-20 14:28:11 -08:00
Laurent Perron
aed6d43247 improve sat cut management; enable MIR1 cut by defaults; fix MIR1 cuts w.r.t. sign and overflow 2019-11-18 10:06:11 -08:00
Laurent Perron
28033c996f improve lp cut and constraint management 2019-11-14 12:42:35 -08:00
Laurent Perron
f899479015 merge scaling between scip to glop interface and cp-sat; add missing indomain_median (partial) to flatzinc; enable diffn_nonstrict on flatzinc; move shared_limit to util; add all_diff cuts to cp-sat 2019-10-04 08:51:53 -04:00
Laurent Perron
5fb3bd0455 improve sat expansion; cuts management 2019-09-18 17:31:11 +02:00
Laurent Perron
fff236d800 work on CP-SAT internals 2019-09-11 12:50:25 +02:00
Laurent Perron
b435a301cc search experiments and tuning in CP-SAT; add expansion of automaton by default 2019-09-09 15:10:26 +02:00
Laurent Perron
a64e947cdb add new code samoke; update internals 2019-08-23 16:45:52 +02:00
Laurent Perron
09655b81ea add LinearExpr.Term() API; improve internals 2019-08-22 13:15:49 +02:00
Laurent Perron
f32e012aed works on CP-SAT and cuts 2019-07-18 11:36:47 -07:00
Laurent Perron
b3c9ac9de8 fix #1413 2019-07-15 10:26:19 -07:00
Laurent Perron
a556eb1ec0 [CP-SAT] Rins fixes, cuts improvements 2019-07-12 10:22:51 -07:00
Laurent Perron
26b190841d improve linear constraint manager in CP-SAT; fix circuit bug; add MT Feasibility worker params 2019-07-11 12:03:31 -07:00
Laurent Perron
4ac9172f9f linux fix 2019-05-29 22:48:54 +02:00
Laurent Perron
2c7f392437 linux fix 2019-05-29 22:48:07 +02:00
Laurent Perron
1028207a2a add time limit to max_clique algorithm in CP-SAT presolve; fix rare crash in CP-SAT/GLOP connection; experimental CP-SAT scheduling code to speed-up the case of multiple no_overlap with lots of shared intervals; replace algorithm behind the util default random engine 2019-05-29 22:39:15 +02:00
Laurent Perron
198d6295e4 optimize speed and memory 2019-05-23 18:55:20 +02:00
Laurent Perron
71405ff5b1 internal cleanup of the search flow in the cp-sat; share assigned Boolean variables between workers; add parameter to returns tightened bounds after a solve (level 0 proved bounds); try to cleanup the mathematical formula behind dynamic LP iterations when called from the CP-SAT solver 2019-05-23 13:53:26 +02:00
Laurent Perron
d9c66c8c70 update code sample 2019-05-16 16:50:11 +02:00
Laurent Perron
0490fe5337 fix degeneracy data 2019-05-05 18:02:49 +02:00
Laurent Perron
7f99c48698 revamp SAT domains, API with bounds on non C++ languages 2019-05-03 16:30:57 +02:00
Laurent Perron
07d0207fff silence spurrious warning; add minor presolve to abs(x) == y 2019-04-22 10:11:29 +02:00
Laurent Perron
c9b51d7b1c add license text 2019-04-18 14:17:35 +02:00
Laurent Perron
f47f804a5b improve precision handling in CP-SAT/GLOP and in routing/GLOP 2019-04-18 13:29:21 +02:00
Laurent Perron
4477092d8d rewrite CP-SAT high level search flow (presolve, LNS, parallelism...) 2019-04-11 09:46:06 -07:00
Laurent Perron
17f040336f add per constraint scaling in CP-SAT -> GLOP bridge 2019-04-10 10:35:42 -07:00
Laurent Perron
8ce29056b5 dynamic tightening of the LP relaxation in the CP-SAT solver 2019-04-05 17:00:40 +02:00
Laurent Perron
17b9b597a1 change CP-SAT C++ Api to call Build() on the model before solving; use log_search_progress parameters to display all log; enable this parameter in non C++ language; call InitGoogleLogging() automatically in non C++ languages 2019-04-05 14:58:33 +02:00
Laurent Perron
11311ec8c7 fix bug with hinting + core in CP-SAT 2019-04-03 18:10:56 +02: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
Laurent Perron
9e0f52f562 improve cp-sat internals 2019-03-12 17:41:26 +01:00
Laurent Perron
77be330c05 improve CP-SAT <-> glop connection 2019-03-01 11:11:36 +01:00
Laurent Perron
61a2b13fcf improve CP-SAT presolver, add Gomory (off by default) and MIR (naive, off by default) to the CP-SAT solver; improve CP-SAT logging 2019-01-17 16:12:58 +01:00
Laurent Perron
c4cf58701f continue working on cuts; fix bug in CP-SAT Presolve (IntProd) 2019-01-11 15:31:01 +01:00
Laurent Perron
25c4cd0630 tweak CP-SAT // Search; improve floating point scaling in CP-SAT 2019-01-10 15:56:40 +01:00
Laurent Perron
9587a79040 add Gomory cuts; off by default as it is not tuned enough 2019-01-09 11:50:39 +01:00
Laurent Perron
916e3136ec add new error type in status/canonical_errors; savings improvement in the routing library; scip_interface rewrite; first steps in CP-SAT cuts management 2019-01-02 16:35:40 +01:00
Laurent Perron
3055dcaa50 reorganize info sharing in parallel search 2018-12-21 13:59:58 +01:00