A C++ Framework for Optimization
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 {
11 class FeasibilitySeparation;
12}
13
15 std::unique_ptr<OptimizerFactory> m_bilevel_optimizer;
16 std::optional<bool> m_with_integer_slack_variables;
17
19public:
20 FeasibilitySeparation() = default;
21
22 void operator()() override;
23 [[nodiscard]] Separation* clone() const override { return new FeasibilitySeparation(*this); }
24
25 FeasibilitySeparation& with_bilevel_optimizer(const OptimizerFactory& t_optimizer);
26
27 FeasibilitySeparation& with_integer_slack_variables(bool t_value);
28
29 std::pair<idol::Model, idol::Bilevel::Description> build_separation_problem() override;
30};
31
32#endif //IDOL_CCG_FEASIBILITYSEPARATION_H