00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
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
00062 friend class SolutionAnalysis;
00063
00064
00065
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
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
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
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
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
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
00331
00332 protected:
00341 virtual returnValue setupAuxiliaryQP( const real_t* const H_new,
00343 const real_t* const A_new
00345 );
00346
00355 virtual returnValue setupAuxiliaryQP( SymmetricMatrix *H_new,
00357 Matrix *A_new
00359 );
00360
00361
00362
00363
00364 protected:
00365
00366 };
00367
00368
00369 END_NAMESPACE_QPOASES
00370
00371 #include <qpOASES/SQProblem.ipp>
00372
00373 #endif
00374
00375
00376
00377
00378