Class GLPKBackEnd

Nested Relationships

Inheritance Relationships

Base Type

Class Documentation

class GLPKBackEnd : public OpenSoT::solvers::BackEnd

Public Types

typedef int index
typedef int kind
typedef std::pair<index, kind> var_id_kind

Public Functions

GLPKBackEnd(const int number_of_variables, const int number_of_constraints, const double eps_regularisation = 0.0)
~GLPKBackEnd()
virtual bool initProblem(const Eigen::MatrixXd &H, const Eigen::VectorXd &g, const Eigen::MatrixXd &A, const Eigen::VectorXd &lA, const Eigen::VectorXd &uA, const Eigen::VectorXd &l, const Eigen::VectorXd &u)

H NOT USED! g Linear cost function: g’x A Linear Constraints Ax lA/uA constraints l/u bounds.

virtual bool solve()

solve the QP problem

Returns

true if the QP problem is solved (implementation should use internally _solution)

virtual void setOptions(const boost::any &options)

setOptions of the QP problem.

Parameters

options, a – boost::any object since we do not know the type of the object which depends on the solver

inline virtual boost::any getOptions()

getOptions return the options of the QP problem

Returns

options, a boost::any object since we do not know the type of the object which depends on the solver

virtual double getObjective()

getObjective to retrieve the value of the objective function

Returns

the value of the objective function at the optimum

Eigen::VectorXd getGLPKUpperBounds()
Eigen::VectorXd getGLPKLowerBounds()
Eigen::VectorXd getGLPKUpperConstraints()
Eigen::VectorXd getGLPKLowerConstraints()
Eigen::MatrixXd getGLPKConstraintMatrix()
int writeLP()

writeLP call glp_write_lp to have text file of the problem

Returns

check glpk.h

struct GLPKBackEndOptions

Public Members

int ROUND_BOUNDS = 0

ROUND_BOUNDS 0: bounds are not rounded 1: bounds are rounded to nearest sup integer -1: bounds are rounded to nearest inf integer.

std::vector<var_id_kind> var_id_kind_
std::shared_ptr<glp_iocp> param