132 Commits

Author SHA1 Message Date
Laurent Perron
0fe7cb5dbd fixes 2026-01-07 15:48:58 +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
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
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01:00
Corentin Le Molgat
b05315de21 sat: backport from main 2025-09-22 17:24:20 +02:00
Corentin Le Molgat
0db80a34f6 sat: backport from main 2025-08-06 10:54:53 +02:00
Corentin Le Molgat
4151254eba sat: backport from main 2025-07-23 15:04:05 +02:00
Laurent Perron
188cfcbde5 [CP-SAT] work on precedences; improve scheduling cuts 2025-05-27 14:34:42 +02:00
Laurent Perron
b28b0625f9 [CP-SAT] use precedences in completion time cuts; improve glue clause sharing 2025-05-16 16:48:11 +02: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
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
15a12a0c49 [CP-SAT] speed up no_overlap_2d (presolve, propagation); tweak shared tree workers; improve hint preservation during presolve; remove memory contention 2024-12-13 13:10:52 +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
df97cd5776 [CP-SAT] reorganize code 2024-11-29 14:30:29 +01:00
Corentin Le Molgat
00885d45bd sat: backport from main 2024-11-15 14:40:47 +01:00
Laurent Perron
b899e25cec [CP-SAT] fix a few fuzzer bugs; preserve a bit more hints during presolve; change max_clique heuristics used in presolve 2024-11-15 07:30:45 +01:00
Laurent Perron
6e1fdea611 [CP-SAT] change the element constraint proto to support affine expressions everywhere; more work on lp folding and support of symmetries in the LP and the linear subsystem 2024-10-18 11:54:09 +02:00
Laurent Perron
c46025609d [CP-SAT] remove problematic DCHECK; tweak glue-clause-sharing 2024-08-05 15:19:16 -07:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
8607f2fab3 fix 2024-05-30 10:52:46 +02:00
Laurent Perron
3193ea50bc fix 2024-05-30 10:52:46 +02:00
Laurent Perron
d28edd701c [CP-SAT] code cleanup; more pseudo-cost experimental code; add objective best bound callback 2024-05-30 10:52:46 +02:00
Laurent Perron
057b5ea1f4 [CP-SAT] remove unused code 2024-02-01 22:13:47 +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
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
9e2770f8bd [CP-SAT] extensive work on scheduling; add new cumulative with profile example 2023-10-08 11:21:00 +02:00
Laurent Perron
4255e18c56 [CP-SAT] improve lns for makespan objective; fix jeasibility jump check failed; fix non deterministic search with gap limits 2023-09-28 14:28:27 +02:00
Laurent Perron
b8f224a8e1 [CP-SAT] tweak default search; improve scheduling cuts; move no_overlap_2d cuts in its own file; improve feasibility_jump; improve and speedup presolve 2023-09-21 13:07:09 +02:00
Laurent Perron
c50650e636 [CP-SAT] more work on logging; remove unused LNS 2023-06-27 14:22:11 +02:00
Laurent Perron
f36a11c9a9 [CP-SAT] new Lns; tweak log 2023-06-26 18:15:28 +02:00
Laurent Perron
09d534a2b7 [CP-SAT] rewrite Rins/Rens; fix #3825; cleanups 2023-06-17 12:10:17 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
dbaef62eb5 [CP-SAT] improvements to feasibility_jump, better presolve on lin_max; tuning 2023-04-21 12:48:03 +02:00
Laurent Perron
1bf61aea43 [CP-SAT] highly experimental feasibility jump implementation 2023-03-31 16:01:15 +02:00
Laurent Perron
e544d1d5e6 [CP-SAT] add debugging facilities; fix a few minor bugs 2023-03-02 17:05:04 +04:00
Laurent Perron
0945e9a6fb [CP-SAT] export num integers in the stats; optimize large linear constraints 2023-02-16 15:31:27 +01:00
Laurent Perron
bf504d4f8f fix #3547 2023-01-04 14:20:17 +01:00
Laurent Perron
068df24bec [CP-SAT] fix fuzzer bugs 2022-12-20 11:52:55 +01:00
Laurent Perron
2264cb9059 [CP-SAT] more aggregate presolve; fix bug with no_overlap and duplicated intervals; add parameter for the probing time limit; use all threads to find the first solution while the lns workers are idle; tweak lb_tree_search by allowing more glop iterations at the root node 2022-11-29 14:39:27 +01:00
Laurent Perron
7ac2254bf0 [CP-SAT] make clause sharing deterministic with interleave_search=true 2022-11-09 09:55:06 +01:00
Laurent Perron
61f0e27dfd [CP-SAT] fix deterministic mode 2022-11-06 10:58:59 +01:00
Laurent Perron
5bffac511e [CP-SAT] improve deterministic search code 2022-11-04 19:57:21 +01:00
Laurent Perron
412f3d7d9c add model and solution fingerprinting to CP-SAT; cleanup old hash code; incorporate fast_hash in the codebase 2022-11-04 09:34:37 +01:00