14 #ifndef OR_TOOLS_BOP_BOP_FS_H_ 15 #define OR_TOOLS_BOP_BOP_FS_H_ 68 int64_t state_update_stamp_;
69 std::unique_ptr<sat::SatSolver> sat_solver_;
87 absl::BitGenRef random);
100 absl::BitGenRef random_;
133 double ComputeLowerBoundUsingStrongBranching(
LearnedInfo* learned_info,
138 bool CostIsWorseThanSolution(
double scaled_cost,
double tolerance)
const;
141 int64_t state_update_stamp_;
142 bool lp_model_loaded_;
143 int num_full_solves_;
148 int num_fixed_variables_;
149 bool problem_already_solved_;
150 double scaled_solution_cost_;
155 #endif // OR_TOOLS_BOP_BOP_FS_H_ BopRandomFirstSolutionGenerator(const std::string &name, const BopParameters ¶meters, sat::SatSolver *sat_propagator, absl::BitGenRef random)
A simple class to enforce both an elapsed time limit and a deterministic time limit in the same threa...
ModelSharedTimeLimit * time_limit
~BopRandomFirstSolutionGenerator() override
~LinearRelaxation() override
GuidedSatFirstSolutionGenerator(const std::string &name, Policy policy)
Status Optimize(const BopParameters ¶meters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit) override
bool ShouldBeRun(const ProblemState &problem_state) const override
Status Optimize(const BopParameters ¶meters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit) override
LinearRelaxation(const BopParameters ¶meters, const std::string &name)
~GuidedSatFirstSolutionGenerator() override
bool ShouldBeRun(const ProblemState &problem_state) const override
Status Optimize(const BopParameters ¶meters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit) override
const std::string & name() const
Collection of objects used to extend the Constraint Solver library.
bool ShouldBeRun(const ProblemState &problem_state) const override