Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
solver_utils.h
1#pragma once
2
3#include <cassert>
4#include <sstream>
5
6#include "antares-xpansion/multisolver_interface/Solver.h"
7#include "antares-xpansion/xpansion_interfaces/LogUtils.h"
8
9class InvalidSolverStatusException: public LogUtils::XpansionError<std::runtime_error>
10{
11 using LogUtils::XpansionError<std::runtime_error>::XpansionError;
12};
13
29void solver_getrows(const SolverAbstract& solver_p,
30 std::vector<int>& mstart_p,
31 std::vector<int>& mclind_p,
32 std::vector<double>& dmatval_p,
33 int first_p,
34 int last_p);
35
45void solver_get_obj_func_coeffs(const SolverAbstract& solver_p,
46 std::vector<double>& obj_p,
47 int first_p,
48 int last_p);
49
70void solver_addcols(SolverAbstract& solver_p,
71 const std::vector<double>& objx_p,
72 const std::vector<int>& mstart_p,
73 const std::vector<int>& mrwind_p,
74 const std::vector<double>& dmatval_p,
75 const std::vector<double>& bdl_p,
76 const std::vector<double>& bdu_p,
77 const std::vector<char>& colTypes_p,
78 const std::vector<std::string>& colNames_p);
79
106void solver_addrows(SolverAbstract& solver_p,
107 const std::vector<char>& qrtype_p,
108 const std::vector<double>& rhs_p,
109 const std::vector<double>& range_p,
110 const std::vector<int>& mstart_p,
111 const std::vector<int>& mclind_p,
112 const std::vector<double>& dmatval_p,
113 const std::vector<std::string>& names = {});
114
122void solver_getlpsolution(const SolverAbstract::Ptr solver_p, std::vector<double>& x_p);
123
130void solver_getlpdual(const SolverAbstract::Ptr solver_p, std::vector<double>& dual_p);
131
138void solver_getlpreducedcost(const SolverAbstract::Ptr solver_p, std::vector<double>& dj_p);
139
153void solver_getrowtype(const SolverAbstract& solver_p,
154 std::vector<char>& qrtype_p,
155 int first_p,
156 int last_p);
157
170void solver_getrhs(const SolverAbstract& solver_p,
171 std::vector<double>& rhs_p,
172 int first_p,
173 int last_p);
174
185void solver_getrhsrange(const SolverAbstract::Ptr solver_p,
186 std::vector<double>& range_p,
187 int first_p,
188 int last_p);
189
206void solver_getcolinfo(const SolverAbstract& solver_p,
207 std::vector<char>& coltype_p,
208 std::vector<double>& bdl_p,
209 std::vector<double>& bdu_p,
210 int first_p,
211 int last_p);
212
223void solver_deactivaterows(SolverAbstract::Ptr solver_p, const std::vector<int>& mindex);
224
246void solver_getbasis(SolverAbstract::Ptr solver_p,
247 std::vector<int>& rstatus_p,
248 std::vector<int>& cstatus_p);
249
266void solver_chgbounds(SolverAbstract::Ptr solver_p,
267 const std::vector<int>& mindex_p,
268 const std::vector<char>& qbtype_p,
269 const std::vector<double>& bnd_p);
270
283void solver_rename_vars(SolverAbstract* outSolver_p, const std::vector<std::string>& names_p);
Definition solver_utils.h:10
Definition SolverAbstract.h:200
std::shared_ptr< SolverAbstract > Ptr
Definition SolverAbstract.h:215