Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
FillerContext.h
1#pragma once
2
3#include "antares/optimisation/linear-problem-api/linearProblemFiller.h"
4
6{
7
9{
10public:
11 explicit VarFillerContext() = 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
16 std::array<std::array<int, 3>, 5> timeseries = {
17 {{1, 3, 5}, {2, 4, 6}, {7, 9, 11}, {8, 10, 12}, {13, 15, 17}}};
18};
19
20void VarFillerContext::addVariables(ILinearProblem& pb,
21 [[maybe_unused]] ILinearProblemData& data,
22 [[maybe_unused]] FillContext& ctx)
23{
24 for (unsigned timestep = ctx.getFirstTimeStep(); timestep < ctx.getLastTimeStep(); timestep++)
25 {
26 for (unsigned scenario: ctx.getSelectedScenarios())
27 {
28 pb.addNumVariable(timeseries[timestep][scenario],
29 timeseries[timestep][scenario],
30 "variable-ts" + std::to_string(timestep) + "-sc"
31 + std::to_string(scenario));
32 }
33 }
34}
35
36void VarFillerContext::addConstraints([[maybe_unused]] ILinearProblem& pb,
37 [[maybe_unused]] ILinearProblemData& data,
38 [[maybe_unused]] FillContext& ctx)
39{
40}
41
42void VarFillerContext::addObjective([[maybe_unused]] ILinearProblem& pb,
43 [[maybe_unused]] ILinearProblemData& data,
44 [[maybe_unused]] FillContext& ctx)
45{
46}
47
48} // 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