qpOASES  3.0.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-2014 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 
00106         returnValue hotstart(   const real_t* const H_new,  
00108                                 const real_t* const g_new,  
00109                                 const real_t* const A_new,  
00111                                 const real_t* const lb_new, 
00113                                 const real_t* const ub_new, 
00115                                 const real_t* const lbA_new,
00117                                 const real_t* const ubA_new,
00119                                 int& nWSR,                  
00121                                 real_t* const cputime = 0   
00123                                 );
00124 
00141         returnValue hotstart(   const char* const H_file,   
00143                                 const char* const g_file,   
00144                                 const char* const A_file,   
00146                                 const char* const lb_file,  
00148                                 const char* const ub_file,  
00150                                 const char* const lbA_file, 
00152                                 const char* const ubA_file, 
00154                                 int& nWSR,                  
00156                                 real_t* const cputime = 0   
00158                                 );
00159 
00173         returnValue hotstart(   SymmetricMatrix *H_new,     
00175                                 const real_t* const g_new,  
00176                                 Matrix *A_new,              
00178                                 const real_t* const lb_new, 
00180                                 const real_t* const ub_new, 
00182                                 const real_t* const lbA_new,
00184                                 const real_t* const ubA_new,
00186                                 int& nWSR,                  
00188                                 real_t* const cputime = 0   
00190                                 );
00191 
00205         returnValue hotstart(   const real_t* const g_new,      
00206                                 const real_t* const lb_new,     
00208                                 const real_t* const ub_new,     
00210                                 const real_t* const lbA_new,    
00212                                 const real_t* const ubA_new,    
00214                                 int& nWSR,                      
00216                                 real_t* const cputime = 0       
00218                                 );
00219 
00235         returnValue hotstart(   const char* const g_file,   
00236                                 const char* const lb_file,  
00238                                 const char* const ub_file,  
00240                                 const char* const lbA_file, 
00242                                 const char* const ubA_file, 
00244                                 int& nWSR,                  
00246                                 real_t* const cputime = 0   
00248                                 );
00249 
00265         returnValue hotstart(   const real_t* const g_new,                  
00266                                 const real_t* const lb_new,                 
00268                                 const real_t* const ub_new,                 
00270                                 const real_t* const lbA_new,                
00272                                 const real_t* const ubA_new,                
00274                                 int& nWSR,                                  
00276                                 real_t* const cputime,                      
00278                                 const Bounds* const guessedBounds,          
00280                                 const Constraints* const guessedConstraints 
00282                                 );
00283 
00300         returnValue hotstart(   const char* const g_file,                   
00301                                 const char* const lb_file,                  
00303                                 const char* const ub_file,                  
00305                                 const char* const lbA_file,                 
00307                                 const char* const ubA_file,                 
00309                                 int& nWSR,                                  
00311                                 real_t* const cputime,                      
00313                                 const Bounds* const guessedBounds,          
00315                                 const Constraints* const guessedConstraints 
00317                                 );
00318 
00319 
00320 
00321         #ifdef __MATLAB__
00322 
00325         returnValue resetMatrixPointers( );
00326         #endif
00327 
00328 
00329     /*
00330      *  PROTECTED MEMBER FUNCTIONS
00331      */
00332     protected:
00341         virtual returnValue setupAuxiliaryQP(   const real_t* const H_new,  
00343                                                 const real_t* const A_new,  
00345                                                 const real_t *lb_new,       
00347                                                 const real_t *ub_new,       
00349                                                 const real_t *lbA_new,      
00351                                                 const real_t *ubA_new       
00353                                                 );
00354 
00363         virtual returnValue setupAuxiliaryQP(   SymmetricMatrix *H_new,     
00365                                                 Matrix *A_new,              
00367                                                 const real_t *lb_new,       
00369                                                 const real_t *ub_new,       
00371                                                 const real_t *lbA_new,      
00373                                                 const real_t *ubA_new       
00375                                                 );
00376 
00377     /*
00378      *  PROTECTED MEMBER VARIABLES
00379      */
00380     protected:
00381 
00382 };
00383 
00384 
00385 END_NAMESPACE_QPOASES
00386 
00387 #include <qpOASES/SQProblem.ipp>
00388 
00389 #endif  /* QPOASES_SQPROBLEM_HPP */
00390 
00391 
00392 /*
00393  *  end of file
00394  */