14#ifndef OR_TOOLS_BOP_BOP_SOLUTION_H_
15#define OR_TOOLS_BOP_BOP_SOLUTION_H_
22#include "ortools/sat/boolean_problem.pb.h"
36 BopSolution(
const sat::LinearBooleanProblem& problem,
37 const std::string&
name);
40 recompute_cost_ =
true;
41 recompute_is_feasible_ =
true;
47 const std::string&
name()
const {
return name_; }
54 if (recompute_cost_) {
55 cost_ = ComputeCost();
73 if (recompute_is_feasible_) {
74 is_feasible_ = ComputeIsFeasible();
81 return values_.
begin();
97 bool ComputeIsFeasible()
const;
98 int64_t ComputeCost()
const;
100 const sat::LinearBooleanProblem* problem_;
107 mutable bool recompute_cost_;
108 mutable bool recompute_is_feasible_;
109 mutable int64_t cost_;
110 mutable bool is_feasible_;
ParentType::const_iterator const_iterator
void SetValue(VariableIndex var, bool value)
const std::string & name() const
absl::StrongVector< VariableIndex, bool >::const_iterator begin() const
bool operator<(const BopSolution &solution) const
BopSolution(const sat::LinearBooleanProblem &problem, const std::string &name)
double GetScaledCost() const
bool Value(VariableIndex var) const
absl::StrongVector< VariableIndex, bool >::const_iterator end() const
void set_name(const std::string &name)
double AddOffsetAndScaleObjectiveValue(const LinearBooleanProblem &problem, Coefficient v)
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...