14 #ifndef OR_TOOLS_BOP_BOP_PORTFOLIO_H_
15 #define OR_TOOLS_BOP_BOP_PORTFOLIO_H_
64 const BopSolverOptimizerSet& optimizer_set,
65 const std::string&
name);
78 void AddOptimizer(
const sat::LinearBooleanProblem& problem,
80 const BopOptimizerMethod& optimizer_method);
81 void CreateOptimizers(
const sat::LinearBooleanProblem& problem,
83 const BopSolverOptimizerSet& optimizer_set);
85 std::unique_ptr<MTRandom> random_;
86 int64 state_update_stamp_;
88 std::unique_ptr<OptimizerSelector> selector_;
91 BopParameters parameters_;
94 int number_of_consecutive_failing_optimizers_;
151 std::string
PrintStats(OptimizerIndex optimizer_index)
const;
160 void NewSolutionFound(
int64 gain);
163 void UpdateDeterministicTime(
double time_spent);
169 RunInfo(OptimizerIndex i,
const std::string& n)
170 : optimizer_index(i),
176 time_spent_since_last_solution(0),
181 bool RunnableAndSelectable()
const {
return runnable && selectable; }
183 OptimizerIndex optimizer_index;
189 double time_spent_since_last_solution;
195 std::vector<RunInfo> run_infos_;
202 #endif // OR_TOOLS_BOP_BOP_PORTFOLIO_H_