Commit Graph

129 Commits

Author SHA1 Message Date
Laurent Perron
ba15d312ba [CP-SAT] improve cuts diversity; fix infinite loop in the ttef constraint; improve var domination; remove wrong DCHECK 2022-05-11 17:23:59 +02:00
Laurent Perron
3ed32f3dd3 [CP-SAT] Add new scheduling lns; improve cover cuts; improve the propagation of the timetable constraint; speed-up domination detection (abort early if possible); remove deprecated knapsack cut code 2022-05-09 14:44:50 +02:00
Laurent Perron
5b87373be5 [CP-SAT] work on scheduling cuts 2022-04-21 17:29:56 +02:00
Laurent Perron
9d1803cee2 [CP-SAT] bugfixes; more work on cuts on graphs 2022-04-07 17:59:22 +02:00
Laurent Perron
2a5a2b7069 remove types warnings; add stronger scheduling cuts 2022-04-06 17:33:00 +02:00
Laurent Perron
c82cfdc9ad remove map_util from most of the code; absl::make_unique and absl::optional -> stl version 2022-03-09 09:08:40 +01:00
Laurent Perron
57a84edf47 backtrack last PR 2022-02-24 17:58:22 +01:00
Laurent Perron
f1191a0e8f maintenance on the CP-SAT core 2022-02-24 17:41:17 +01:00
Laurent Perron
5e41f40c2f remove range-loop warnings from the sat code 2022-02-24 14:17:43 +01:00
Laurent Perron
8fe2df9a18 [CP-SAT] regenerates all includes; improve core solver when the objective is pseudo-boolean 2022-02-15 18:00:11 +01:00
Laurent Perron
641d3d2c5e [CP-SAT] reuse vectors in cuts; remove dead code; fix bug in abs(x) in domain presolve; fix #3084 2022-01-17 16:31:41 +01:00
Laurent Perron
733a4b5422 [CP-SAT] better processing of double objective; add one more symmetry breaking presolve rule; add objective rounding cut; remove IntegerArgumentProto message 2021-11-19 17:58:53 +01:00
Laurent Perron
34b26eb5b0 [CP-SAT] reorganize linear code; tweak lb_tree_search code 2021-10-29 14:02:25 +02:00
Laurent Perron
3414942957 [CP-SAT] add parameter to control the size of the solution pool; improve expand of multiplications spanning across 0; fix scaling bug 2021-09-14 17:32:15 +02:00
Laurent Perron
90824fab68 [CP-SAT] more corner case fixes 2021-09-03 16:11:39 +02:00
Laurent Perron
80987d328b [CP-SAT] rewrite element expand; improve lin_max linear relaxation; detect value element and add linear relaxation; plenty of bug fixes 2021-07-23 21:59:20 +02:00
Laurent Perron
dd85ab7a03 [CP-SAT] reorganize loader/linear_relaxation/cut code; improve SchedulingConstraintHelper; fix/speedup diffn propagation and cuts 2021-06-04 08:35:20 +02:00
Laurent Perron
00ad4a5bee [CP-SAT] implement lb_tree search; speedup diffn (presolve, propagation); implement median search; remove unused affine relation during presolve; add sub-solver search statistics 2021-05-25 23:05:12 +02:00
Laurent Perron
efd16c78da [CP-SAT] deprecate SearchAllSolutions and SolveWithSolutionCallback 2021-05-03 12:11:39 +02:00
Laurent Perron
851bdaa7eb fix #2525; rewrite scheduling cuts; add cumulative cuts; reorganize internal search 2021-04-30 14:20:46 +02:00
Mizux Seiha
8bb54b04ef Bump Copyright to 2021
FYI:
find ortools \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i 's/\(Copyright 2010\)-2018/\1-2021/g'
2021-04-01 21:00:53 +02:00
Corentin Le Molgat
a40143cdd2 cpp: Migrate int64 to int64_t 2021-04-01 20:20:43 +02:00
Laurent Perron
165af62004 fix a few typos 2021-03-09 16:02:34 +01:00
Laurent Perron
bad5c2032b int64 -> int64_t 2021-03-04 18:26:01 +01:00
Laurent Perron
692b590128 more dual presolve in CP-SAT 2021-01-14 10:32:45 +01:00
Rai
e3ea897e56 Add extra braces for readability
My C++ compiler suggests braces around the comparisons.
2020-12-30 15:59:06 +01:00
Laurent Perron
d5c7c48e79 int_type_indexed_vector -> strong_vector; polish cp-sat probing workers 2020-11-19 00:17:26 +01:00
Laurent Perron
7ed855af90 remove near zero terms when converting MIP models for CP-SAT; add small presolve, and root node propagation 2020-11-16 17:01:21 +01:00
Laurent Perron
94d61a273b [GLOP] add solution polishing to increase its integrality; [CP-SAT] new stats exported, fix java samples, add quick_restart_no_lp to search diversification 2020-11-16 08:44:14 +01:00
Laurent Perron
a2dc7e9a8e big sync with internal code; mostly code reformating; a few fixes for CP-SAT; more work on bandit based concatenators for the routing library 2020-11-02 18:50:59 +01:00
Laurent Perron
6467dc69b0 reformat the code; [CP-SAT] add dominated columns presolve 2020-10-28 13:42:51 +01:00
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