96 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
Laurent Perron
e02b6a013c [CP-SAT] update code, mostly small bug fixes 2025-08-22 16:06:35 -07:00
Laurent Perron
a0e25debc5 [CP-SAT] extend support for enforcement literals in constraints 2025-07-26 21:29:40 +02:00
Laurent Perron
f2cf147e79 [CP-SAT] rewrite and speed up the python layer; extend support for enforcement literals to more constraints 2025-07-24 23:51:00 +02:00
Laurent Perron
61ddd9e109 [CP-SAT] support pb24 problem formats; speed ups 2d packing; bugfixes; cleanups 2025-04-02 19:07:51 +02:00
Laurent Perron
932f6866d9 [CP-SAT] polish new cumulative cuts code; more experimental code on routing cuts; cleaning, fixes 2025-02-07 22:24:22 +01:00
Corentin Le Molgat
c34026b101 Bump copyright to 2025
note: done using
```sh
git grep -l "2010-2024 Google" | xargs sed -i 's/2010-2024 Google/2010-2025 Google/'
```
2025-01-10 11:33:35 +01:00
Laurent Perron
05fccb4dfe [CP-SAT] more work on hints; no_overlap_2d optimization 2024-12-16 14:09:39 +01:00
Laurent Perron
d406eb156a [CP-SAT] speed up no_overlap_2d (presolve, propagation); tweak shared tree workers; improve hint preservation during presolve; remove memory contention 2024-12-13 13:10:35 +01:00
Laurent Perron
d8c3e49e5b [CP-SAT] more work on no_overlap_2d; revisit all includes 2024-12-04 17:47:10 +01:00
Laurent Perron
17e798fe07 [CP-SAT] improve no_overlap_2d propagator, add the try_edge no_overlap_2d in the more-scheduling mode; defensive programming on the table constraint 2024-11-07 18:17:35 -08:00
Corentin Le Molgat
e55f003faa sat: export form google3 2024-09-23 11:11:14 +02:00
Laurent Perron
66f808702a [CP-SAT] internal protocol improvements; bug fixes 2024-09-03 18:18:42 +02:00
Laurent Perron
819b9bc99e [CP-SAT] minor speedups 2024-07-10 17:41:32 +02: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
d0eb8dd3d8 cleanups 2023-10-16 15:36:24 +02:00
Laurent Perron
18b5b80010 [CP-SAT] speedup on constraint_violation; cleanup clause invariants; fix explanation of divition 2023-10-15 18:08:33 +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
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
7d0d173a0f [CP-SAT] optimize feasibility jump; optimize linear presolve; better presolve logging; fix #3917; rewrite and simplify search heuristics code 2023-09-13 18:16:28 +02:00
Laurent Perron
fa6883d544 mostly cleaning: remove integral_types.h and basictypes.h 2023-08-24 14:52:54 +02:00
Laurent Perron
823ce1188c [CP-SAT] better management of cuts; better overflow detection; do not run feasibility_jump if search is globally finished; fix #3842 2023-07-04 14:11:25 +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
7ff7fe8a56 [CP-SAT] revisit cut code; add new API to MaxBoundedSubsetSum 2023-06-06 13:14:57 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
beb54c2d98 [CP-SAT] improve code of last commits 2023-05-16 10:26:07 +02:00
Laurent Perron
f28ee9a594 fix shared worker trees; experimental LS code (just starting). 2023-03-22 19:37:00 +01:00
Laurent Perron
806fcd185e CP-SAT optimize LinMax propagator; linear constraint; adapt pybind11 to new protobuf API 2023-01-27 16:53:53 +01:00
Laurent Perron
b77a1a465c [CP-SAT] fix 3 bugs 2022-11-16 18:03:37 +01:00
Laurent Perron
1ca305fa1c [CP-SAT] improve processing of hints; fix bug with median_value heuristic; misc cleanup 2022-11-15 16:47:05 +01:00
Laurent Perron
75ef9c611a [CP-SAT] better fix for int_prod 2022-11-15 14:48:57 +01:00
Laurent Perron
56f10616a7 [CP-SAT] add more parameter validation; fix fuzzer bug on int_prod 2022-11-15 11:43:11 +01:00
Laurent Perron
779d5912c5 [CP-SAT] fix bug in lb_tree_search 2022-09-26 15:37:33 +02:00
Laurent Perron
9931205f7c [CP-SAT] prepare for reservoir with variable demand; internal tweakes 2022-09-09 16:48:39 +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
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
ba15d312ba [CP-SAT] improve cuts diversity; fix infinite loop in the ttef constraint; improve var domination; remove wrong DCHECK 2022-05-11 17:23:59 +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
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
79f2c45c33 [CP-SAT] Use AddExactly/AtMostOne in examples/samples; add int_square presolve; add multiplication constraint with target = left * right 2022-01-01 19:26:39 +01:00
Laurent Perron
2a7c41c64f [CP-SAT] improve int_prod presolve code; fix bug in square propagator 2021-12-06 16:43:35 +01:00
Laurent Perron
3c591609bf [CP-SAT] change primal integral to gap integral; change arguments of product, division, modulo to be affine expression instead of variables 2021-11-13 08:38:21 +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
9a5986631e [CP-SAT] improve modulo propagator 2021-10-28 15:44:12 +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
93c7e252eb [CP-SAT] Cleanup propagator API 2021-10-25 16:30:57 +02:00