1 #ifndef LPINTERFACE_LPINTERFACE_GUROBI_H
2 #define LPINTERFACE_LPINTERFACE_GUROBI_H
5 #include <unordered_map>
9 #include "lpinterface/common.hpp"
10 #include "lpinterface/data_objects.hpp"
11 #include "lpinterface/errors.hpp"
12 #include "lpinterface/gurobi/lphandle_gurobi.hpp"
13 #include "lpinterface/gurobi/lputil_gurobi.hpp"
15 #include "lpinterface/lpinterface.hpp"
40 static Status convert_gurobi_status(
int status);
42 static const std::unordered_map<Param, const char*> param_dict_;
43 static const std::unordered_map<int, Status> status_dict_;
58 inline Status GurobiSolver::convert_gurobi_status(
int status) {
59 return status_dict_.count(status) ? status_dict_.at(status)
65 #endif // LPINTERFACE_LPINTERFACE_GUROBI_H
LinearProgramHandleGurobi lp_handle_
The linear program to solve.
Definition: lpinterface_gurobi.hpp:52
Attempt to use a status code that is not supported.
Definition: errors.hpp:95
const Solution< double > & get_solution() const override
Get the solution of the linear program. This method will fail with LpError::ModelNotsolvedError if th...
Status solve() override
Solve the linear program.
OptimizationType
Objective sense for an LP.
Definition: lp.hpp:17
Definition: lpinterface_gurobi.hpp:19
Interface representing linear program formulation. This interface represents linear programs of the f...
Definition: lp.hpp:53
void set_parameter(const Param param, const int value) override
Set an integer-valued parameter in the internal LP solver. This method will fail with LpError::Unsupp...
Solution< double > solution_
The solution vector.
Definition: lpinterface_gurobi.hpp:55
std::shared_ptr< GRBenv > gurobi_env_
The gurobi environment object.
Definition: lpinterface_gurobi.hpp:46
const ILinearProgramHandle & linear_program() const override
Get immutable access to the underlying Linear Program object.
bool parameter_supported(const Param param) const override
Check whether the solver backend supports the given parameter.
Definition: lphandle_gurobi.hpp:19
std::shared_ptr< GRBmodel > gurobi_model_
The gurobi model object.
Definition: lpinterface_gurobi.hpp:49
Status solution_status() const override
Query the LP solver for the solution status.
Param
Enum class representing linear solver parameters. The linear solvers this library interfaces with hav...
Definition: parameter_type.hpp:12
Status
Enum class representing LP solution status.
Definition: errors.hpp:129
Interface to internal linear program solver. This interface is the most important interface within lp...
Definition: lpinterface.hpp:22