74 Commits

Author SHA1 Message Date
Corentin Le Molgat
e0f74bd698 sat: fix probing.cc implem against stdc++17
note: Invented public ctor `A(a, b, v)` not defined in c++17
ref: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0960r2.html
2026-01-09 10:34:14 +01:00
Corentin Le Molgat
1ed9a17980 sat: fix probing.cc compilation on windows 2026-01-08 09:04:19 -08:00
Corentin Le Molgat
708262c716 sat: fix compilation error 2026-01-07 17:46:34 +01:00
Laurent Perron
0782d13065 [CP-SAT] work on lrat, clause congruence, inprocess ; bug fixes 2026-01-07 15:51:36 +01:00
Laurent Perron
0fe7cb5dbd fixes 2026-01-07 15:48:58 +01:00
Laurent Perron
56613156ce [CP-SAT] work on lrat; work in inprocessing; fix bug with reduced variables domains and hints 2025-12-01 17:44:18 +01:00
Laurent Perron
cd37bacd2a backport sat from main 2025-11-24 16:26:34 +01:00
Laurent Perron
7adffccc0d [CP-SAT] more work on encodings, lrat 2025-11-21 11:21:34 +01:00
Laurent Perron
6b518a65e5 [CP-SAT] fix bugs in lrat, inner clause handling, variable expansion 2025-11-18 23:24:48 +01:00
Laurent Perron
72d75ca109 [CP-SAT] work on lrat; better expansion of variables only appearing in encoding constraints 2025-11-18 16:24:18 +01:00
Laurent Perron
29ffc72cf3 [CP-SAT] work on lrat; probing; variable encoding 2025-11-12 17:21:04 +01:00
Laurent Perron
a7fc26854a [CP-SAT] Work on linear1 encodings; more work on lrat; cleanup linear2 code; work on probing 2025-11-05 15:17:38 +01:00
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01:00
Laurent Perron
5d85f840b5 [CP-SAT] fix #4839; experimental code for lrat checker; experimental code to control the boolean expansion of small linear2 equations 2025-09-29 16:35:16 +02:00
Mizux Seiha
4f381f6d07 backport from main:
* bump abseil to 20250814
* bump protobuf to v32.0
* cmake: add ccache auto support
* backport flatzinc, math_opt and sat update
2025-09-16 16:25:04 +02:00
Laurent Perron
5e6f8cf332 fixes 2025-05-14 16:58:39 +02:00
Corentin Le Molgat
62dca6e486 backport vlog_is_on.h patch from main 2025-03-13 15:56:35 +01:00
Laurent Perron
a4b37b6465 large sync with main 2025-03-07 10:33:36 +01:00
Mizux Seiha
068359c162 ortools: backport from main 2025-03-04 21:09:32 +01:00
Corentin Le Molgat
a66a6daac7 Bump Copyright to 2025 2025-01-10 11:35:44 +01:00
Laurent Perron
dba2281f13 [CP-SAT] more work on no_overlap_2d; revisit all includes 2024-12-04 17:47:28 +01:00
Corentin Le Molgat
c41dbb8e43 st: Fixup export from google3 2024-10-07 11:08:38 +02:00
Corentin Le Molgat
ef8716241a backport from main 2024-10-01 12:48:20 +02:00
Laurent Perron
76f2f4c383 [CP-SAT] internal protocol improvements; bug fixes 2024-09-03 18:19:19 +02:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
382ab5d35b [CP-SAT] do not add the linear part of an interval in the model, create it when copying the model for presolve; improve work sharing in shared_tree_mode 2024-05-30 10:51:55 +02:00
Laurent Perron
511bf047a7 backport cp-sat code from main 2024-05-30 10:51:53 +02:00
Laurent Perron
642cda4599 [CP-SAT] improve presolve of linear aggregation 2024-02-09 10:34:21 -08:00
Corentin Le Molgat
4d3437e460 sat: export from google3 2024-02-06 18:39:47 +01:00
Laurent Perron
5ad4300122 [CP-SAT] add parameter to specify how to process large bounds when solver a MIP problem 2024-01-22 16:46:54 +01:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
946f9453d9 [CP-SAT] more code cleanup; add inline log callbacks for C++ 2023-12-21 09:37:59 +01:00
Laurent Perron
234024ab74 [CP-SAT] improve python typing; speed up no_overlap_2d; simplofy lns utilities; fix bug in probing 2023-12-19 15:04:12 +01:00
Laurent Perron
fd3c1084c1 [CP-SAT] remove base/cleanup; rewrite code that stores decision strategies to natively use affine expression 2023-12-07 19:17:57 +01:00
Laurent Perron
47fcebdea6 [CP-SAT] fix sharing bug where some fixed Boolean variables were not shared; use new no_overlap_2d propagator in scheduling workers; improve probing code 2023-12-06 14:15:16 +01:00
Laurent Perron
00fd31bd6d [CP-SAT] rewrite clause management; improve probing by probing clauses and at_most_ones from the SAT engine; experimental no_overlap_2d energetic propagator code 2023-12-04 15:06:08 +01:00
Laurent Perron
08e53974c7 [CP-SAT] tweak model cloning API; implement it in java; merge pure sat presolve with normal presolve 2023-10-25 15:38:57 +02:00
Laurent Perron
01dd97f64e [CP-SAT] support int_prod with arity > 2; fix a few bugs, mostly around unsat models; add parameters for lp tolerance; optimize the code on hot spot 2023-10-18 15:47:37 +02:00
Laurent Perron
f1bbd650ab [CP-SAT] add automatic cast Literal -> LiteralIndex; implement general division where the denominator can have any domain that does not contain 0 2023-10-12 10:06:27 +02:00
Laurent Perron
7d0d173a0f [CP-SAT] optimize feasibility jump; optimize linear presolve; better presolve logging; fix #3917; rewrite and simplify search heuristics code 2023-09-13 18:16:28 +02:00
Laurent Perron
249b3286cd [CP-SAT] improve super-additive function for cuts; fix bug in int_prod presolve 2023-06-07 17:11:45 +02:00
Laurent Perron
ebb88d9c50 [CP-SAT] fix corner cases in presolve; rewrite part of the cut management; automatic fixes 2023-05-30 23:25:31 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
34161f7cff [CP-SAT] reduce memory used in the integer encoding; fix worker info not being displayed in the log 2023-02-14 17:35:45 -08:00
Laurent Perron
8948fcc24b [CP-SAT] cleaning 2022-10-17 17:11:59 +02:00
Laurent Perron
70abbdf825 [CP-SAT] IsModelUnsat -> ModelIsUnsat; fix bug with variables with holes in domain; fix cumulative energetic cut with makespan 2022-09-21 13:35:11 +02:00
Laurent Perron
4c82ba2192 [CP-SAT] Improve linearization of product; cleanup presolve code around removable variables 2022-06-29 17:04:58 +02:00
Laurent Perron
87ca4f58ad [CP-SAT] bump license years; fix scheduling cuts; improve lb_tree_search 2022-06-16 15:21:00 +02:00
Laurent Perron
8af04faff5 [CP-SAT] introduce decomposed energy and use it in scheduling propagation and cuts; remove duplicate code in presolve; simplify the name of a few parameters; add SchedulingDemandHelper class; re-enable model status in search log 2022-06-16 07:45:19 +02: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