qpOASES
3.2.1
An Implementation of the Online Active Set Strategy
|
00001 /* 00002 * This file is part of qpOASES. 00003 * 00004 * qpOASES -- An Implementation of the Online Active Set Strategy. 00005 * Copyright (C) 2007-2017 by Hans Joachim Ferreau, Andreas Potschka, 00006 * Christian Kirches et al. All rights reserved. 00007 * 00008 * qpOASES is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * qpOASES is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 * See the GNU Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with qpOASES; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 * 00022 */ 00023 00024 00036 #ifndef QPOASES_SOLUTIONANALYSIS_HPP 00037 #define QPOASES_SOLUTIONANALYSIS_HPP 00038 00039 00040 #include <qpOASES/SQProblem.hpp> 00041 #include <qpOASES/SQProblemSchur.hpp> 00042 00043 00044 BEGIN_NAMESPACE_QPOASES 00045 00046 00057 class SolutionAnalysis 00058 { 00059 /* 00060 * PUBLIC MEMBER FUNCTIONS 00061 */ 00062 public: 00064 SolutionAnalysis( ); 00065 00067 SolutionAnalysis( const SolutionAnalysis& rhs 00068 ); 00069 00071 ~SolutionAnalysis( ); 00072 00074 SolutionAnalysis& operator=( const SolutionAnalysis& rhs 00075 ); 00076 00077 00081 real_t getKktViolation( QProblemB* const qp, 00082 real_t* const maxStat = 0, 00083 real_t* const maxFeas = 0, 00084 real_t* const maxCmpl = 0 00085 ) const; 00086 00090 real_t getKktViolation( QProblem* const qp, 00091 real_t* const maxStat = 0, 00092 real_t* const maxFeas = 0, 00093 real_t* const maxCmpl = 0 00094 ) const; 00095 00099 real_t getKktViolation( SQProblem* const qp, 00100 real_t* const maxStat = 0, 00101 real_t* const maxFeas = 0, 00102 real_t* const maxCmpl = 0 00103 ) const; 00104 00105 00112 returnValue getVarianceCovariance( QProblemB* const qp, 00113 const real_t* const g_b_bA_VAR, 00115 real_t* const Primal_Dual_VAR 00117 ) const; 00118 00125 returnValue getVarianceCovariance( QProblem* const qp, 00126 const real_t* const g_b_bA_VAR, 00128 real_t* const Primal_Dual_VAR 00130 ) const; 00131 00138 returnValue getVarianceCovariance( SQProblem* const qp, 00139 const real_t* const g_b_bA_VAR, 00141 real_t* const Primal_Dual_VAR 00143 ) const; 00144 00146 returnValue checkCurvatureOnStronglyActiveConstraints( SQProblemSchur* qp ); 00147 returnValue checkCurvatureOnStronglyActiveConstraints( SQProblem* qp ); 00148 00149 /* 00150 * PROTECTED MEMBER VARIABLES 00151 */ 00152 protected: 00153 00154 }; 00155 00156 00157 END_NAMESPACE_QPOASES 00158 00159 #include <qpOASES/extras/SolutionAnalysis.ipp> 00160 00161 #endif /* QPOASES_SOLUTIONANALYSIS_HPP */ 00162 00163 00164 /* 00165 * end of file 00166 */