Loading...
Searching...
No Matches
tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon > Class Template Reference

#include <tsid/solvers/solver-HQP-eiquadprog-rt.hpp>

Inheritance diagram for tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >:
Collaboration diagram for tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >:

Public Types

typedef math::Vector Vector
 
typedef math::RefVector RefVector
 
typedef math::ConstRefVector ConstRefVector
 
typedef math::ConstRefMatrix ConstRefMatrix
 
- Public Types inherited from tsid::solvers::SolverHQPBase
typedef math::RefVector RefVector
 
typedef math::ConstRefVector ConstRefVector
 
typedef math::ConstRefMatrix ConstRefMatrix
 

Public Member Functions

 SolverHQuadProgRT (const std::string &name)
 
void resize (unsigned int n, unsigned int neq, unsigned int nin)
 
const HQPOutputsolve (const HQPData &problemData)
 
double getObjectiveValue ()
 
bool setMaximumIterations (unsigned int maxIter)
 
- Public Member Functions inherited from tsid::solvers::SolverHQPBase
 SolverHQPBase (const std::string &name)
 
virtual ~SolverHQPBase ()
 
virtual const std::string & name ()
 
virtual void resize (unsigned int n, unsigned int neq, unsigned int nin)=0
 
virtual const HQPOutputsolve (const HQPData &problemData)=0
 
virtual double getObjectiveValue ()=0
 
virtual bool getUseWarmStart ()
 
virtual void setUseWarmStart (bool useWarmStart)
 
virtual unsigned int getMaximumIterations ()
 
virtual bool setMaximumIterations (unsigned int maxIter)
 
virtual double getMaximumTime ()
 
virtual bool setMaximumTime (double seconds)
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Matrix Matrix
 

Protected Member Functions

void sendMsg (const std::string &s)
 

Protected Attributes

eiquadprog::solvers::RtEiquadprog< nVars, nEqCon, 2 *nIneqCon > m_solver
 
RtMatrixX< nVars, nVars >::d m_H
 
RtVectorX< nVars >::d m_g
 
RtMatrixX< nEqCon, nVars >::d m_CE
 
RtVectorX< nEqCon >::d m_ce0
 
RtMatrixX< 2 *nIneqCon, nVars >::d m_CI
 
RtVectorX< 2 *nIneqCon >::d m_ci0
 twice the rows because inequality constraints are bilateral More...
 
double m_objValue
 
double m_hessian_regularization
 
Eigen::VectorXi m_activeSet
 
int m_activeSetSize
 vector containing the indexes of the active inequalities More...
 
int m_neq
 
int m_nin
 number of equality constraints More...
 
int m_n
 number of inequality constraints More...
 
- Protected Attributes inherited from tsid::solvers::SolverHQPBase
std::string m_name
 
bool m_useWarmStart
 
int m_maxIter
 
double m_maxTime
 
HQPOutput m_output
 

Additional Inherited Members

- Static Public Attributes inherited from tsid::solvers::SolverHQPBase
static EIGEN_MAKE_ALIGNED_OPERATOR_NEW std::string const HQP_status_string [5]
 

Member Typedef Documentation

◆ ConstRefMatrix

template<int nVars, int nEqCon, int nIneqCon>
typedef math::ConstRefMatrix tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::ConstRefMatrix

◆ ConstRefVector

template<int nVars, int nEqCon, int nIneqCon>
typedef math::ConstRefVector tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::ConstRefVector

◆ RefVector

template<int nVars, int nEqCon, int nIneqCon>
typedef math::RefVector tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::RefVector

◆ Vector

template<int nVars, int nEqCon, int nIneqCon>
typedef math::Vector tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::Vector

Constructor & Destructor Documentation

◆ SolverHQuadProgRT()

template<int nVars, int nEqCon, int nIneqCon>
tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::SolverHQuadProgRT ( const std::string &  name)

Member Function Documentation

◆ getObjectiveValue()

template<int nVars, int nEqCon, int nIneqCon>
double tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::getObjectiveValue
virtual

Get the objective value of the last solved problem.

Implements tsid::solvers::SolverHQPBase.

◆ resize()

template<int nVars, int nEqCon, int nIneqCon>
void tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::resize ( unsigned int  n,
unsigned int  neq,
unsigned int  nin 
)
virtual

◆ sendMsg()

template<int nVars, int nEqCon, int nIneqCon>
void tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::sendMsg ( const std::string &  s)
protected

◆ setMaximumIterations()

template<int nVars, int nEqCon, int nIneqCon>
bool tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::setMaximumIterations ( unsigned int  maxIter)
virtual

Set the current maximum number of iterations performed by the solver.

Reimplemented from tsid::solvers::SolverHQPBase.

◆ solve()

template<int nVars, int nEqCon, int nIneqCon>
const HQPOutput & tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::solve ( const HQPData problemData)
virtual

Solve the given Hierarchical Quadratic Program

Implements tsid::solvers::SolverHQPBase.

Member Data Documentation

◆ m_activeSet

template<int nVars, int nEqCon, int nIneqCon>
Eigen::VectorXi tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_activeSet
protected

◆ m_activeSetSize

template<int nVars, int nEqCon, int nIneqCon>
int tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_activeSetSize
protected

vector containing the indexes of the active inequalities

◆ m_CE

template<int nVars, int nEqCon, int nIneqCon>
RtMatrixX<nEqCon,nVars>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_CE
protected

◆ m_ce0

template<int nVars, int nEqCon, int nIneqCon>
RtVectorX<nEqCon>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_ce0
protected

◆ m_CI

template<int nVars, int nEqCon, int nIneqCon>
RtMatrixX<2*nIneqCon,nVars>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_CI
protected

◆ m_ci0

template<int nVars, int nEqCon, int nIneqCon>
RtVectorX<2*nIneqCon>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_ci0
protected

twice the rows because inequality constraints are bilateral

◆ m_g

template<int nVars, int nEqCon, int nIneqCon>
RtVectorX<nVars>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_g
protected

◆ m_H

template<int nVars, int nEqCon, int nIneqCon>
RtMatrixX<nVars,nVars>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_H
protected

◆ m_hessian_regularization

template<int nVars, int nEqCon, int nIneqCon>
double tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_hessian_regularization
protected

◆ m_n

template<int nVars, int nEqCon, int nIneqCon>
int tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_n
protected

number of inequality constraints

◆ m_neq

template<int nVars, int nEqCon, int nIneqCon>
int tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_neq
protected

◆ m_nin

template<int nVars, int nEqCon, int nIneqCon>
int tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_nin
protected

number of equality constraints

◆ m_objValue

template<int nVars, int nEqCon, int nIneqCon>
double tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_objValue
protected

◆ m_solver

template<int nVars, int nEqCon, int nIneqCon>
eiquadprog::solvers::RtEiquadprog<nVars, nEqCon, 2*nIneqCon> tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_solver
protected

◆ Matrix

template<int nVars, int nEqCon, int nIneqCon>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Matrix tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::Matrix

The documentation for this class was generated from the following files: