81 Commits

Author SHA1 Message Date
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01: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
188cfcbde5 [CP-SAT] work on precedences; improve scheduling cuts 2025-05-27 14:34:42 +02:00
Laurent Perron
0a5e8db6af [CP-SAT] lots of bugfixes, improvement to primary variables heuristics; cleanup scheduling cuts code 2025-05-14 13:34:04 +02: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
88c61c005b [CP-SAT] more minor improvements 2025-01-30 12:45:32 +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
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
c0b9bb33ae [CP-SAT] more fixes 2024-11-17 14:19:21 +01:00
Laurent Perron
76f2f4c383 [CP-SAT] internal protocol improvements; bug fixes 2024-09-03 18:19:19 +02:00
Laurent Perron
99d869a4a1 [CP-SAT] more span; minor scheduling optims 2024-08-02 19:57:27 +02:00
Laurent Perron
08e9085d36 speedup 2024-07-22 17:36:22 +02:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
4cbd27dae9 sync with main 2024-05-30 10:52:42 +02:00
Laurent Perron
3a08e10bcf [CP-SAT] fix bug with negative sized intervals; improve cumulative variable profile 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
ce58010fb2 memory optimization; speed optimization; fix #4047 2024-01-12 16:31:18 +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
199af98e3f [CP-SAT] fix feasibility_jump bug 2023-11-02 18:06:20 +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
bcf402180b [CP-SAT] better logging of infeasible constraint during presolve; improved scheduling search 2023-10-27 13:47:04 +02:00
Laurent Perron
044bc5ebce speed up sat scheduling code 2023-10-25 17:05:22 +02: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
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
75c7eaa127 fix rare bug 2023-05-10 15:55:38 +02:00
Laurent Perron
500cc2c701 [CP-SAT] polish scheduling code; add experimental new linear propagator 2022-09-23 18:09:18 +02:00
Laurent Perron
fef06022bf fix 2022-09-22 11:18:52 +02:00
Laurent Perron
0faf9251d7 [CP-SAT] improve energetic scheduling cuts code 2022-09-21 18:08:23 +02:00
Laurent Perron
0b0f33b8ce [CP-SAT] add diophantine equation solver; improve CumulativeTimeTable cuts 2022-08-18 17:32:24 +02:00
Laurent Perron
2ab1bbbd08 cleanup flatzinc search hacks; small improvement to CP-SAT lb_tree_search 2022-06-17 12:58:36 +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
8af04faff5 [CP-SAT] introduce decomposed energy and use it in scheduling propagation and cuts; remove duplicate code in presolve; simplify the name of a few parameters; add SchedulingDemandHelper class; re-enable model status in search log 2022-06-16 07:45:19 +02:00
Laurent Perron
20b1c7eeab [CP-SAT] Speedup timetable, fix bug in base SAT engine, improve scheduling cuts 2022-04-20 17:38:59 +02:00
Laurent Perron
0f99350f64 [CP-SAT] improve scheduling code (propagator, cuts) 2022-04-13 17:29:48 +02:00
Laurent Perron
fa4f0fe482 fix #3168 2022-03-15 13:57:28 +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
Laurent Perron
a18d290bd7 [CP-SAT] fix more corner cases in checker and presolve 2021-09-01 11:53:03 +02:00
Laurent Perron
80987d328b [CP-SAT] rewrite element expand; improve lin_max linear relaxation; detect value element and add linear relaxation; plenty of bug fixes 2021-07-23 21:59:20 +02:00
Laurent Perron
c3986ae0be polish CP-SAT lifted scheduling code 2021-06-18 16:32:02 +02:00
Laurent Perron
1c41f16019 [CP-SAT] Improve presolve for diffn and no_overlap 2021-06-08 10:41:40 +02:00