153 Commits

Author SHA1 Message Date
Corentin Le Molgat
b05315de21 sat: backport from main 2025-09-22 17:24:20 +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
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
e7279e865c update set cover; move theta_tree to util; deprecate obsolete fields in SAT routes proto 2025-03-29 13:44:39 +01:00
Mizux Seiha
068359c162 ortools: backport from main 2025-03-04 21:09:32 +01:00
Laurent Perron
7e98e7b4d4 [CP-SAT] improve no_overlap_2d cuts; more no_overlap_2d cuts; bugfixes; add sat/c_api subdirectory 2025-02-10 12:45:46 +01:00
Laurent Perron
3a73fa1b3e [CP-SAT] fix cumulative cuts 2025-02-06 16:52:23 +01:00
Laurent Perron
f9b6212649 [CP-SAT] experimental routing cuts; new cumulative cuts; improve no_overlap_2d code all around 2025-02-05 18:12:33 +01:00
Laurent Perron
12cb30c8e6 [CP-SAT] experiment with prefered linearization_level in lns; fuzzer bugs fixed 2025-01-30 14:28:33 +01:00
Laurent Perron
77c5d2959d [CP-SAT] more bug fixing 2025-01-27 13:50:57 +01:00
Laurent Perron
df31847650 [CP-SAT] more model copy in its own library; few more fuzzer bugs fixed; add simple presolve rule 2025-01-24 14:11:24 +01:00
Laurent Perron
054289ae7f [CP-SAT] regroup hint code; fix more fuzzer bugs 2025-01-21 15:34:42 +01:00
Laurent Perron
9cb88905e8 [CP-SAT] regroup all hint preservation code in a SolutionCrunch class; more work on no_overlap_2d propagator; add exception processing if an exceptions is raised in a python callback (solution, log, best_bound) 2025-01-20 15:00:46 +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
ef9e9547bc [CP-SAT] fix more fuzzer bugs; polish python code 2025-01-06 21:53:02 +01:00
Laurent Perron
925af8aa71 [CP-SAT] lots of fuzzer bugs fixed 2024-12-18 18:00:30 +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
b7a1bdcff2 [CP-SAT] more defensive coding 2024-11-18 15:33:29 +01:00
Laurent Perron
c0b9bb33ae [CP-SAT] more fixes 2024-11-17 14:19:21 +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
458e2a1579 [CP-SAT] improve mod doc; improve precedences in scheduling; speed up circuit data structures 2024-07-23 20:03:20 +02:00
Laurent Perron
ca8faefc0c [CP-SAT] speed up circuit loading 2024-07-15 13:51:50 +02:00
Laurent Perron
fa2473affe [CP-SAT] improve presolve for affine_max, improve work sharing; improved linear code 2024-05-30 10:52:44 +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
437524aa5b fix #4108 2024-03-01 14:06:02 +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
7e5f884e8f improve code 2024-02-18 18:34:49 +01:00
Laurent Perron
2f11ce5fa5 polish 2024-02-18 12:16:15 +01:00
Laurent Perron
3dc612e1df faster code 2024-02-17 22:49:16 +01:00
Laurent Perron
8627cbf9b8 [CP-SAT] improve cumulative relaxation; more spans 2024-02-16 23:13:09 +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
044bc5ebce speed up sat scheduling code 2023-10-25 17:05:22 +02:00
Laurent Perron
a7b26f6d8d [CP-SAT] new example; regroup some linear code 2023-09-23 10:16:08 +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
5024c23691 [CP-SAT] new lns (graph_dec_lns); internal code cleaning 2023-06-22 15:43:31 +02:00
Laurent Perron
24ea806809 [CP-SAT] work on scheduling 2023-06-14 15:13:14 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
0f58934ab8 re-add diffn checker 2023-05-12 18:17:23 +02:00
Laurent Perron
d5938972fc [CP-SAT] remove dead code; fix bug in zero-half cut 2023-05-11 22:06:00 +02:00
Laurent Perron
b45067a569 fix #3770 2023-05-11 21:09:09 +02:00
Laurent Perron
8348ec8f94 [CP-SAT] Switch cut code to int128; more work on feasibility_jump and violation_ls 2023-05-03 09:33:50 +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
329c7b1270 [CP-SAT] polish alldiff expansion and cuts; improve cut tooling 2023-02-03 16:13:06 +01:00
Laurent Perron
77868b5d61 [CP-SAT] rewrite cut helper; add flexibility in all_diff expansion; improve all_diff cut generator and add relaxation 2023-01-16 13:26:55 +01:00