Class providing an algorithms for solving the quadratic optimization problem associated with the QPController.
More...
#include <QPSolver.hpp>
|
| enum | Status { SUCCESS = 0
, SUBOPTIMAL
, FAILURE
} |
| | Enumeration used to indicate status.
|
| |
|
| static Eigen::VectorXd | inequalitySolve (const Eigen::MatrixXd &G, const Eigen::VectorXd &d, Eigen::MatrixXd &A, const Eigen::VectorXd &b, const Eigen::VectorXd &xstart, Status &status) |
| |
Class providing an algorithms for solving the quadratic optimization problem associated with the QPController.
◆ inequalitySolve()
| static Eigen::VectorXd inequalitySolve |
( |
const Eigen::MatrixXd & |
G, |
|
|
const Eigen::VectorXd & |
d, |
|
|
Eigen::MatrixXd & |
A, |
|
|
const Eigen::VectorXd & |
b, |
|
|
const Eigen::VectorXd & |
xstart, |
|
|
Status & |
status |
|
) |
| |
|
static |
Solves the quadratic problem of minimizing 1/2 x^T.G.x+d^T.x subject to A.x>=b The method used is an iterative method from "Numerical
Optimization" by Jorge Nocedal and Stephen J. Wright, Springer 1999. In this implementation we'll require that b<= s.t. x=0 is a feasible initial value
- Parameters
-
| G | [in] The G matrix. It is required that G is n times n and is positive semidefinite |
| d | [in] Vector of length n |
| A | [in] Matrix used to represent the linear inequality constraints. The dimensions should be m times n |
| b | [in] Vector with the lower limit for the constraints. We'll assume that b<=0. The length of b should be m |
| xstart | [in] Default start configuration of the iterative algorithm |
| status | [out] Gives the status of the solving |
The documentation for this class was generated from the following file: