qpOASES  3.2.1
An Implementation of the Online Active Set Strategy
Public Member Functions
SolutionAnalysis Class Reference

Provides additional tools for analysing QP solutions. More...

#include <SolutionAnalysis.hpp>

List of all members.

Public Member Functions

 SolutionAnalysis ()
 SolutionAnalysis (const SolutionAnalysis &rhs)
 ~SolutionAnalysis ()
SolutionAnalysisoperator= (const SolutionAnalysis &rhs)
real_t getKktViolation (QProblemB *const qp, real_t *const maxStat=0, real_t *const maxFeas=0, real_t *const maxCmpl=0) const
real_t getKktViolation (QProblem *const qp, real_t *const maxStat=0, real_t *const maxFeas=0, real_t *const maxCmpl=0) const
real_t getKktViolation (SQProblem *const qp, real_t *const maxStat=0, real_t *const maxFeas=0, real_t *const maxCmpl=0) const
returnValue getVarianceCovariance (QProblemB *const qp, const real_t *const g_b_bA_VAR, real_t *const Primal_Dual_VAR) const
returnValue getVarianceCovariance (QProblem *const qp, const real_t *const g_b_bA_VAR, real_t *const Primal_Dual_VAR) const
returnValue getVarianceCovariance (SQProblem *const qp, const real_t *const g_b_bA_VAR, real_t *const Primal_Dual_VAR) const
returnValue checkCurvatureOnStronglyActiveConstraints (SQProblemSchur *qp)
returnValue checkCurvatureOnStronglyActiveConstraints (SQProblem *qp)

Detailed Description

This class is intended to provide additional tools for analysing a QP solution obtained with qpOASES.

Author:
Hans Joachim Ferreau (thanks to Boris Houska)
Version:
3.2
Date:
2008-2017

Constructor & Destructor Documentation

Default constructor.

Copy constructor (deep copy).

Parameters:
rhsRhs object.

Destructor.


Member Function Documentation

real_t SolutionAnalysis::getKktViolation ( QProblemB *const  qp,
real_t *const  maxStat = 0,
real_t *const  maxFeas = 0,
real_t *const  maxCmpl = 0 
) const

Computes the maximum violation of the KKT optimality conditions of the current iterate within the QProblemB object.

Returns:
Maximum violation of the KKT conditions (or INFTY on error).
Parameters:
qpQProblemB to be analysed.
maxStatOutput: maximum value of stationarity condition residual.
maxFeasOutput: maximum value of primal feasibility violation.
maxCmplOutput: maximum value of complementarity residual.

References BT_FALSE, BT_TRUE, Matrix::full(), QProblemB::g, QProblemB::getHessianType(), getMax(), QProblemB::getNV(), QProblemB::getWorkingSetBounds(), QProblemB::H, HST_IDENTITY, HST_ZERO, INFTY, QProblemB::lb, real_t, REFER_NAMESPACE_QPOASES, QProblemB::regVal, SUCCESSFUL_RETURN, THROWERROR, QProblemB::ub, QProblemB::usingRegularisation(), QProblemB::x, and QProblemB::y.

Referenced by getKktViolation(), and main().

real_t SolutionAnalysis::getKktViolation ( QProblem *const  qp,
real_t *const  maxStat = 0,
real_t *const  maxFeas = 0,
real_t *const  maxCmpl = 0 
) const

Computes the maximum violation of the KKT optimality conditions of the current iterate within the QProblem object.

Returns:
Maximum violation of the KKT conditions (or INFTY on error).
Parameters:
qpQProblem to be analysed.
maxStatOutput: maximum value of stationarity condition residual.
maxFeasOutput: maximum value of primal feasibility violation.
maxCmplOutput: maximum value of complementarity residual.

References QProblem::A, BT_FALSE, BT_TRUE, Matrix::full(), QProblemB::g, QProblemB::getHessianType(), getKktViolation(), getMax(), QProblem::getNC(), QProblemB::getNV(), QProblem::getWorkingSetBounds(), QProblem::getWorkingSetConstraints(), QProblemB::H, HST_IDENTITY, HST_ZERO, INFTY, QProblemB::lb, QProblem::lbA, real_t, REFER_NAMESPACE_QPOASES, QProblemB::regVal, SUCCESSFUL_RETURN, THROWERROR, QProblemB::ub, QProblem::ubA, QProblemB::usingRegularisation(), QProblemB::x, and QProblemB::y.

real_t SolutionAnalysis::getKktViolation ( SQProblem *const  qp,
real_t *const  maxStat = 0,
real_t *const  maxFeas = 0,
real_t *const  maxCmpl = 0 
) const

Computes the maximum violation of the KKT optimality conditions of the current iterate within the SQProblem object.

Returns:
Maximum violation of the KKT conditions (or INFTY on error).
Parameters:
qpSQProblem to be analysed.
maxStatOutput: maximum value of stationarity condition residual.
maxFeasOutput: maximum value of primal feasibility violation.
maxCmplOutput: maximum value of complementarity residual.

References getKktViolation().

returnValue SolutionAnalysis::getVarianceCovariance ( QProblemB *const  qp,
const real_t *const  g_b_bA_VAR,
real_t *const  Primal_Dual_VAR 
) const

Computes the variance-covariance matrix of the QP output for uncertain inputs.

Returns:
SUCCESSFUL_RETURN
RET_HOTSTART_FAILED
RET_STEPDIRECTION_FAILED_TQ
RET_STEPDIRECTION_FAILED_CHOLESKY
Parameters:
qpQProblemB to be analysed.
g_b_bA_VARInput: Variance-covariance of g, the bounds lb and ub, and lbA and ubA respectively. Dimension: 2nV x 2nV
Primal_Dual_VAROutput: 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 *const  qp,
const real_t *const  g_b_bA_VAR,
real_t *const  Primal_Dual_VAR 
) const

Computes the variance-covariance matrix of the QP output for uncertain inputs.

Returns:
SUCCESSFUL_RETURN
RET_HOTSTART_FAILED
RET_STEPDIRECTION_FAILED_TQ
RET_STEPDIRECTION_FAILED_CHOLESKY
Parameters:
qpQProblem to be analysed.
g_b_bA_VARInput: Variance-covariance of g, the bounds lb and ub, and lbA and ubA respectively. Dimension: (2nV+nC) x (2nV+nC)
Primal_Dual_VAROutput: 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 *const  qp,
const real_t *const  g_b_bA_VAR,
real_t *const  Primal_Dual_VAR 
) const

Computes the variance-covariance matrix of the QP output for uncertain inputs.

Returns:
SUCCESSFUL_RETURN
RET_HOTSTART_FAILED
RET_STEPDIRECTION_FAILED_TQ
RET_STEPDIRECTION_FAILED_CHOLESKY
Parameters:
qpSQProblem to be analysed.
g_b_bA_VARInput: Variance-covariance of g, the bounds lb and ub, and lbA and ubA respectively. Dimension: (2nV+nC) x (2nV+nC)
Primal_Dual_VAROutput: 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).

Parameters:
rhsRhs object.

The documentation for this class was generated from the following files: