14#ifndef OR_TOOLS_SAT_IMPLIED_BOUNDS_H_
15#define OR_TOOLS_SAT_IMPLIED_BOUNDS_H_
20#include "absl/container/flat_hash_map.h"
80 : parameters_(*
model->GetOrCreate<SatParameters>()),
125 const SatParameters& parameters_;
131 std::vector<IntegerLiteral> tmp_integer_literals_;
139 absl::flat_hash_map<std::pair<LiteralIndex, IntegerVariable>, IntegerValue>
147 std::vector<ImpliedBoundEntry> empty_implied_bounds_;
160 int64 num_deductions_ = 0;
161 int64 num_enqueued_in_var_to_bounds_ = 0;
const std::vector< IntegerType > & PositionsSetAtLeastOnce() const
ImpliedBounds(Model *model)
bool EnqueueNewDeductions()
const std::vector< ImpliedBoundEntry > & GetImpliedBounds(IntegerVariable var)
void NotifyNewIntegerView(Literal literal)
void Add(Literal literal, IntegerLiteral integer_literal)
const std::vector< IntegerVariable > & VariablesWithImpliedBounds() const
void ProcessIntegerTrail(Literal first_decision)
Class that owns everything related to a particular optimization model.
const IntegerVariable kNoIntegerVariable(-1)
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
ImpliedBoundEntry(IntegerVariable lit, IntegerValue lb, bool positive)
IntegerVariable literal_view