Antares Simulator
Power System Simulator
OneVarFiller.h
1
#pragma once
2
3
#include "antares/modeler-optimisation-container/OptimEntityContainer.h"
4
#include "antares/optimisation/linear-problem-api/linearProblemFiller.h"
5
6
namespace
Antares::Optimisation::LinearProblemApi
7
{
8
9
class
OneVarFiller
final:
public
LinearProblemFiller
10
{
11
public
:
12
explicit
OneVarFiller
(
OptimEntityContainer
& optimEntityContainer):
13
optimEntityContainer_(optimEntityContainer)
14
{
15
}
16
17
void
addVariables(
const
FillContext
& ctx)
override
;
18
void
addConstraints(
const
FillContext
& ctx)
override
;
19
void
addObjectives(
const
FillContext
& ctx)
override
;
20
21
private
:
22
std::string added_var_name_ =
"var-by-OneVarFiller"
;
23
OptimEntityContainer
& optimEntityContainer_;
24
};
25
26
void
OneVarFiller::addVariables([[maybe_unused]]
const
FillContext
& ctx)
27
{
28
optimEntityContainer_.Problem().
addNumVariable
(0, 1, added_var_name_);
29
}
30
31
void
OneVarFiller::addConstraints([[maybe_unused]]
const
FillContext& ctx)
32
{
33
}
34
35
void
OneVarFiller::addObjectives([[maybe_unused]]
const
FillContext& ctx)
36
{
37
auto
* var = optimEntityContainer_.Problem().lookupVariable(added_var_name_);
38
optimEntityContainer_.Problem().
setObjectiveCoefficient
(var, 1);
39
}
40
41
}
// namespace Antares::Optimisation::LinearProblemApi
Antares::Optimisation::LinearProblemApi::FillContext
Context for filling linear problem data. Contains temporal information.
Definition:
ILinearProblemData.h:35
Antares::Optimisation::LinearProblemApi::ILinearProblem::setObjectiveCoefficient
virtual void setObjectiveCoefficient(IMipVariable *var, double coefficient)=0
Set the objective coefficient for a given variable.
Antares::Optimisation::LinearProblemApi::ILinearProblem::addNumVariable
virtual IMipVariable * addNumVariable(double lb, double ub, const std::string &name)=0
Create a continuous variable.
Antares::Optimisation::LinearProblemApi::LinearProblemFiller
Definition:
linearProblemFiller.h:31
Antares::Optimisation::LinearProblemApi::OneVarFiller
Definition:
OneVarFiller.h:10
Antares::Optimisation::OptimEntityContainer
Definition:
OptimEntityContainer.h:46
Antares::Optimisation::LinearProblemApi
Namespace for the classes related to the linear problem API.
Definition:
SimulationTableGenerator.h:41
src
tests
src
optimisation
linear-problem
mock-fillers
OneVarFiller.h
Generated by
1.9.1