43 Commits

Author SHA1 Message Date
Laurent Perron
7adffccc0d [CP-SAT] more work on encodings, lrat 2025-11-21 11:21:34 +01:00
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01:00
Laurent Perron
188cfcbde5 [CP-SAT] work on precedences; improve scheduling cuts 2025-05-27 14:34:42 +02:00
Laurent Perron
054289ae7f [CP-SAT] regroup hint code; fix more fuzzer bugs 2025-01-21 15:34:42 +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
198a4d3f12 [CP-SAT] fir rare bug in dependency graph and implications; speed up no_overlap_2d and cumulative relaxation 2024-12-16 14:20:09 +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
ee241f30b5 [CP-SAT] supports affine expression in automaton 2024-10-25 13:15:40 +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
Laurent Perron
43e980229c [CP-SAT] one more presolve on int_prod 2024-10-07 16:27:43 +02:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +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
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
41bdec18d5 [CP-SAT] more presolve around int_abs 2023-11-09 13:46:44 +01:00
Laurent Perron
35684c95f4 [CP-SAT] improve presolve on lin_max and int_mod 2023-11-08 16:33:17 +01: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
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
dbaef62eb5 [CP-SAT] improvements to feasibility_jump, better presolve on lin_max; tuning 2023-04-21 12:48:03 +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
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
c80b2c1154 [CP-SAT] add utilities to inspect the objective scaling, and get better back-scaling of the internal objective; fix a few corner bugs in presolve/postsolve/checker 2021-11-28 13:04:58 +01:00
Laurent Perron
f320168508 [CP-SAT] bugfixes; fix #2908 2021-11-23 14:58:14 +01:00
Laurent Perron
49735b89ca [CP-SAT] detect more cases of linearized product; big cleanup of cp_model.proto 2021-10-23 19:18:19 +02:00
Laurent Perron
7cd3ff1700 [CP-SAT] better detection of encodings; use LinMax for AddAbsEquality 2021-10-05 17:11:30 +02:00
Laurent Perron
4a8c993703 [CP-SAT] better detection of encoding and element constraint; improve linearization for them; start rewriting postsolve code; misc presolve improvements; remove bounds from CpSolverResponse; support storing multiple solutions in CpSolverResponse 2021-10-01 13:44:11 +02:00
Laurent Perron
a188a66a9b [CP-SAT] fix presolve and postsolve corner cases 2021-09-22 14:57:59 +02:00
Laurent Perron
8f5bfbc252 [CP-SAT] Fix performance bug on product/square cuts; polish new interval code 2021-09-10 15:11:11 +02:00
Laurent Perron
e90f384c62 [CP-SAT] more checkers, more presolve, better expand of element, detect overflows in more cuts 2021-09-07 11:17:17 +02:00
Laurent Perron
a18d290bd7 [CP-SAT] fix more corner cases in checker and presolve 2021-09-01 11:53:03 +02:00
Laurent Perron
2cc3a4ef05 [CP-SAT] remove integer variables when only the value encoding is used; remove enforcement literals only used in encoding (value, or bigger sub domains) 2021-06-22 17:52:13 +02:00
Mizux Seiha
8bb54b04ef Bump Copyright to 2021
FYI:
find ortools \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i 's/\(Copyright 2010\)-2018/\1-2021/g'
2021-04-01 21:00:53 +02:00
Laurent Perron
bad5c2032b int64 -> int64_t 2021-03-04 18:26:01 +01:00
Laurent Perron
247de5ae2a some more dual presolve on exactly_one, at_most one in CP-SAT; minor cleaning 2021-02-19 10:58:09 +01:00
Laurent Perron
0ebe02b199 enable symmetry detection by default 2021-02-15 10:13:35 +01:00
Laurent Perron
c80eec373b [CP-SAT] Change semantics/API of the reservoir constraint; added presolve on the reservoir constraint; experimental propagator for the reservoir constraint; fix #2293 2020-12-24 06:41:44 +01:00
Laurent Perron
3f177174a8 [CP-SAT] rewrite random management; experimental support for affine expressions in the interval definition; cache precedence literals and constraints across reservoir constraints; fix presolve for the element constraint 2020-12-18 10:16:56 +01:00
Laurent Perron
6467dc69b0 reformat the code; [CP-SAT] add dominated columns presolve 2020-10-28 13:42:51 +01:00
Mizux Seiha
20d0496bfb reapply google format 2020-10-23 00:45:17 +02:00
Laurent Perron
a4258f2bdf switch flags setters and getters to the absl format 2020-10-21 00:21:54 +02:00
Laurent Perron
e28a499b0f [CP-SAT] improve feasibility pump; improve scaling of linear model; internal improvements 2020-07-05 00:29:47 +02:00
Laurent Perron
581d5606e0 fix #2005; massive rewrite of pure sat processing; RINS/RENS improvements in CP-SAT; get rid of base/status.h in favor of the absl version 2020-05-06 18:22:10 +02:00