147 Commits

Author SHA1 Message Date
Laurent Perron
29ffc72cf3 [CP-SAT] work on lrat; probing; variable encoding 2025-11-12 17:21:04 +01:00
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01:00
Laurent Perron
0cbdbb78f1 [CP-SAT] little cleanups 2025-09-29 16:35:28 +02: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
0db80a34f6 sat: backport from main 2025-08-06 10:54:53 +02:00
Laurent Perron
7f463e1a68 sync with main 2025-06-02 14:25:50 +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
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
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
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
Laurent Perron
eee2f106cd [CP-SAT] more bug fixes; more moving of hint management to solution_crush 2025-01-22 14:37:08 +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
c71e734199 [CP-SAT] rewrite python memory management; optimize object creation in the python layer; fix plenty of fuzzer bugs; better processing of fixed rectangles in no_overlap_2d 2025-01-19 12:04:23 +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
dbe123f225 [CP-SAT] more spans; one more case of preserving hints during presolve; new packing LNS; propagate objective in LNS 2024-12-02 17:22:36 +01:00
Laurent Perron
df2811878a [CP-SAT] fix bug with reservoir expansion; improve hint processing; improve work sharing 2024-11-25 14:50:09 +01:00
Corentin Le Molgat
00885d45bd sat: backport from main 2024-11-15 14:40:47 +01:00
Laurent Perron
ee241f30b5 [CP-SAT] supports affine expression in automaton 2024-10-25 13:15:40 +02:00
Laurent Perron
663a591a32 [CP-SAT] move code around; add more tests 2024-10-23 15:47:31 +02: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
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
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
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
9eddf037c5 [CP-SAT] fix #4176 2024-05-30 10:52:45 +02:00
Laurent Perron
4521996ca4 [CP-SAT] more work on 2d packing; fix bugs 2024-05-30 10:52:44 +02:00
Laurent Perron
f92d236fbf [CP-SAT] experimental lin_max expand; improve python typing 2024-05-30 10:51:54 +02:00
Laurent Perron
511bf047a7 backport cp-sat code from main 2024-05-30 10:51:53 +02: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
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
5b6c803db3 [CP-SAT] convert to PEP8 convention 2023-11-16 19:46:56 +01:00
Laurent Perron
ae8bb2dd23 [CP-SAT] rewrite the after solver LP log 2023-10-19 21:58:05 +02:00
Laurent Perron
94f3d9b468 [CP-SAT] support table constraints with enforcement literals 2023-10-19 11:54:24 +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
fa6883d544 mostly cleaning: remove integral_types.h and basictypes.h 2023-08-24 14:52:54 +02:00
Laurent Perron
1ff59b03c0 [CP-SAT] tweak table_with_cost code (still off by default); improve core search when a lot of literals are in a sub-at_most_one 2023-07-09 13:45:48 +02:00
Laurent Perron
cabf55e7fa [CP-SAT] fix table with cost presolve; change implementation of graph_arc_lns 2023-07-06 03:03:11 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
f29b649be7 [CP-SAT] fix another enumerate bug 2023-02-13 12:38:03 -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
0094ab9c88 [CP-SAT] polish all-diff expansion heuristics; add warning when scaling floating point objective with high activity 2023-01-23 13:19:54 +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
Laurent Perron
77b2703efa [CP-SAT] fix interleave_search; minor code improvements 2022-11-07 16:39:45 +01:00