165 Commits

Author SHA1 Message Date
Laurent Perron
3b18bdd58b [CP-SAT] morework on lrat 2025-12-05 08:27:10 +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
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
Corentin Le Molgat
b05315de21 sat: backport from main 2025-09-22 17:24:20 +02:00
Laurent Perron
a841258da7 [CP-SAT] misc improvements to the internals; more work on general constraints with enforcements 2025-09-17 07:47:03 +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
Corentin Le Molgat
4151254eba sat: backport from main 2025-07-23 15:04:05 +02:00
Laurent Perron
a8440891c5 [CP-SAT] stronger no_overlap_2d variation 2025-06-02 14:54:08 +02:00
Laurent Perron
7f463e1a68 sync with main 2025-06-02 14:25:50 +02:00
Laurent Perron
3e1d3d7da9 [CP-SAT] disambiguate shaving parameters 2025-04-15 21:10:19 +02:00
Laurent Perron
467091fe92 [CP-SAT] cleanups; tweaks shaving limits 2025-04-15 17:19:58 +02:00
Laurent Perron
884230dec7 [CP-SAT] optional positional boolean on no_overlap_2d; bugfixes 2025-04-08 17:30:48 +02:00
Laurent Perron
6b1b7ef2b6 [CP-SAT] experimental integration of variable shaving; tentative fix for #4615; more bugfixes 2025-04-04 17:05:43 +02:00
Laurent Perron
8b4a24a0a3 [CP-SAT] polish new cumulative cuts code; more experimental code on routing cuts; cleaning, fixes 2025-02-07 22:34:38 +01:00
Laurent Perron
5341feef73 [CP-SAT] add experimental routing constraint; more no_overlap_2d presolve; add random_half branching heuristics 2025-01-28 13:34:40 +01:00
Corentin Le Molgat
a66a6daac7 Bump Copyright to 2025 2025-01-10 11:35:44 +01:00
Laurent Perron
198a4d3f12 [CP-SAT] fir rare bug in dependency graph and implications; speed up no_overlap_2d and cumulative relaxation 2024-12-16 14:20:09 +01:00
Laurent Perron
dba2281f13 [CP-SAT] more work on no_overlap_2d; revisit all includes 2024-12-04 17:47:28 +01:00
Laurent Perron
873e0b47f8 [CP-SAT] improve diffn clustering; more work on hints 2024-12-04 15:29:53 +01:00
Laurent Perron
503b038dfc [CP-SAT] optimize binary implication graph; rewrite some no_overlap_2d constraints; lot of spans 2024-11-28 15:52:59 +01:00
Laurent Perron
019ff0b73b [CP-SAT] improve work sharing 2024-11-20 17:12:58 +01:00
Corentin Le Molgat
00885d45bd sat: backport from main 2024-11-15 14:40:47 +01:00
Laurent Perron
55ff5cf534 [CP-SAT] change element and table protos, API to support affine expressions 2024-10-23 05:59:17 +02:00
Laurent Perron
c930dd656e [CP-SAT] check the time limit more frequently; experimental support for lp folding; more pedantic tests in presolve 2024-10-16 14:13:02 +02:00
Laurent Perron
d6de78c923 [CP-SAT] vivification after import; remove unused affine in presolve; remove obsolete ThreadPool usage 2024-10-08 16:06:05 +02:00
Laurent Perron
76f2f4c383 [CP-SAT] internal protocol improvements; bug fixes 2024-09-03 18:19:19 +02:00
Laurent Perron
99d869a4a1 [CP-SAT] more span; minor scheduling optims 2024-08-02 19:57:27 +02:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
4fa0d282ac [CP-SAT] fix overflow in search heuristic evaluation; improve pseudo-cost implementation; use it in lb_tree_search; propagate hints when creating encoding literals 2024-05-30 10:52:46 +02:00
Laurent Perron
3a08e10bcf [CP-SAT] fix bug with negative sized intervals; improve cumulative variable profile 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
3c5c99c278 [CP-SAT] speed up processing of at most ones; add named subsolver parameters for lns and shared_tree workers 2024-03-04 18:07:17 +01:00
Laurent Perron
a166810d9a [CP-SAT] add rlt cuts; improve no_overlap_2d propagation 2024-02-28 17:20:23 +01:00
Laurent Perron
480d4261c4 [CP-SAT] add shared tree worker parameter override; more use of spans 2024-02-26 11:02:57 +01:00
Laurent Perron
dd4d124ed5 [CP-SAT] more diversity in first solution workers 2024-02-21 12:17:46 +01:00
Laurent Perron
8d4b32967c [CP-SAT] cleanup diffn propagation; remove dead code 2024-01-31 14:44:02 +01:00
Laurent Perron
b2ea6266f6 [CP-SAT] code cleanup: remove optional integer variables 2024-01-23 14:15:38 +01:00
Laurent Perron
e9c81911c4 [CP-SAT] memory optimizations; improve no_overlap_2d; change default parameters 2024-01-10 16:42:04 +01:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
22fe47fd44 [CP-SAT] more work on diffn 2023-12-21 16:47:34 +01:00
Laurent Perron
4b797d4786 [CP-SAT] remove Domain deprecated API; work on diffn 2023-12-21 14:33:50 +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
bcf402180b [CP-SAT] better logging of infeasible constraint during presolve; improved scheduling search 2023-10-27 13:47:04 +02:00
Laurent Perron
f36ad15224 [CP-SAT] fix #3958; more work on stats; fix a few potential overflows 2023-10-20 17:20:43 +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
9e2770f8bd [CP-SAT] extensive work on scheduling; add new cumulative with profile example 2023-10-08 11:21:00 +02:00
Laurent Perron
d07127d40a [CP-SAT] revisit search heuristics, lns workers search heuristics; scheduling propagation 2023-10-02 19:52:11 +02:00