qpOASES  3.1.1
include/qpOASES/SQProblem.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-2015 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 
00038 #ifndef QPOASES_SQPROBLEM_HPP
00039 #define QPOASES_SQPROBLEM_HPP
00040 
00041 
00042 #include <qpOASES/QProblem.hpp>
00043 
00044 
00045 BEGIN_NAMESPACE_QPOASES
00046 
00047 
00059 class SQProblem : public QProblem
00060 {
00061     /* allow SolutionAnalysis class to access private members */
00062     friend class SolutionAnalysis;
00063 
00064     /*
00065      *  PUBLIC MEMBER FUNCTIONS
00066      */
00067     public:
00069         SQProblem( );
00070 
00076         SQProblem(  int _nV,                                
00077                     int _nC,                                
00078                     HessianType _hessianType = HST_UNKNOWN  
00079                     );
00080 
00082         SQProblem(  const SQProblem& rhs    
00083                     );
00084 
00086         virtual ~SQProblem( );
00087 
00089         SQProblem& operator=(   const SQProblem& rhs    
00090                                 );
00091 
00092 
00107         returnValue hotstart(   SymmetricMatrix *H_new,                         
00109                                 const real_t* const g_new,                      
00110                                 Matrix *A_new,                                  
00112                                 const real_t* const lb_new,                     
00114                                 const real_t* const ub_new,                     
00116                                 const real_t* const lbA_new,                    
00118                                 const real_t* const ubA_new,                    
00120                                 int& nWSR,                                      
00122                                 real_t* const cputime = 0,                      
00124                                 const Bounds* const guessedBounds = 0,          
00126                                 const Constraints* const guessedConstraints = 0 
00128                                 );
00129         
00144         returnValue hotstart(   const real_t* const H_new,                      
00146                                 const real_t* const g_new,                      
00147                                 const real_t* const A_new,                      
00149                                 const real_t* const lb_new,                     
00151                                 const real_t* const ub_new,                     
00153                                 const real_t* const lbA_new,                    
00155                                 const real_t* const ubA_new,                    
00157                                 int& nWSR,                                      
00159                                 real_t* const cputime = 0,                      
00161                                 const Bounds* const guessedBounds = 0,          
00163                                 const Constraints* const guessedConstraints = 0 
00165                                 );
00166 
00183         returnValue hotstart(   const char* const H_file,                       
00185                                 const char* const g_file,                       
00186                                 const char* const A_file,                       
00188                                 const char* const lb_file,                      
00190                                 const char* const ub_file,                      
00192                                 const char* const lbA_file,                     
00194                                 const char* const ubA_file,                     
00196                                 int& nWSR,                                      
00198                                 real_t* const cputime = 0,                      
00200                                 const Bounds* const guessedBounds = 0,          
00202                                 const Constraints* const guessedConstraints = 0 
00204                                 );
00205 
00224         returnValue hotstart(   const real_t* const g_new,                      
00225                                 const real_t* const lb_new,                     
00227                                 const real_t* const ub_new,                     
00229                                 const real_t* const lbA_new,                    
00231                                 const real_t* const ubA_new,                    
00233                                 int& nWSR,                                      
00235                                 real_t* const cputime = 0,                      
00237                                 const Bounds* const guessedBounds = 0,          
00239                                 const Constraints* const guessedConstraints = 0 
00241                                 );
00242 
00263         returnValue hotstart(   const char* const g_file,                       
00264                                 const char* const lb_file,                      
00266                                 const char* const ub_file,                      
00268                                 const char* const lbA_file,                      
00270                                 const char* const ubA_file,                      
00272                                 int& nWSR,                                      
00274                                 real_t* const cputime = 0,                      
00276                                 const Bounds* const guessedBounds = 0,          
00278                                 const Constraints* const guessedConstraints = 0 
00280                                 );
00281 
00282 
00283         #ifdef __MATLAB__
00284 
00287         returnValue resetMatrixPointers( );
00288         #endif
00289 
00290 
00291     /*
00292      *  PROTECTED MEMBER FUNCTIONS
00293      */
00294     protected:
00295 
00304         virtual returnValue setupNewAuxiliaryQP(    SymmetricMatrix *H_new,     
00306                                                     Matrix *A_new,              
00308                                                     const real_t *lb_new,       
00310                                                     const real_t *ub_new,       
00312                                                     const real_t *lbA_new,      
00314                                                     const real_t *ubA_new       
00316                                                     );
00317 
00326         virtual returnValue setupNewAuxiliaryQP(    const real_t* const H_new,  
00328                                                     const real_t* const A_new,  
00330                                                     const real_t *lb_new,       
00332                                                     const real_t *ub_new,       
00334                                                     const real_t *lbA_new,      
00336                                                     const real_t *ubA_new       
00338                                                     );
00339 
00340 
00341     /*
00342      *  PROTECTED MEMBER VARIABLES
00343      */
00344     protected:
00345 
00346 };
00347 
00348 
00349 END_NAMESPACE_QPOASES
00350 
00351 #include <qpOASES/SQProblem.ipp>
00352 
00353 #endif  /* QPOASES_SQPROBLEM_HPP */
00354 
00355 
00356 /*
00357  *  end of file
00358  */