Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
additionalConstraints.h
1/*
2 * Copyright 2007-2024, RTE (https://www.rte-france.com)
3 * See AUTHORS.txt
4 * SPDX-License-Identifier: MPL-2.0
5 * This file is part of Antares-Simulator,
6 * Adequacy and Performance assessment for interconnected energy networks.
7 *
8 * Antares_Simulator is free software: you can redistribute it and/or modify
9 * it under the terms of the Mozilla Public Licence 2.0 as published by
10 * the Mozilla Foundation, either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * Antares_Simulator is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * Mozilla Public Licence 2.0 for more details.
17 *
18 * You should have received a copy of the Mozilla Public Licence 2.0
19 * along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20 */
21
22#pragma once
23#include <set>
24#include <string>
25#include <vector>
26
27namespace Antares::Data::ShortTermStorage
28{
29
31{
32public:
33 std::set<int> hours;
34 unsigned int globalIndex = 0;
35 unsigned int localIndex = 0;
36 bool isValidHoursRange() const;
37};
38
40{
41 std::string name;
42 std::string cluster_id;
43 std::string variable;
44 std::string operatorType;
45 bool enabled = true;
46 std::vector<double> rhs;
47
48 std::vector<SingleAdditionalConstraint> constraints;
49
51 {
52 bool ok;
53 std::string error_msg;
54 };
55
56 // Number of enabled constraints
57 std::size_t enabledConstraints() const;
58
59 ValidateResult validate() const;
60
61private:
62 bool isValidVariable() const;
63 bool isValidOperatorType() const;
64
65 bool isValidHours() const;
66};
67} // namespace Antares::Data::ShortTermStorage
Definition additionalConstraints.h:40