52 Commits

Author SHA1 Message Date
Laurent Perron
6a603cc183 [CP-SAT] fix rare crash 2026-01-08 13:09:17 +01:00
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01: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
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
dba2281f13 [CP-SAT] more work on no_overlap_2d; revisit all includes 2024-12-04 17:47:28 +01:00
Laurent Perron
c930dd656e [CP-SAT] check the time limit more frequently; experimental support for lp folding; more pedantic tests in presolve 2024-10-16 14:13:02 +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
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
a7b26f6d8d [CP-SAT] new example; regroup some linear code 2023-09-23 10:16:08 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
641a90e72f [CP-SAT] optimizations 2023-02-06 16:27:12 +01: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
1deadc71d7 [CP-SAT] Improve scheduling lns; use linearized energy in cumulative_energy; more presolve with linear + at_most/exactly one constraints; validate a few more parameters 2022-05-31 15:40:47 +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
d99e3c679c fix #3253 2022-04-25 15:35:31 +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
3bb0aa6b32 [CP-SAT] misc work, improve no_overlap_2d propagation and cuts 2022-01-19 19:38:20 +01:00
Corentin Le Molgat
db143cadc1 Sat: sync code 2022-01-03 09:49:48 +01:00
Laurent Perron
457cc1432e [CP-SAT] add lifted energetic cuts for no_overlap_2d; remove implicit ctor BoolVar -> IntVar; better presolve for LinMax; improve reservoir doc 2021-12-17 10:28:26 +01:00
Laurent Perron
99a06cf328 [CP-SAT] remove division expansion; implement general division propagator; improve internal APIs; fix bug and simplify code on lb_tree_search 2021-10-27 13:22:27 +02:00
Laurent Perron
93c7e252eb [CP-SAT] Cleanup propagator API 2021-10-25 16:30:57 +02:00
Laurent Perron
1eec259105 [CP-SAT] Cleanup intervals (remove start/size/end fields, remove _view from the other ones); change demands and capacity of the cumulative constraint to affine expressions; remove the experimental energies field from the cumulative constraint; first pass at detecting linear encoding of product of variab;es. This happens when both variables are encoded by the same literals, in an exactly_one relation; speed up the lb_tree_search worker 2021-10-20 19:50:09 +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
cb9565edd7 improve clause cleaning; polish max affine cut code 2021-08-12 15:25:35 +02:00
Laurent Perron
9be2c1aaa9 [CP-SAT] fix bug in presolve; add specialized relaxation and cuts for max affine constraint 2021-07-29 22:01:55 +02:00
Laurent Perron
5879441a97 [CP-SAT] add quadratic term to the linear constraint builder 2021-07-01 17:44:12 +02:00
Laurent Perron
7485b31723 [CP-SAT] fix cuts; simplify LinearConstraintBuilder::AddLinearExpression signature 2021-06-30 16:26:59 +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
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
d5c7c48e79 int_type_indexed_vector -> strong_vector; polish cp-sat probing workers 2020-11-19 00:17:26 +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
484aafb903 A few fixes on CP-SAT; work on scheduling LP cuts 2020-10-01 18:08:34 +02:00
Laurent Perron
e1c1828b62 fix sat presolve with complex encoding interactions; speed-up scheduling code 2020-02-24 17:10:20 +01:00
Laurent Perron
456a73d213 improve cut numerical precision; speed up presolve; fix bug with inverse constraint expansion 2020-02-03 16:21:57 +01:00
Laurent Perron
f9f2d7b5b4 [CP-SAT] improve presolve; improve linear subsystem 2019-12-16 12:34:56 +01:00
Laurent Perron
aed6d43247 improve sat cut management; enable MIR1 cut by defaults; fix MIR1 cuts w.r.t. sign and overflow 2019-11-18 10:06:11 -08:00
Laurent Perron
03278709e8 fix #1692 2019-11-07 17:19:39 +01:00
Laurent Perron
5fb3bd0455 improve sat expansion; cuts management 2019-09-18 17:31:11 +02:00
Laurent Perron
f32e012aed works on CP-SAT and cuts 2019-07-18 11:36:47 -07:00
Laurent Perron
9e0f52f562 improve cp-sat internals 2019-03-12 17:41:26 +01:00
Laurent Perron
58ee3bde43 [CP-SAT] polish diffn code; improve presolve w.r.t. intervals; simplify use of GCD in linear constraints; polish samples 2019-02-27 14:26:44 +01:00
Laurent Perron
a61a6b9d56 work on cut managemenet, enable mir1 cuts by default 2019-01-23 13:22:41 -08:00