Commit Graph

65 Commits

Author SHA1 Message Date
Laurent Perron
a841258da7 [CP-SAT] misc improvements to the internals; more work on general constraints with enforcements 2025-09-17 07:47:03 +02: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
Corentin Le Molgat
0db80a34f6 sat: backport from main 2025-08-06 10:54:53 +02:00
Corentin Le Molgat
4151254eba sat: backport from main 2025-07-23 15:04:05 +02:00
Laurent Perron
8b4a24a0a3 [CP-SAT] polish new cumulative cuts code; more experimental code on routing cuts; cleaning, fixes 2025-02-07 22:34:38 +01:00
Laurent Perron
f9b6212649 [CP-SAT] experimental routing cuts; new cumulative cuts; improve no_overlap_2d code all around 2025-02-05 18:12:33 +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
503b038dfc [CP-SAT] optimize binary implication graph; rewrite some no_overlap_2d constraints; lot of spans 2024-11-28 15:52:59 +01:00
Laurent Perron
b899e25cec [CP-SAT] fix a few fuzzer bugs; preserve a bit more hints during presolve; change max_clique heuristics used in presolve 2024-11-15 07:30:45 +01:00
Laurent Perron
663a591a32 [CP-SAT] move code around; add more tests 2024-10-23 15:47:31 +02:00
Laurent Perron
701cc87e1e backport from main: sat, graph, lp_data, glop 2024-09-13 13:29:25 -07:00
Laurent Perron
76f2f4c383 [CP-SAT] internal protocol improvements; bug fixes 2024-09-03 18:19:19 +02:00
Laurent Perron
a166810d9a [CP-SAT] add rlt cuts; improve no_overlap_2d propagation 2024-02-28 17:20:23 +01:00
Laurent Perron
303eb48e38 [CP-SAT] more usage of absl::Span 2024-02-15 14:30:17 +01:00
Laurent Perron
5ad4300122 [CP-SAT] add parameter to specify how to process large bounds when solver a MIP problem 2024-01-22 16:46:54 +01:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
ae8bb2dd23 [CP-SAT] rewrite the after solver LP log 2023-10-19 21:58:05 +02:00
Laurent Perron
e1e91ce7ce rewrite core based search 2023-07-24 13:20:27 -07:00
Laurent Perron
fd4a1738c5 [CP-SAT] improve cores when at_most_one are present, cleanup internal lns helpers 2023-07-20 08:53:39 -07:00
Laurent Perron
c50650e636 [CP-SAT] more work on logging; remove unused LNS 2023-06-27 14:22:11 +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
ebb88d9c50 [CP-SAT] fix corner cases in presolve; rewrite part of the cut management; automatic fixes 2023-05-30 23:25:31 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
4ca1add04e sync after export tool change 2023-01-20 14:20:41 +01:00
Laurent Perron
af308f7610 [CP-SAT] tweak linear2 presolve with 1 Boolean var; speedup presolve 2022-12-07 13:23:31 +01:00
watchdogs132
674114e0ec fixed comment 2022-11-23 17:10:16 +01:00
Laurent Perron
256e717b90 [CP-SAT] reorganize synchronization code; improve linear cuts strenthening 2022-10-25 20:31:33 +02:00
Laurent Perron
775dda655d [CP-SAT] more presolve on linear 2022-10-19 13:51:03 +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
29a9e59653 [CP-SAT] more dual reductions 2022-07-28 00:22:33 +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
22a27c6541 [CP-SAT] improve IncrementalProfile implementation 2022-06-02 16:30:25 +02:00
Laurent Perron
9f7cd3f3b0 [CP-SAT] improve IncrementalProfile implementation 2022-06-02 09:49:16 +02:00
Laurent Perron
4a6c28680b [CP-SAT] speed up scheduling lns code 2022-06-01 23:08:33 +02:00
Laurent Perron
f3b935a371 [CP-SAT] better encoding/compression of the table constraint; better scheduling LNS (follow laborie/nuijten/godard 2005 article; stronger presolve on linear when some variables belong to a at_most_one/exactly_one; improve cut management routine 2022-05-24 07:52:06 +02:00
Laurent Perron
0f99350f64 [CP-SAT] improve scheduling code (propagator, cuts) 2022-04-13 17:29:48 +02: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
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
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
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
18d001912d remove ortools/base/random.h|cc; adapt code everywhere; increase robustness of glop preprocessor 2021-12-06 14:03:19 +01:00
Laurent Perron
e6290ec99a [CP-SAT] better presolve of inverse constraints in case of duplicated variables; move logic to expand all_different constraint from load time to expand time; better presolve/expand of [literal =>] ax + by ==/!= c 2021-10-11 17:06:55 +02:00
Laurent Perron
7cd3ff1700 [CP-SAT] better detection of encodings; use LinMax for AddAbsEquality 2021-10-05 17:11:30 +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