Loading...
Searching...
No Matches
CriticalValueColumnAndConstraintGeneration.h
1//
2// Created by Henri on 15/04/2026.
3//
4
5#ifndef IDOL_CRITICALVALUECOLUMNANDCONSTRAINTGENERATION_H
6#define IDOL_CRITICALVALUECOLUMNANDCONSTRAINTGENERATION_H
7
8#include <idol/general/optimizers/OptimizerFactory.h>
9#include <memory>
10
11namespace idol::Robust {
12 class Description;
14}
15
17 const Description& m_description;
18 std::unique_ptr<OptimizerFactory> m_master_optimizer_factory;
19 std::unique_ptr<OptimizerFactory> m_deterministic_optimizer_factory;
20 std::optional<bool> m_use_indicator;
21protected:
22 [[nodiscard]] Optimizer* create(const Model& t_model) const override;
23 CriticalValueColumnAndConstraintGeneration(const CriticalValueColumnAndConstraintGeneration& t_src);
24public:
25 CriticalValueColumnAndConstraintGeneration(const Robust::Description& t_description);
26
27 [[nodiscard]] OptimizerFactory* clone() const override;
28
29 CriticalValueColumnAndConstraintGeneration& with_master_optimizer(const OptimizerFactory& t_optimizer);
30 CriticalValueColumnAndConstraintGeneration& with_deterministic_optimizer(const OptimizerFactory& t_optimizer);
31 CriticalValueColumnAndConstraintGeneration& with_indicator(bool t_value);
32};
33
34#endif //IDOL_CRITICALVALUECOLUMNANDCONSTRAINTGENERATION_H