111 Commits

Author SHA1 Message Date
Laurent Perron
39b915c763 fix 2025-12-15 15:27:43 +01:00
Laurent Perron
4a2de332ce [CP-SAT] bug fixes, memory utilization reduction; more work on lrat 2025-12-09 19:09:37 +01:00
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01: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
Corentin Le Molgat
62dca6e486 backport vlog_is_on.h patch from main 2025-03-13 15:56:35 +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
Corentin Le Molgat
a66a6daac7 Bump Copyright to 2025 2025-01-10 11:35:44 +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
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
511bf047a7 backport cp-sat code from main 2024-05-30 10:51:53 +02:00
Laurent Perron
b2ea6266f6 [CP-SAT] code cleanup: remove optional integer variables 2024-01-23 14:15:38 +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
fd3c1084c1 [CP-SAT] remove base/cleanup; rewrite code that stores decision strategies to natively use affine expression 2023-12-07 19:17:57 +01: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
f1bbd650ab [CP-SAT] add automatic cast Literal -> LiteralIndex; implement general division where the denominator can have any domain that does not contain 0 2023-10-12 10:06:27 +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
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
6d8495f423 [CP-SAT] improve core based search with more core reduction 2023-07-27 08:49:46 -07:00
Laurent Perron
e1e91ce7ce rewrite core based search 2023-07-24 13:20:27 -07:00
Laurent Perron
4ade94b960 [CP-SAT] remove unused pure sat code; cleanup sat_runner 2023-07-24 07:09:47 -07:00
Laurent Perron
65eedeb038 [CP-SAT] revisit core based search; polish graph_arc_lns 2023-07-17 14:41:57 -07: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
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
e4c6bbb327 [CP-SAT] better expand_objective during presolve; improved implementation of obj_lb_search; refactor search code 2022-12-15 10:37:30 +01:00
Laurent Perron
c08b48d25b [CP-SAT] improve oveflow detection in cuts; fix fingerprint; add objective_lb_search 2022-12-12 17:19:20 +01:00
Laurent Perron
70abbdf825 [CP-SAT] IsModelUnsat -> ModelIsUnsat; fix bug with variables with holes in domain; fix cumulative energetic cut with makespan 2022-09-21 13:35:11 +02:00
Laurent Perron
5b44519e94 [CP-SAT] various bugfixes from fuzzer 2022-08-29 17:47:30 +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
3ed32f3dd3 [CP-SAT] Add new scheduling lns; improve cover cuts; improve the propagation of the timetable constraint; speed-up domination detection (abort early if possible); remove deprecated knapsack cut code 2022-05-09 14:44:50 +02:00
Laurent Perron
13dbe6a387 [CP-SAT] fix crash in core search and in presolve; add more needed stl includes 2022-03-14 15:06:11 +01:00
Laurent Perron
c82cfdc9ad remove map_util from most of the code; absl::make_unique and absl::optional -> stl version 2022-03-09 09:08:40 +01:00
Laurent Perron
19667205a2 std::set/map -> absl::btree_set/map 2022-02-25 09:47:39 +01:00
Laurent Perron
57a84edf47 backtrack last PR 2022-02-24 17:58:22 +01:00
Laurent Perron
f1191a0e8f maintenance on the CP-SAT core 2022-02-24 17:41:17 +01:00
Laurent Perron
5e41f40c2f remove range-loop warnings from the sat code 2022-02-24 14:17:43 +01:00
Laurent Perron
6d7ea81ae7 few bugfixes in CP-SAT 2022-02-23 17:10:23 +01:00
Laurent Perron
951e8bbc1e bump pdlp; add log to linear_solver proto; fix bug in CP-SAT 2022-02-21 17:26:34 +01:00
Laurent Perron
3e271e778e [CP-SAT] fix cores 2022-02-17 17:12:15 +01:00
Laurent Perron
29662f2006 [CP-SAT] Improve assumptions algorithm; tweak lb_tree_search 2022-02-17 16:20:21 +01:00
Laurent Perron
f38a0418d1 [CP-SAT] polish code 2022-02-16 14:57:41 +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
9d97d2f73c misc rename 2022-02-14 16:42:38 +01:00
Laurent Perron
d78ce574fc [CP-SAT] inactive max_hs code; use better core code when the objective is pseudo-boolean 2022-02-14 13:31:52 +01:00
Laurent Perron
0274d021cc [CP-SAT] reduce amount of logging 2022-02-11 13:40:22 +01:00
Laurent Perron
89ea9e4eeb [CP-SAT] improve presolve on combinations of linear constraints; stricter validation of models coming from MPSolver; remove some contentions on the mutex regulating workers new info shared centrally; remove wrongs DCHECKs in the expansion phase; rewrite multithreading and workers control; allows specifying which workers to run in the portfolio; periodically import shared info in lb_tree_search 2022-02-09 10:52:29 +01:00
Laurent Perron
321d02c17c more strong integer types; use them in CP-SAT; polish shaving code; remove 1 overflow in cuts 2022-02-07 14:31:18 +01:00
Laurent Perron
068a71104a [CP-SAT] fix cumulative presolve; use strong_index 2022-02-04 14:20:08 +01:00