40 Commits

Author SHA1 Message Date
Laurent Perron
56613156ce [CP-SAT] work on lrat; work in inprocessing; fix bug with reduced variables domains and hints 2025-12-01 17:44:18 +01:00
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01: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
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
55ff5cf534 [CP-SAT] change element and table protos, API to support affine expressions 2024-10-23 05:59:17 +02:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
4fa0d282ac [CP-SAT] fix overflow in search heuristic evaluation; improve pseudo-cost implementation; use it in lb_tree_search; propagate hints when creating encoding literals 2024-05-30 10:52:46 +02:00
Laurent Perron
511bf047a7 backport cp-sat code from main 2024-05-30 10:51:53 +02:00
Laurent Perron
9339193629 [CP-SAT] fixes and speed improvements 2024-02-15 08:46:38 +01: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
185b77cea0 [CP-SAT] limit effort in feasibility_jump; new experimental scheduling search on cumulative 2023-10-29 15:31:06 +01: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
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
f28ee9a594 fix shared worker trees; experimental LS code (just starting). 2023-03-22 19:37:00 +01:00
Laurent Perron
03479db5f2 [CP-SAT] fix bugs 2023-03-15 17:15:54 +01:00
Laurent Perron
775dda655d [CP-SAT] more presolve on linear 2022-10-19 13:51:03 +02:00
Laurent Perron
779d5912c5 [CP-SAT] fix bug in lb_tree_search 2022-09-26 15:37:33 +02:00
Laurent Perron
44df511ac5 [CP-SAT] bugfixes, better processing of overflows in cuts; add a few more dual reductions 2022-07-04 12:28:55 +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
236da8e968 fix display of lb_tree_search 2022-03-29 18:00:01 +02:00
Laurent Perron
711b2a0d1a simpler code/comments for lb_tree_search restarts 2022-02-17 17:12:45 +01:00
Laurent Perron
29662f2006 [CP-SAT] Improve assumptions algorithm; tweak lb_tree_search 2022-02-17 16:20:21 +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
fca9e871d3 simplify previous code 2022-02-11 15:02:47 +01:00
Laurent Perron
aba1f15139 polish 2022-02-09 14:07:25 +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
3b745ab2c1 [CP-SAT] tweak to lb_tree_search 2021-11-04 18:58:34 +01:00
Laurent Perron
34b26eb5b0 [CP-SAT] reorganize linear code; tweak lb_tree_search code 2021-10-29 14:02:25 +02:00
Laurent Perron
bab11deddf [CP-SAT] implement proper modulo propagator (with fixed mod) 2021-10-27 20:56:28 +02: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
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
dd85ab7a03 [CP-SAT] reorganize loader/linear_relaxation/cut code; improve SchedulingConstraintHelper; fix/speedup diffn propagation and cuts 2021-06-04 08:35:20 +02:00
Laurent Perron
00ad4a5bee [CP-SAT] implement lb_tree search; speedup diffn (presolve, propagation); implement median search; remove unused affine relation during presolve; add sub-solver search statistics 2021-05-25 23:05:12 +02:00