Commit Graph

98 Commits

Author SHA1 Message Date
Mizux Seiha
20d0496bfb reapply google format 2020-10-23 00:45:17 +02:00
Laurent Perron
a4258f2bdf switch flags setters and getters to the absl format 2020-10-21 00:21:54 +02:00
Laurent Perron
bcb7b3073d large synchro with internal code: linear solver: introduce intermediate SCIP layer called gscip; sat: more work on slow propagation detection; base: remove statusor, use abseil version; constraint solver: more work on internal local search 2020-10-18 16:38:25 +02:00
Laurent Perron
76871a4403 fix bugs in CP-SAT 2020-10-06 17:57:20 +02:00
Laurent Perron
484aafb903 A few fixes on CP-SAT; work on scheduling LP cuts 2020-10-01 18:08:34 +02:00
Laurent Perron
5abff09c1f add convex hull constraint on interval; improve scheduling relaxation 2020-09-21 09:44:39 +02:00
Laurent Perron
4a1e29fafb polish first scheduling cuts; fix bugs in workers synchro; fix rage bug in scheduling; fix inconsistent optimal value; fix #2153 2020-09-12 17:48:48 +02:00
Laurent Perron
2bb2115cdc add initial implementation of cover cuts 2020-09-03 17:50:04 +02:00
Laurent Perron
c52946b783 add initial implementation for zero half cut 2020-09-03 09:08:10 +02:00
Laurent Perron
e28a499b0f [CP-SAT] improve feasibility pump; improve scaling of linear model; internal improvements 2020-07-05 00:29:47 +02:00
Laurent Perron
7268ce5589 add incremental in-search preprocessing to SAT; fix #2040; fix rare check in glop 2020-06-03 12:07:07 +02:00
Laurent Perron
581d5606e0 fix #2005; massive rewrite of pure sat processing; RINS/RENS improvements in CP-SAT; get rid of base/status.h in favor of the absl version 2020-05-06 18:22:10 +02:00
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