Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
OneVarFiller.h
1#pragma once
2
3#include "antares/optimisation/linear-problem-api/linearProblemFiller.h"
4
6{
7
9{
10public:
11 explicit OneVarFiller() = default;
12 void addVariables(ILinearProblem& pb, ILinearProblemData& data, FillContext& ctx) override;
13 void addConstraints(ILinearProblem& pb, ILinearProblemData& data, FillContext& ctx) override;
14 void addObjective(ILinearProblem& pb, ILinearProblemData& data, FillContext& ctx) override;
15
16private:
17 std::string added_var_name_ = "var-by-OneVarFiller";
18};
19
20void OneVarFiller::addVariables(ILinearProblem& pb,
21 [[maybe_unused]] ILinearProblemData& data,
22 [[maybe_unused]] FillContext& ctx)
23{
24 pb.addNumVariable(0, 1, added_var_name_);
25}
26
27void OneVarFiller::addConstraints([[maybe_unused]] ILinearProblem& pb,
28 [[maybe_unused]] ILinearProblemData& data,
29 [[maybe_unused]] FillContext& ctx)
30{
31}
32
33void OneVarFiller::addObjective(ILinearProblem& pb,
34 [[maybe_unused]] ILinearProblemData& data,
35 [[maybe_unused]] FillContext& ctx)
36{
37 auto* var = pb.getVariable(added_var_name_);
38 pb.setObjectiveCoefficient(var, 1);
39}
40
41} // namespace Antares::Optimisation::LinearProblemApi
virtual IMipVariable * addNumVariable(double lb, double ub, const std::string &name)=0
Create a continuous variable.
Namespace for the classes related to the linear problem API.
Definition EvaluationContext.h:9