idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
ScenarioBasedKAdaptabilityProblemSolver.h
1//
2// Created by henri on 12.04.25.
3//
4
5#ifndef IDOL_SCENARIOBASEDKADAPTABILITYPROBLEMSOLVER_H
6#define IDOL_SCENARIOBASEDKADAPTABILITYPROBLEMSOLVER_H
7
8#include "idol/general/optimizers/OptimizerFactory.h"
9#include "idol/bilevel/modeling/Description.h"
10#include "idol/robust/modeling/Description.h"
11
12namespace idol::Robust {
13 class ScenarioBasedKAdaptabilityProblemSolver;
14}
15
17 unsigned int m_K;
18 std::unique_ptr<OptimizerFactory> m_main_optimizer;
19 std::unique_ptr<OptimizerFactory> m_separation_optimizer;
20 const Bilevel::Description& m_bilevel_description;
21 const Robust::Description& m_robust_description;
22public:
24 const Robust::Description& t_robust_description,
25 unsigned int t_K);
26
28
29 Optimizer *operator()(const Model &t_model) const override;
30
31 [[nodiscard]] ScenarioBasedKAdaptabilityProblemSolver *clone() const override;
32
33 ScenarioBasedKAdaptabilityProblemSolver& with_optimizer(const OptimizerFactory& t_optimizer);
34
35 ScenarioBasedKAdaptabilityProblemSolver& with_separation_optimizer(const OptimizerFactory& t_optimizer);
36};
37
38#endif //IDOL_SCENARIOBASEDKADAPTABILITYPROBLEMSOLVER_H
Optimizer * operator()(const Model &t_model) const override
ScenarioBasedKAdaptabilityProblemSolver * clone() const override