20 std::unique_ptr<OptimizerFactory> m_optimality_bilevel_optimizer;
21 std::unique_ptr<OptimizerFactory> m_feasibility_bilevel_optimizer;
22 std::optional<bool> m_with_first_stage_relaxation;
24 [[nodiscard]]
Optimizer *create(
const Model &t_model)
const override;
29 BilevelBasedBranchAndBound(
const BilevelBasedBranchAndBound& t_src);
31 [[nodiscard]]
OptimizerFactory *clone()
const override {
return new BilevelBasedBranchAndBound(*
this); }
33 BilevelBasedBranchAndBound& with_optimality_bilevel_optimizer(
const OptimizerFactory& t_factory);
35 BilevelBasedBranchAndBound& with_feasibility_bilevel_optimizer(
const OptimizerFactory& t_factory);
37 BilevelBasedBranchAndBound& with_first_stage_relaxation(
bool t_value);