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