Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
named_problem.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#pragma once
22
23#include <algorithm>
24#include <iterator>
25#include <string>
26#include <vector>
27
28#include "spx_definition_arguments.h"
29#include "spx_fonctions.h"
30
31namespace Antares
32{
33namespace Optimization
34{
35class BasisStatus;
36
37struct PROBLEME_SIMPLEXE_NOMME: public PROBLEME_SIMPLEXE
38{
39public:
40 PROBLEME_SIMPLEXE_NOMME(const std::vector<std::string>& NomDesVariables,
41 const std::vector<std::string>& NomDesContraintes,
42 const std::vector<bool>& VariablesEntieres,
43 BasisStatus& basisStatus,
44 bool UseNamedProblems,
45 bool SolverLogs);
46
47private:
48 const std::vector<std::string>& NomDesVariables;
49 const std::vector<std::string>& NomDesContraintes;
50 bool useNamedProblems_;
51
52public:
53 const std::vector<bool>& VariablesEntieres;
54 BasisStatus& basisStatus;
55
56 bool isMIP() const;
57 bool basisExists() const;
58
59 bool UseNamedProblems() const
60 {
61 return useNamedProblems_;
62 }
63
64 void SetUseNamedProblems(bool useNamedProblems)
65 {
66 useNamedProblems_ = useNamedProblems;
67 }
68
69 const std::vector<std::string>& VariableNames() const
70 {
71 return NomDesVariables;
72 }
73
74 const std::vector<std::string>& ConstraintNames() const
75 {
76 return NomDesContraintes;
77 }
78
79 bool IntegerVariable(size_t idx) const
80 {
81 return VariablesEntieres[idx];
82 }
83};
84} // namespace Optimization
85} // namespace Antares
Definition basis_status.h:40