14 #ifndef OR_TOOLS_BOP_BOP_SOLUTION_H_
15 #define OR_TOOLS_BOP_BOP_SOLUTION_H_
34 BopSolution(
const sat::LinearBooleanProblem& problem,
35 const std::string&
name);
38 recompute_cost_ =
true;
39 recompute_is_feasible_ =
true;
45 const std::string&
name()
const {
return name_; }
52 if (recompute_cost_) {
53 cost_ = ComputeCost();
71 if (recompute_is_feasible_) {
72 is_feasible_ = ComputeIsFeasible();
79 return values_.
begin();
95 bool ComputeIsFeasible()
const;
96 int64 ComputeCost()
const;
98 const sat::LinearBooleanProblem* problem_;
105 mutable bool recompute_cost_;
106 mutable bool recompute_is_feasible_;
108 mutable bool is_feasible_;
ParentType::const_iterator const_iterator
absl::StrongVector< VariableIndex, bool >::const_iterator end() const
void SetValue(VariableIndex var, bool value)
bool operator<(const BopSolution &solution) const
BopSolution(const sat::LinearBooleanProblem &problem, const std::string &name)
double GetScaledCost() const
bool Value(VariableIndex var) const
void set_name(const std::string &name)
const std::string & name() const
absl::StrongVector< VariableIndex, bool >::const_iterator begin() const
double AddOffsetAndScaleObjectiveValue(const LinearBooleanProblem &problem, Coefficient v)
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...