Loading...
Searching...
No Matches
FeasibilitySeparation.h
1//
2// Created by Henri on 21/01/2026.
3//
4
5#ifndef IDOL_CCG_FEASIBILITYSEPARATION_H
6#define IDOL_CCG_FEASIBILITYSEPARATION_H
7#include "idol/general/optimizers/OptimizerFactory.h"
8#include "idol/robust/optimizers/column-and-constraint-generation/separation/Separation.h"
9
10namespace idol::Robust::CCG {
12}
13
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;
18
19 FeasibilitySeparation(const FeasibilitySeparation& t_src);
20public:
21 FeasibilitySeparation() = default;
22
23 void operator()() override;
24 [[nodiscard]] Separation* clone() const override { return new FeasibilitySeparation(*this); }
25
26 FeasibilitySeparation& with_bilevel_optimizer(const OptimizerFactory& t_optimizer);
27
28 FeasibilitySeparation& with_integer_slack_variables(bool t_value);
29
30 FeasibilitySeparation& with_bounds_on_slack_variables(bool t_value);
31
32 std::pair<idol::Model, idol::Bilevel::Description> build_separation_problem() override;
33};
34
35#endif //IDOL_CCG_FEASIBILITYSEPARATION_H