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: