Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
mipSolution.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
24#include <map>
25#include <string>
26#include <vector>
27
28#include "mipVariable.h"
29
31{
32
33enum class MipStatus
34{
35 OPTIMAL,
36 FEASIBLE,
37 UNBOUNDED,
38 INFEASIBLE,
39 MIP_ERROR
40};
41
48{
49public:
50 virtual ~IMipSolution() = default;
51
52 virtual MipStatus getStatus() const = 0;
53 virtual double getObjectiveValue() const = 0;
54 virtual double getOptimalValue(const IMipVariable* var) const = 0;
55 virtual std::vector<double> getOptimalValues(const std::vector<IMipVariable*>& vars) const = 0;
56 virtual const std::map<std::string, double>& getOptimalValues() const = 0;
57};
58
59} // namespace Antares::Optimisation::LinearProblemApi
Namespace for the classes related to the linear problem API.
Definition EvaluationContext.h:9