14 #ifndef OR_TOOLS_BOP_BOP_BASE_H_ 15 #define OR_TOOLS_BOP_BOP_BASE_H_ 21 #include "absl/synchronization/mutex.h" 128 assignment_preference_ =
a;
131 return assignment_preference_;
183 return fixed_values_[
var];
186 return fixed_values_;
202 return original_problem_;
228 int64_t update_stamp_;
233 std::vector<bool> assignment_preference_;
235 int64_t lower_bound_;
236 int64_t upper_bound_;
286 #endif // OR_TOOLS_BOP_BOP_BASE_H_ A simple class to enforce both an elapsed time limit and a deterministic time limit in the same threa...
double GetScaledLowerBound() const
std::vector< sat::BinaryClause > binary_clauses
const sat::LinearBooleanProblem & original_problem() const
bool IsInfeasible() const
ModelSharedTimeLimit * time_limit
const absl::StrongVector< VariableIndex, bool > & fixed_values() const
const absl::StrongVector< VariableIndex, bool > & is_fixed() const
int64_t lower_bound() const
const ::operations_research::sat::LinearObjective & objective() const
virtual bool ShouldBeRun(const ProblemState &problem_state) const =0
bool MergeLearnedInfo(const LearnedInfo &learned_info, BopOptimizerBase::Status optimization_status)
static std::string GetStatusString(Status status)
bool IsVariableFixed(VariableIndex var) const
int64_t update_stamp() const
static const int64_t kInitialStampValue
const BopParameters & GetParameters() const
void SynchronizationDone()
const BopSolution & solution() const
const std::vector< bool > assignment_preference() const
const std::vector< sat::BinaryClause > & NewlyAddedBinaryClauses() const
int64_t upper_bound() const
virtual ~BopOptimizerBase()
bool GetVariableFixedValue(VariableIndex var) const
const std::string & name() const
LearnedInfo(const sat::LinearBooleanProblem &problem)
std::vector< sat::Literal > fixed_literals
LearnedInfo GetLearnedInfo() const
BopOptimizerBase(const std::string &name)
double scaling_factor() const
Collection of objects used to extend the Constraint Solver library.
void set_assignment_preference(const std::vector< bool > &a)
std::ostream & operator<<(std::ostream &os, BopOptimizerBase::Status status)
const glop::DenseRow & lp_values() const
void SetParameters(const BopParameters ¶meters)
virtual Status Optimize(const BopParameters ¶meters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit)=0
ProblemState(const sat::LinearBooleanProblem &problem)