 |
OR-Tools
8.1
|
Go to the documentation of this file.
14 #ifndef OR_TOOLS_BOP_BOP_BASE_H_
15 #define OR_TOOLS_BOP_BOP_BASE_H_
19 #include "absl/synchronization/mutex.h"
113 explicit ProblemState(
const sat::LinearBooleanProblem& problem);
125 assignment_preference_ =
a;
128 return assignment_preference_;
180 return fixed_values_[
var];
183 return fixed_values_;
199 return original_problem_;
211 return (
lower_bound() + original_problem_.objective().offset()) *
212 original_problem_.objective().scaling_factor();
223 const sat::LinearBooleanProblem& original_problem_;
224 BopParameters parameters_;
230 std::vector<bool> assignment_preference_;
283 #endif // OR_TOOLS_BOP_BOP_BASE_H_
const absl::StrongVector< VariableIndex, bool > & fixed_values() const
bool IsInfeasible() const
const BopSolution & solution() const
const std::string & name() const
int64 lower_bound() const
void set_assignment_preference(const std::vector< bool > &a)
int64 upper_bound() const
void SetParameters(const BopParameters ¶meters)
const glop::DenseRow & lp_values() const
BopOptimizerBase(const std::string &name)
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
static const int64 kint64min
void SynchronizationDone()
virtual ~BopOptimizerBase()
ProblemState(const sat::LinearBooleanProblem &problem)
A simple class to enforce both an elapsed time limit and a deterministic time limit in the same threa...
static std::string GetStatusString(Status status)
bool IsVariableFixed(VariableIndex var) const
std::vector< sat::Literal > fixed_literals
const absl::StrongVector< VariableIndex, bool > & is_fixed() const
virtual bool ShouldBeRun(const ProblemState &problem_state) const =0
SharedTimeLimit * time_limit
double GetScaledLowerBound() const
std::vector< sat::BinaryClause > binary_clauses
const std::vector< sat::BinaryClause > & NewlyAddedBinaryClauses() const
const sat::LinearBooleanProblem & original_problem() const
const std::vector< bool > assignment_preference() const
virtual Status Optimize(const BopParameters ¶meters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit)=0
std::ostream & operator<<(std::ostream &os, BopOptimizerBase::Status status)
const BopParameters & GetParameters() const
bool MergeLearnedInfo(const LearnedInfo &learned_info, BopOptimizerBase::Status optimization_status)
LearnedInfo(const sat::LinearBooleanProblem &problem)
LearnedInfo GetLearnedInfo() const
bool GetVariableFixedValue(VariableIndex var) const
static const int64 kInitialStampValue
int64 update_stamp() const