qpOASES
3.2.1
An Implementation of the Online Active Set Strategy
|
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 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_t _nV, 00077 int_t _nC, 00078 HessianType _hessianType = HST_UNKNOWN, 00079 BooleanType allocDenseMats = BT_TRUE 00080 ); 00081 00083 SQProblem( const SQProblem& rhs 00084 ); 00085 00087 virtual ~SQProblem( ); 00088 00090 virtual SQProblem& operator=( const SQProblem& rhs 00091 ); 00092 00093 00108 returnValue hotstart( SymmetricMatrix *H_new, 00110 const real_t* const g_new, 00111 Matrix *A_new, 00113 const real_t* const lb_new, 00115 const real_t* const ub_new, 00117 const real_t* const lbA_new, 00119 const real_t* const ubA_new, 00121 int_t& nWSR, 00123 real_t* const cputime = 0, 00125 const Bounds* const guessedBounds = 0, 00127 const Constraints* const guessedConstraints = 0 00129 ); 00130 00145 returnValue hotstart( const real_t* const H_new, 00147 const real_t* const g_new, 00148 const real_t* const A_new, 00150 const real_t* const lb_new, 00152 const real_t* const ub_new, 00154 const real_t* const lbA_new, 00156 const real_t* const ubA_new, 00158 int_t& nWSR, 00160 real_t* const cputime = 0, 00162 const Bounds* const guessedBounds = 0, 00164 const Constraints* const guessedConstraints = 0 00166 ); 00167 00184 returnValue hotstart( const char* const H_file, 00186 const char* const g_file, 00187 const char* const A_file, 00189 const char* const lb_file, 00191 const char* const ub_file, 00193 const char* const lbA_file, 00195 const char* const ubA_file, 00197 int_t& nWSR, 00199 real_t* const cputime = 0, 00201 const Bounds* const guessedBounds = 0, 00203 const Constraints* const guessedConstraints = 0 00205 ); 00206 00225 returnValue hotstart( const real_t* const g_new, 00226 const real_t* const lb_new, 00228 const real_t* const ub_new, 00230 const real_t* const lbA_new, 00232 const real_t* const ubA_new, 00234 int_t& nWSR, 00236 real_t* const cputime = 0, 00238 const Bounds* const guessedBounds = 0, 00240 const Constraints* const guessedConstraints = 0 00242 ); 00243 00264 returnValue hotstart( const char* const g_file, 00265 const char* const lb_file, 00267 const char* const ub_file, 00269 const char* const lbA_file, 00271 const char* const ubA_file, 00273 int_t& nWSR, 00275 real_t* const cputime = 0, 00277 const Bounds* const guessedBounds = 0, 00279 const Constraints* const guessedConstraints = 0 00281 ); 00282 00283 00284 #ifdef __MATLAB__ 00285 00288 returnValue resetMatrixPointers( ); 00289 #endif 00290 00291 00292 /* 00293 * PROTECTED MEMBER FUNCTIONS 00294 */ 00295 protected: 00296 00305 virtual returnValue setupNewAuxiliaryQP( SymmetricMatrix *H_new, 00307 Matrix *A_new, 00309 const real_t *lb_new, 00311 const real_t *ub_new, 00313 const real_t *lbA_new, 00315 const real_t *ubA_new 00317 ); 00318 00327 virtual returnValue setupNewAuxiliaryQP( const real_t* const H_new, 00329 const real_t* const A_new, 00331 const real_t *lb_new, 00333 const real_t *ub_new, 00335 const real_t *lbA_new, 00337 const real_t *ubA_new 00339 ); 00340 00341 00342 /* 00343 * PROTECTED MEMBER VARIABLES 00344 */ 00345 protected: 00346 00347 }; 00348 00349 00350 END_NAMESPACE_QPOASES 00351 00352 #include <qpOASES/SQProblem.ipp> 00353 00354 #endif /* QPOASES_SQPROBLEM_HPP */ 00355 00356 00357 /* 00358 * end of file 00359 */