qpOASES
3.0.1
|
Provides additional tools for analysing QP solutions. More...
#include <SolutionAnalysis.hpp>
Public Member Functions | |
SolutionAnalysis () | |
SolutionAnalysis (const SolutionAnalysis &rhs) | |
~SolutionAnalysis () | |
SolutionAnalysis & | operator= (const SolutionAnalysis &rhs) |
returnValue | getMaxKKTviolation (QProblemB *qp, real_t &maxKKTviolation) const |
returnValue | getMaxKKTviolation (QProblem *qp, real_t &maxKKTviolation) const |
returnValue | getMaxKKTviolation (SQProblem *qp, real_t &maxKKTviolation) const |
returnValue | getVarianceCovariance (QProblemB *qp, real_t *g_b_bA_VAR, real_t *Primal_Dual_VAR) const |
returnValue | getVarianceCovariance (QProblem *qp, real_t *g_b_bA_VAR, real_t *Primal_Dual_VAR) const |
returnValue | getVarianceCovariance (SQProblem *qp, real_t *g_b_bA_VAR, real_t *Primal_Dual_VAR) const |
This class is intended to provide additional tools for analysing a QP solution obtained with qpOASES.
Default constructor.
SolutionAnalysis::SolutionAnalysis | ( | const SolutionAnalysis & | rhs | ) |
Copy constructor (deep copy).
rhs | Rhs object. |
Destructor.
returnValue SolutionAnalysis::getMaxKKTviolation | ( | QProblemB * | qp, |
real_t & | maxKKTviolation | ||
) | const |
Determines the maximum violation of the KKT optimality conditions of the current iterate within the QProblemB object.
qp | QProblemB to be analysed. |
maxKKTviolation | OUTPUT: maximum violation of the KKT conditions. |
References QProblemB::bounds, QProblemB::g, getAbs(), QProblemB::getHessianType(), QProblemB::getNV(), SubjectTo::getStatus(), QProblemB::H, HST_IDENTITY, HST_ZERO, QProblemB::lb, real_t, ST_LOWER, ST_UPPER, SUCCESSFUL_RETURN, Matrix::times(), QProblemB::ub, QProblemB::x, and QProblemB::y.
Referenced by getMaxKKTviolation(), and main().
returnValue SolutionAnalysis::getMaxKKTviolation | ( | QProblem * | qp, |
real_t & | maxKKTviolation | ||
) | const |
Determines the maximum violation of the KKT optimality conditions of the current iterate within the QProblem object.
qp | QProblem to be analysed. |
maxKKTviolation | OUTPUT: maximum violation of the KKT conditions. |
References QProblem::A, QProblemB::bounds, QProblem::constraints, QProblemB::g, getAbs(), QProblemB::getHessianType(), QProblem::getNC(), QProblemB::getNV(), SubjectTo::getStatus(), QProblemB::H, HST_IDENTITY, HST_ZERO, QProblemB::lb, QProblem::lbA, real_t, ST_LOWER, ST_UPPER, SUCCESSFUL_RETURN, Matrix::times(), Matrix::transTimes(), QProblemB::ub, QProblem::ubA, QProblemB::x, and QProblemB::y.
returnValue SolutionAnalysis::getMaxKKTviolation | ( | SQProblem * | qp, |
real_t & | maxKKTviolation | ||
) | const |
Determines the maximum violation of the KKT optimality conditions of the current iterate within the SQProblem object.
qp | SQProblem to be analysed. |
maxKKTviolation | OUTPUT: maximum violation of the KKT conditions. |
References getMaxKKTviolation().
returnValue SolutionAnalysis::getVarianceCovariance | ( | QProblemB * | qp, |
real_t * | g_b_bA_VAR, | ||
real_t * | Primal_Dual_VAR | ||
) | const |
Computes the variance-covariance matrix of the QP output for uncertain inputs.
qp | QProblemB to be analysed. |
g_b_bA_VAR | INPUT : Variance-covariance of g, the bounds lb and ub, and lbA and ubA respectively. Dimension: 2nV x 2nV |
Primal_Dual_VAR | OUTPUT: The result for the variance-covariance of the primal and dual variables. Dimension: 2nV x 2nV |
References RET_NOT_YET_IMPLEMENTED, and THROWERROR.
Referenced by getVarianceCovariance(), and main().
returnValue SolutionAnalysis::getVarianceCovariance | ( | QProblem * | qp, |
real_t * | g_b_bA_VAR, | ||
real_t * | Primal_Dual_VAR | ||
) | const |
Computes the variance-covariance matrix of the QP output for uncertain inputs.
qp | QProblem to be analysed. |
g_b_bA_VAR | INPUT : Variance-covariance of g, the bounds lb and ub, and lbA and ubA respectively. Dimension: (2nV+nC) x (2nV+nC) |
Primal_Dual_VAR | OUTPUT: The result for the variance-covariance of the primal and dual variables. Dimension: (2nV+nC) x (2nV+nC) |
References QProblemB::bounds, BT_FALSE, QProblem::constraints, QProblem::determineStepDirection(), Constraints::getActive(), Bounds::getFixed(), Bounds::getFree(), QProblem::getNAC(), QProblem::getNC(), QProblemB::getNFR(), QProblemB::getNFX(), Indexlist::getNumberArray(), QProblemB::getNV(), real_t, RET_HOTSTART_FAILED, RET_STEPDIRECTION_DETERMINATION_FAILED, SUCCESSFUL_RETURN, and THROWERROR.
returnValue SolutionAnalysis::getVarianceCovariance | ( | SQProblem * | qp, |
real_t * | g_b_bA_VAR, | ||
real_t * | Primal_Dual_VAR | ||
) | const |
Computes the variance-covariance matrix of the QP output for uncertain inputs.
qp | SQProblem to be analysed. |
g_b_bA_VAR | INPUT : Variance-covariance of g, the bounds lb and ub, and lbA and ubA respectively. Dimension: (2nV+nC) x (2nV+nC) |
Primal_Dual_VAR | OUTPUT: The result for the variance-covariance of the primal and dual variables. Dimension: (2nV+nC) x (2nV+nC) |
References getVarianceCovariance().
SolutionAnalysis & SolutionAnalysis::operator= | ( | const SolutionAnalysis & | rhs | ) |
Assignment operator (deep copy).
rhs | Rhs object. |