#include <eiquadprog-fast.hpp>
|
bool | add_constraint (MatrixXd &R, MatrixXd &J, VectorXd &d, size_t &iq, double &R_norm) |
|
void | compute_d (VectorXd &d, const MatrixXd &J, const VectorXd &np) |
|
void | delete_constraint (MatrixXd &R, MatrixXd &J, VectorXi &A, VectorXd &u, size_t nEqCon, size_t &iq, size_t l) |
|
void | update_r (const MatrixXd &R, VectorXd &r, const VectorXd &d, size_t iq) |
|
void | update_z (VectorXd &z, const MatrixXd &J, const VectorXd &d, size_t iq) |
|
Definition at line 78 of file eiquadprog-fast.hpp.
◆ MatrixXd
◆ VectorXd
◆ VectorXi
◆ EiquadprogFast()
eiquadprog::solvers::EiquadprogFast::EiquadprogFast |
( |
| ) |
|
◆ ~EiquadprogFast()
eiquadprog::solvers::EiquadprogFast::~EiquadprogFast |
( |
| ) |
|
|
virtual |
◆ add_constraint()
bool eiquadprog::solvers::EiquadprogFast::add_constraint |
( |
MatrixXd & |
R, |
|
|
MatrixXd & |
J, |
|
|
VectorXd & |
d, |
|
|
size_t & |
iq, |
|
|
double & |
R_norm |
|
) |
| |
|
inlineprivate |
◆ compute_d()
◆ delete_constraint()
◆ getActiveSet()
const VectorXi& eiquadprog::solvers::EiquadprogFast::getActiveSet |
( |
| ) |
const |
|
inline |
Return the active set, namely the indeces of active constraints. The first nEqCon indexes are for the equalities and are negative. The last nIneqCon indexes are for the inequalities and start from 0. Only the first q elements of the return vector are valid, where q is the size of the active set.
- Returns
- The set of indexes of the active constraints.
Definition at line 128 of file eiquadprog-fast.hpp.
◆ getActiveSetSize()
size_t eiquadprog::solvers::EiquadprogFast::getActiveSetSize |
( |
| ) |
const |
|
inline |
- Returns
- The size of the active set, namely the number of active constraints (including the equalities).
Definition at line 103 of file eiquadprog-fast.hpp.
◆ getIteratios()
int eiquadprog::solvers::EiquadprogFast::getIteratios |
( |
| ) |
const |
|
inline |
◆ getLagrangeMultipliers()
const VectorXd& eiquadprog::solvers::EiquadprogFast::getLagrangeMultipliers |
( |
| ) |
const |
|
inline |
◆ getMaxIter()
int eiquadprog::solvers::EiquadprogFast::getMaxIter |
( |
| ) |
const |
|
inline |
◆ getObjValue()
double eiquadprog::solvers::EiquadprogFast::getObjValue |
( |
| ) |
const |
|
inline |
◆ reset()
void eiquadprog::solvers::EiquadprogFast::reset |
( |
size_t |
dim_qp, |
|
|
size_t |
num_eq, |
|
|
size_t |
num_ineq |
|
) |
| |
◆ setMaxIter()
bool eiquadprog::solvers::EiquadprogFast::setMaxIter |
( |
int |
maxIter | ) |
|
|
inline |
◆ solve_quadprog()
solves the problem min. x' Hess x + 2 g0' x s.t. CE x + ce0 = 0 CI x + ci0 >= 0
Definition at line 189 of file src/eiquadprog-fast.cpp.
◆ update_r()
◆ update_z()
VectorXi eiquadprog::solvers::EiquadprogFast::A |
|
private |
active set (indeces of active constraints) the first nEqCon indeces are for the equalities and are negative the last nIneqCon indeces are for the inequalities are start from 0
Definition at line 179 of file eiquadprog-fast.hpp.
◆ A_old
VectorXi eiquadprog::solvers::EiquadprogFast::A_old |
|
private |
◆ chol_
Eigen::LLT<MatrixXd, Eigen::Lower> eiquadprog::solvers::EiquadprogFast::chol_ |
|
private |
VectorXd eiquadprog::solvers::EiquadprogFast::d |
|
private |
◆ f_value
double eiquadprog::solvers::EiquadprogFast::f_value |
|
private |
◆ iaexcl
VectorXi eiquadprog::solvers::EiquadprogFast::iaexcl |
|
private |
initialized as [1, ..., 1, .] if iaexcl(i)!=1 inequality constraint i cannot be added to the active set if adding ineq constraint i fails => iaexcl(i)=0 iaexcl(i)=0 iff ineq constraint i is linearly dependent to other active constraints iaexcl(i)=1 otherwise
Definition at line 191 of file eiquadprog-fast.hpp.
◆ iai
VectorXi eiquadprog::solvers::EiquadprogFast::iai |
|
private |
initialized as K \ A iai(i)=-1 iff inequality constraint i is in the active set iai(i)=i otherwise
Definition at line 184 of file eiquadprog-fast.hpp.
◆ is_inverse_provided_
bool eiquadprog::solvers::EiquadprogFast::is_inverse_provided_ |
◆ iter
int eiquadprog::solvers::EiquadprogFast::iter |
|
private |
◆ m_J
MatrixXd eiquadprog::solvers::EiquadprogFast::m_J |
◆ m_maxIter
int eiquadprog::solvers::EiquadprogFast::m_maxIter |
|
private |
◆ m_nEqCon
size_t eiquadprog::solvers::EiquadprogFast::m_nEqCon |
|
private |
◆ m_nIneqCon
size_t eiquadprog::solvers::EiquadprogFast::m_nIneqCon |
|
private |
◆ m_nVars
size_t eiquadprog::solvers::EiquadprogFast::m_nVars |
|
private |
◆ np
VectorXd eiquadprog::solvers::EiquadprogFast::np |
|
private |
size_t eiquadprog::solvers::EiquadprogFast::q |
|
private |
size of the active set A (containing the indices of the active constraints)
Definition at line 203 of file eiquadprog-fast.hpp.
MatrixXd eiquadprog::solvers::EiquadprogFast::R |
|
private |
from QR of L' N, where L is Cholewsky factor of Hessian, and N is the matrix of active constraints
Definition at line 156 of file eiquadprog-fast.hpp.
VectorXd eiquadprog::solvers::EiquadprogFast::r |
|
private |
infeasibility multipliers, i.e. negative step direction in dual space
Definition at line 162 of file eiquadprog-fast.hpp.
VectorXd eiquadprog::solvers::EiquadprogFast::s |
|
private |
VectorXd eiquadprog::solvers::EiquadprogFast::u |
|
private |
◆ u_old
VectorXd eiquadprog::solvers::EiquadprogFast::u_old |
|
private |
◆ x_old
VectorXd eiquadprog::solvers::EiquadprogFast::x_old |
|
private |
VectorXd eiquadprog::solvers::EiquadprogFast::z |
|
private |
The documentation for this class was generated from the following files:
eiquadprog
Author(s): Gabriele Buondonno, Andrea Del Prete, Luca Di Gaspero, Angelo Furfaro, Benjamin Stephens, Gael Guennebaud
autogenerated on Wed May 28 2025 02:55:57