[CP-SAT] speed up no_overlap_2d (presolve, propagation); tweak shared tree workers; improve hint preservation during presolve; remove memory contention

This commit is contained in:
Laurent Perron
2024-12-13 13:10:35 +01:00
parent 4f79b650fa
commit d406eb156a
26 changed files with 902 additions and 533 deletions

View File

@@ -641,9 +641,9 @@ void MinPropagator::RegisterWith(GenericLiteralWatcher* watcher) {
watcher->WatchUpperBound(min_var_, id);
}
LinMinPropagator::LinMinPropagator(const std::vector<LinearExpression>& exprs,
LinMinPropagator::LinMinPropagator(std::vector<LinearExpression> exprs,
IntegerVariable min_var, Model* model)
: exprs_(exprs),
: exprs_(std::move(exprs)),
min_var_(min_var),
model_(model),
integer_trail_(model_->GetOrCreate<IntegerTrail>()) {}