103 Commits

Author SHA1 Message Date
Laurent Perron
4dab47eaa6 [CP-SAT] bugfixes 2025-12-15 13:59:08 +01:00
Laurent Perron
562ffd7eed [CP-SAT] more work on lrat; cleanup memory management in scheduling clauses; improve encoded only variable expansion; fix a few bugs 2025-12-15 13:07:29 +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
7adffccc0d [CP-SAT] more work on encodings, lrat 2025-11-21 11:21:34 +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
Corentin Le Molgat
b4b226801b update include guards 2025-11-05 11:54:02 +01: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
Laurent Perron
5e6f8cf332 fixes 2025-05-14 16:58:39 +02:00
Laurent Perron
c06d62f0cb rename internal sat method; more tests 2025-04-03 16:18:34 +02:00
Laurent Perron
54b8c24839 big graph cleaning; rewrite CP-SAT python layer; rewrite model_builder python layer; reorganize CP-SAT scheduling and packing code 2025-01-15 13:51:40 +01:00
Corentin Le Molgat
a66a6daac7 Bump Copyright to 2025 2025-01-10 11:35:44 +01:00
Laurent Perron
32bcb0e213 [CP-SAT] more work on hints 2024-12-13 14:51:20 +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
07656d9f67 [CP-SAT] always simplify added clauses; new presolve on element 2024-11-22 16:57:53 +01: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
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
ca8faefc0c [CP-SAT] speed up circuit loading 2024-07-15 13:51:50 +02:00
Laurent Perron
e9c81911c4 [CP-SAT] memory optimizations; improve no_overlap_2d; change default parameters 2024-01-10 16:42:04 +01:00
Laurent Perron
277a99d0ff [CP-SAT] fixes, diffn improvements, remove dead code 2024-01-05 17:28:07 +01:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
0be41f4129 work on diffn; fix non deterministic issue 2023-12-28 21:42:18 +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
47306a72ca [CP-SAT] more work on clause management 2023-12-13 16:14:35 +01:00
Laurent Perron
5bd09c376e [CP-SAT] fix c++ decision strategy API; fix #4013; tweak in processing and its parameters; tweak energetic diffn code 2023-12-12 16:20:02 +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
990fc9eb4a [CP-SAT] simplify clauses periodically (off by default); remove pure sat code path 2023-11-22 14:48:08 +01:00
Laurent Perron
185b77cea0 [CP-SAT] limit effort in feasibility_jump; new experimental scheduling search on cumulative 2023-10-29 15:31:06 +01: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
407c9bb5dc [CP-SAT] fix overflow in presolve, check failed in feasibility_jump; remove obsolete macro 2023-08-30 10:04:11 -04:00
Laurent Perron
fa6883d544 mostly cleaning: remove integral_types.h and basictypes.h 2023-08-24 14:52:54 +02:00
Laurent Perron
6d8495f423 [CP-SAT] improve core based search with more core reduction 2023-07-27 08:49:46 -07: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
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
0b0f33b8ce [CP-SAT] add diophantine equation solver; improve CumulativeTimeTable cuts 2022-08-18 17:32:24 +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
74d5a10f50 minor sync 2022-04-08 11:01:13 +02:00
Laurent Perron
06bee0db52 [CP-SAT] bugfixes; more work on cuts on graphs 2022-04-07 18:21:56 +02:00
Laurent Perron
5e41f40c2f remove range-loop warnings from the sat code 2022-02-24 14:17:43 +01:00
Laurent Perron
29662f2006 [CP-SAT] Improve assumptions algorithm; tweak lb_tree_search 2022-02-17 16:20:21 +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