 |
OR-Tools
8.0
|
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_
static const int64 kInitialStampValue
const glop::DenseRow & lp_values() const
const BopSolution & solution() const
const gtl::ITIVector< VariableIndex, bool > & is_fixed() const
int64 lower_bound() const
const gtl::ITIVector< VariableIndex, bool > & fixed_values() const
LearnedInfo(const sat::LinearBooleanProblem &problem)
bool IsVariableFixed(VariableIndex var) const
void SynchronizationDone()
double GetScaledLowerBound() const
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
static const int64 kint64min
const sat::LinearBooleanProblem & original_problem() const
bool IsInfeasible() const
static std::string GetStatusString(Status status)
void SetParameters(const BopParameters ¶meters)
ProblemState(const sat::LinearBooleanProblem &problem)
std::vector< sat::BinaryClause > binary_clauses
SharedTimeLimit * time_limit
const std::vector< bool > assignment_preference() const
A simple class to enforce both an elapsed time limit and a deterministic time limit in the same threa...
const BopParameters & GetParameters() const
bool MergeLearnedInfo(const LearnedInfo &learned_info, BopOptimizerBase::Status optimization_status)
void set_assignment_preference(const std::vector< bool > &a)
std::ostream & operator<<(std::ostream &os, BopOptimizerBase::Status status)
BopOptimizerBase(const std::string &name)
const std::string & name() const
int64 update_stamp() const
const std::vector< sat::BinaryClause > & NewlyAddedBinaryClauses() const
std::vector< sat::Literal > fixed_literals
virtual ~BopOptimizerBase()
LearnedInfo GetLearnedInfo() const
bool GetVariableFixedValue(VariableIndex var) const
virtual Status Optimize(const BopParameters ¶meters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit)=0
virtual bool ShouldBeRun(const ProblemState &problem_state) const =0
int64 upper_bound() const