14 #ifndef OR_TOOLS_BOP_BOP_FS_H_
15 #define OR_TOOLS_BOP_BOP_FS_H_
27 #include "ortools/bop/bop_parameters.pb.h"
32 #include "ortools/sat/boolean_problem.pb.h"
69 int64_t state_update_stamp_;
70 std::unique_ptr<sat::SatSolver> sat_solver_;
134 double ComputeLowerBoundUsingStrongBranching(
LearnedInfo* learned_info,
139 bool CostIsWorseThanSolution(
double scaled_cost,
double tolerance)
const;
141 const BopParameters parameters_;
142 int64_t state_update_stamp_;
143 bool lp_model_loaded_;
144 int num_full_solves_;
149 int num_fixed_variables_;
150 bool problem_already_solved_;
151 double scaled_solution_cost_;
A simple class to enforce both an elapsed time limit and a deterministic time limit in the same threa...
const std::string & name() const
bool ShouldBeRun(const ProblemState &problem_state) const override
BopRandomFirstSolutionGenerator(const std::string &name, const BopParameters ¶meters, sat::SatSolver *sat_propagator, MTRandom *random)
Status Optimize(const BopParameters ¶meters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit) override
~BopRandomFirstSolutionGenerator() override
bool ShouldBeRun(const ProblemState &problem_state) const override
GuidedSatFirstSolutionGenerator(const std::string &name, Policy policy)
~GuidedSatFirstSolutionGenerator() 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
Status Optimize(const BopParameters ¶meters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit) override
LinearRelaxation(const BopParameters ¶meters, const std::string &name)
~LinearRelaxation() override
SharedTimeLimit * time_limit
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...