hpp-core 7.0.0
Implement basic classes for canonical path planning for kinematic chains.
Loading...
Searching...
No Matches
hpp::core::pathOptimization::QuadraticProgram Struct Reference

#include <hpp/core/path-optimization/quadratic-program.hh>

Collaboration diagram for hpp::core::pathOptimization::QuadraticProgram:

Public Types

typedef Eigen::JacobiSVD< matrix_tDecomposition_t
typedef Eigen::LLT< matrix_t, Eigen::Lower > LLT_t

Public Member Functions

 QuadraticProgram (size_type inputSize)
 QuadraticProgram (const QuadraticProgram &QP, const LinearConstraint &lc)
 QuadraticProgram (const QuadraticProgram &QP)
 ~QuadraticProgram ()
void accuracy (value_type acc)
value_type accuracy () const
void addRows (const std::size_t &nbRows)
Program subject to linear equality constraints.
void reduced (const LinearConstraint &lc, QuadraticProgram &QPr) const
void decompose ()
void solve ()
Program subject to linear equality and inequality constraints.
void computeLLT ()
double solve (const LinearConstraint &ce, const LinearConstraint &ci)

Public Attributes

value_type accuracy_
Model
matrix_t H
vector_t b
bool bIsZero
Data (for inequality constraints)
LLT_t llt
value_type trace
Eigen::VectorXi activeConstraint
int activeSetSize
Data (for equality constraints)
Decomposition_t dec
vector_t xStar

Detailed Description

Quadratic program

This class stores a quadratic cost defined by \( \frac{1}{2} x^T H x + b^T x \) where \( (H, b) \) are the parameters.

It can then solve the two following program:

  • Program subject to linear equality constraints

    \begin{eqnarray*}\min & \frac{1}{2} x^T H x + b^T x \\ A_0 x = b_0 \end{eqnarray*}

    This is done via reduced, decompose and solve methods
  • Program subject to linear equality and inequality constraints:

    \begin{eqnarray*}\min & \frac{1}{2} x^T H x + b^T x \\ A_0 x = b_0 \\ A_1 x \ge b_1 \end{eqnarray*}

    This is done via computeLLT and solve methods and uses quadprog

The documentation for this struct was generated from the following file: