15 std::unique_ptr<OptimizerFactory> m_bilevel_optimizer;
16 std::optional<bool> m_with_integer_slack_variables;
17 std::optional<bool> m_with_slack_variable_bounding;
19 FeasibilitySeparation(
const FeasibilitySeparation& t_src);
21 FeasibilitySeparation() =
default;
23 void operator()()
override;
24 [[nodiscard]]
Separation* clone()
const override {
return new FeasibilitySeparation(*
this); }
26 FeasibilitySeparation& with_bilevel_optimizer(
const OptimizerFactory& t_optimizer);
28 FeasibilitySeparation& with_integer_slack_variables(
bool t_value);
30 FeasibilitySeparation& with_bounds_on_slack_variables(
bool t_value);
32 std::pair<idol::Model, idol::Bilevel::Description> build_separation_problem()
override;