76 Commits

Author SHA1 Message Date
Laurent Perron
c8d7710fd7 [CP-SAT] more work on lrat, regroup linear1 presolve methods 2026-01-07 15:57:21 +01:00
Guillaume Chatelet
b28edf1d04 Fix warning 'control reaches end of non-void function' (#4964) 2026-01-07 15:56:33 +01:00
Laurent Perron
72d75ca109 [CP-SAT] work on lrat; better expansion of variables only appearing in encoding constraints 2025-11-18 16:24:18 +01:00
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01:00
Laurent Perron
0cbdbb78f1 [CP-SAT] little cleanups 2025-09-29 16:35:28 +02:00
Laurent Perron
5d85f840b5 [CP-SAT] fix #4839; experimental code for lrat checker; experimental code to control the boolean expansion of small linear2 equations 2025-09-29 16:35:16 +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
Laurent Perron
650f095bda [CP-SAT] more work on routing cuts; graph based LNS start from the objective; better enforcement of time limits 2025-03-21 06:57:07 -07: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
df2811878a [CP-SAT] fix bug with reservoir expansion; improve hint processing; improve work sharing 2024-11-25 14:50:09 +01:00
Laurent Perron
ee241f30b5 [CP-SAT] supports affine expression in automaton 2024-10-25 13:15:40 +02: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
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
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
fa2473affe [CP-SAT] improve presolve for affine_max, improve work sharing; improved linear code 2024-05-30 10:52:44 +02:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
990fc9eb4a [CP-SAT] simplify clauses periodically (off by default); remove pure sat code path 2023-11-22 14:48:08 +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
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
249b3286cd [CP-SAT] improve super-additive function for cuts; fix bug in int_prod presolve 2023-06-07 17:11:45 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
8348ec8f94 [CP-SAT] Switch cut code to int128; more work on feasibility_jump and violation_ls 2023-05-03 09:33:50 +02:00
Laurent Perron
e506fce590 [CP-SAT] merge proto dumping code; small scheduling presolve rules 2023-03-08 15:50:12 +01:00
Laurent Perron
7cae89a7ba protect code againt PORTABLE 2023-01-05 17:45:46 +01:00
Laurent Perron
cf53ee3c9f reformat bazel java code; CP-SAT: fix corner case in presolve, zero very small coefficients in translate from math model, more parameter validation 2023-01-05 13:38:42 +01:00
Laurent Perron
fc243a32b7 Add CpModelBuilder::ExportToFile 2022-12-28 07:24:59 +01:00
Laurent Perron
c08b48d25b [CP-SAT] improve oveflow detection in cuts; fix fingerprint; add objective_lb_search 2022-12-12 17:19:20 +01:00
Laurent Perron
412f3d7d9c add model and solution fingerprinting to CP-SAT; cleanup old hash code; incorporate fast_hash in the codebase 2022-11-04 09:34:37 +01:00
Laurent Perron
8948fcc24b [CP-SAT] cleaning 2022-10-17 17:11:59 +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
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
329b8b2326 fix #3108 2022-02-02 13:48:49 +01:00
Laurent Perron
cfeb2e49d7 [CP-SAT] Reservoir constraint uses affine expression for the time part; rename fields in the reservoir constraint 2021-11-25 14:53:05 +01:00
Laurent Perron
50e38f1750 [CP-SAT] accept affine expressions as argument of AllDiff 2021-11-23 21:38:20 +01:00
Laurent Perron
b42582de27 [CP-SAT] better use of symmetries; better presolve of products; add affine API in the python API; fix linearization of products 2021-11-16 23:55:30 +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
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
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
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
8f43182fed more model validation 2021-08-26 09:52:45 +02:00
Laurent Perron
1c2519dff5 add experimental energy info on the cumulative constraints; use it in cuts 2021-06-29 17:16:44 +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
4a755da303 [CP-SAT] add exactly_one constraint in cp_model.proto 2021-01-15 11:00:00 +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
24b14382b0 a few bugfixes 2020-11-30 18:58:49 +01:00
Laurent Perron
6467dc69b0 reformat the code; [CP-SAT] add dominated columns presolve 2020-10-28 13:42:51 +01:00