idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
AffineDecisionRule.h
1
//
2
// Created by henri on 28.11.24.
3
//
4
5
#ifndef IDOL_AFFINEDECISIONRULE_H
6
#define IDOL_AFFINEDECISIONRULE_H
7
8
#include "idol/general/optimizers/OptimizerFactory.h"
9
#include "idol/robust/modeling/Description.h"
10
#include "idol/mixed-integer/modeling/models/Model.h"
11
12
namespace
idol::Robust {
13
class
AffineDecisionRule;
14
}
15
16
class
idol::Robust::AffineDecisionRule
:
public
OptimizerFactoryWithDefaultParameters
<AffineDecisionRule> {
17
const
Robust::Description
& m_description;
18
std::unique_ptr<OptimizerFactory> m_deterministic_optimizer;
19
public
:
20
explicit
AffineDecisionRule
(
const
Robust::Description
& t_description);
21
22
AffineDecisionRule
(
const
AffineDecisionRule
& t_src);
23
24
Optimizer
*
operator()
(
const
Model
&t_model)
const override
;
25
26
[[nodiscard]]
OptimizerFactory
*
clone
()
const override
;
27
28
AffineDecisionRule
& with_deterministic_optimizer(
const
OptimizerFactory
& t_deterministic_optimizer);
29
30
struct
Result
{
31
32
Model
model;
33
std::vector<QuadExpr<Var>> affine_decision_rules;
34
Robust::Description
description;
35
36
explicit
Result
(
Model
&& t_model,
const
Model
& t_uncertainty_set) : model(std::move(t_model)), description(t_uncertainty_set) {}
37
};
38
39
static
Result
make_model(
const
Model
& t_model,
const
Robust::Description
& t_description);
40
};
41
42
43
#endif
//IDOL_AFFINEDECISIONRULE_H
idol::Model
Definition
Model.h:43
idol::OptimizerFactoryWithDefaultParameters
Definition
OptimizerFactory.h:66
idol::OptimizerFactory
Definition
OptimizerFactory.h:26
idol::Optimizer
Definition
Optimizer.h:219
idol::Robust::AffineDecisionRule
Definition
AffineDecisionRule.h:16
idol::Robust::AffineDecisionRule::operator()
Optimizer * operator()(const Model &t_model) const override
idol::Robust::AffineDecisionRule::clone
OptimizerFactory * clone() const override
idol::Robust::Description
Definition
Description.h:18
idol::Robust::AffineDecisionRule::Result
Definition
AffineDecisionRule.h:30
lib
include
idol
robust
optimizers
affine-decision-rule
AffineDecisionRule.h
Generated by
1.9.8