25 std::unique_ptr<OptimizerFactory> m_single_level_optimizer;
28 std::vector<Var> m_slack_for_constraints;
29 std::optional<Var> m_slack_for_objective;
36 void operator()()
override;
41 std::pair<idol::Model, idol::Bilevel::Description> build_separation_problem()
override;
48 double get_var_lb(
const Var& t_var)
override;
49 double get_var_ub(
const Var& t_var)
override;
50 double get_ctr_dual_lb(
const Ctr &t_ctr)
override;
51 double get_ctr_dual_ub(
const Ctr &t_ctr)
override;
52 double get_ctr_slack_lb(
const Ctr &t_ctr)
override;
53 double get_ctr_slack_ub(
const Ctr &t_ctr)
override;
54 double get_var_lb_dual_ub(
const Var &t_var)
override;
55 double get_var_ub_dual_lb(
const Var &t_var)
override;