qpOASES
3.1.1
|
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 */