14#ifndef ORTOOLS_BOP_BOP_FS_H_
15#define ORTOOLS_BOP_BOP_FS_H_
20#include "absl/random/bit_gen_ref.h"
21#include "absl/strings/string_view.h"
63 int64_t state_update_stamp_;
64 std::unique_ptr<sat::SatSolver> sat_solver_;
82 absl::BitGenRef random);
95 absl::BitGenRef random_;
128 double ComputeLowerBoundUsingStrongBranching(
LearnedInfo* learned_info,
133 bool CostIsWorseThanSolution(
double scaled_cost,
double tolerance)
const;
136 int64_t state_update_stamp_;
137 bool lp_model_loaded_;
138 int num_full_solves_;
143 int num_fixed_variables_;
144 bool problem_already_solved_;
145 double scaled_solution_cost_;
BopOptimizerBase(absl::string_view name)
const std::string & name() const
~BopRandomFirstSolutionGenerator() override
BopRandomFirstSolutionGenerator(absl::string_view name, const BopParameters ¶meters, sat::SatSolver *sat_propagator, absl::BitGenRef random)
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
bool ShouldBeRun(const ProblemState &problem_state) const override
~GuidedSatFirstSolutionGenerator() override
GuidedSatFirstSolutionGenerator(absl::string_view name, Policy policy)
~LinearRelaxation() override
Status Optimize(const BopParameters ¶meters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit) override
LinearRelaxation(const BopParameters ¶meters, absl::string_view name)
bool ShouldBeRun(const ProblemState &problem_state) const override