Commit Graph

347 Commits

Author SHA1 Message Date
Laurent Perron
f42d60d411 [CP-SAT] fix bug in cuts; add more python tests 2025-01-29 13:24:43 +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
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
ef9e9547bc [CP-SAT] fix more fuzzer bugs; polish python code 2025-01-06 21:53:02 +01:00
Laurent Perron
5a36420133 [CP-SAT] renaming 2025-01-06 13:34:32 +01:00
Laurent Perron
0bee4930f1 internal renaming 2025-01-03 10:57:40 +01:00
Laurent Perron
bba6615f7d [CP-SAT] fix API + tests 2025-01-01 15:32:14 +01:00
Laurent Perron
6afa4b4248 [CP-SAT] remove multiple inheritance in the python layer as this slows downs the code a lot; improve test coverage 2024-12-30 15:43:00 +01:00
Laurent Perron
57048af0fd [CP-SAT] polish python layer 2024-12-30 11:41:49 +01:00
Laurent Perron
ea2e1b63af [CP-SAT] polish python linear expr code 2024-12-29 23:34:09 +01:00
Laurent Perron
2b223565f4 [CP-SAT] more work on python layer 2024-12-29 22:49:23 +01:00
Laurent Perron
39248b01c2 [CP-SAT] fix python layer 2024-12-29 21:47:19 +01:00
Laurent Perron
a698db2194 [CP-SAT] more work on python linear expressions 2024-12-29 19:22:47 +01:00
Laurent Perron
eea1e3d50a [CP-SAT] fix memory management of the python layer; properly fails with None arguments 2024-12-29 10:40:09 +01:00
Laurent Perron
3eca4e76d7 [CP-SAT] fix 2024-12-29 08:20:31 +01:00
Laurent Perron
11c14cde60 [CP-SAT] revamp python implementation: introduce proper FloatLinearExpr class, move most of the expressions classes to C++ 2024-12-28 11:24:13 +01:00
Corentin Le Molgat
5252c00007 cmake cleanup 2024-12-16 15:45:02 +01:00
Corentin Le Molgat
d5c3764d77 cmake: Fix macOS 15 python build 2024-12-16 15:45:02 +01:00
Laurent Perron
df97cd5776 [CP-SAT] reorganize code 2024-11-29 14:30:29 +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
6c92b6b096 [CP-SAT] more python type checking 2024-11-20 15:01:33 +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
18df536d12 cherry-pick from the main branch 2024-10-24 11:42:11 +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
544e09c449 [CP-SAT] add more type annotations 2024-10-07 16:27:31 +02:00
Laurent Perron
bb06fafe00 support hinting literals in CP-SAT Python 2024-10-07 15:54:23 +02:00
Corentin Le Molgat
ef8716241a backport from main 2024-10-01 12:48:20 +02:00
Laurent Perron
701cc87e1e backport from main: sat, graph, lp_data, glop 2024-09-13 13:29:25 -07:00
Laurent Perron
a0f0920343 [CP-SAT] remove useless python type checks 2024-09-06 11:22:07 +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
d0ed31d92e specify the modulo convention in python CP-SAT 2024-07-23 19:37:02 +02:00
Laurent Perron
f2b0044188 small cleanups 2024-07-22 11:33:50 +02:00
Laurent Perron
bcf7a00a27 [CP-SAT] add test; change default parameters; fix crash on shared workers 2024-07-19 16:29:33 +02:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
0670c8ab7b fix python typing 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
fa2473affe [CP-SAT] improve presolve for affine_max, improve work sharing; improved linear code 2024-05-30 10:52:44 +02:00
Laurent Perron
4cbd27dae9 sync with main 2024-05-30 10:52:42 +02:00
Laurent Perron
382ab5d35b [CP-SAT] do not add the linear part of an interval in the model, create it when copying the model for presolve; improve work sharing in shared_tree_mode 2024-05-30 10:51:55 +02:00
Laurent Perron
5828741c75 [CP-SAT] improve no_overlap_2d propagation; improve linear propagator + precedences + disjunctive connection; change the way maximization is implemented in python 2024-05-30 10:51:55 +02:00
Laurent Perron
6e8189608a [CP-SAT] polish typing 2024-05-30 10:51:54 +02:00
Laurent Perron
f92d236fbf [CP-SAT] experimental lin_max expand; improve python typing 2024-05-30 10:51:54 +02:00
Laurent Perron
07fa7ddc9e [CP-SAT] update python typing for mypy 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
eb4e996cf3 [CP-SAT] improve python doc 2024-02-20 20:18:10 +01:00