qpOASES  3.2.1
An Implementation of the Online Active Set Strategy
include/qpOASES/extras/SolutionAnalysis.hpp
Go to the documentation of this file.
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  */