qpOASES-3.2.0/include/qpOASES/SQProblem.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of qpOASES.
3  *
4  * qpOASES -- An Implementation of the Online Active Set Strategy.
5  * Copyright (C) 2007-2015 by Hans Joachim Ferreau, Andreas Potschka,
6  * Christian Kirches et al. All rights reserved.
7  *
8  * qpOASES is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * qpOASES is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with qpOASES; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  *
22  */
23 
24 
38 #ifndef QPOASES_SQPROBLEM_HPP
39 #define QPOASES_SQPROBLEM_HPP
40 
41 
42 #include <qpOASES/QProblem.hpp>
43 
44 
46 
47 
59 class SQProblem : public QProblem
60 {
61  /* allow SolutionAnalysis class to access private members */
62  friend class SolutionAnalysis;
63 
64  /*
65  * PUBLIC MEMBER FUNCTIONS
66  */
67  public:
69  SQProblem( );
70 
76  SQProblem( int_t _nV,
77  int_t _nC,
78  HessianType _hessianType = HST_UNKNOWN
79  );
80 
82  SQProblem( const SQProblem& rhs
83  );
84 
86  virtual ~SQProblem( );
87 
89  virtual SQProblem& operator=( const SQProblem& rhs
90  );
91 
92 
109  const real_t* const g_new,
110  Matrix *A_new,
112  const real_t* const lb_new,
114  const real_t* const ub_new,
116  const real_t* const lbA_new,
118  const real_t* const ubA_new,
120  int_t& nWSR,
122  real_t* const cputime = 0,
124  const Bounds* const guessedBounds = 0,
126  const Constraints* const guessedConstraints = 0
128  );
129 
144  returnValue hotstart( const real_t* const H_new,
146  const real_t* const g_new,
147  const real_t* const A_new,
149  const real_t* const lb_new,
151  const real_t* const ub_new,
153  const real_t* const lbA_new,
155  const real_t* const ubA_new,
157  int_t& nWSR,
159  real_t* const cputime = 0,
161  const Bounds* const guessedBounds = 0,
163  const Constraints* const guessedConstraints = 0
165  );
166 
183  returnValue hotstart( const char* const H_file,
185  const char* const g_file,
186  const char* const A_file,
188  const char* const lb_file,
190  const char* const ub_file,
192  const char* const lbA_file,
194  const char* const ubA_file,
196  int_t& nWSR,
198  real_t* const cputime = 0,
200  const Bounds* const guessedBounds = 0,
202  const Constraints* const guessedConstraints = 0
204  );
205 
224  returnValue hotstart( const real_t* const g_new,
225  const real_t* const lb_new,
227  const real_t* const ub_new,
229  const real_t* const lbA_new,
231  const real_t* const ubA_new,
233  int_t& nWSR,
235  real_t* const cputime = 0,
237  const Bounds* const guessedBounds = 0,
239  const Constraints* const guessedConstraints = 0
241  );
242 
263  returnValue hotstart( const char* const g_file,
264  const char* const lb_file,
266  const char* const ub_file,
268  const char* const lbA_file,
270  const char* const ubA_file,
272  int_t& nWSR,
274  real_t* const cputime = 0,
276  const Bounds* const guessedBounds = 0,
278  const Constraints* const guessedConstraints = 0
280  );
281 
282 
283  #ifdef __MATLAB__
284 
287  returnValue resetMatrixPointers( );
288  #endif
289 
290 
291  /*
292  * PROTECTED MEMBER FUNCTIONS
293  */
294  protected:
295 
306  Matrix *A_new,
308  const real_t *lb_new,
310  const real_t *ub_new,
312  const real_t *lbA_new,
314  const real_t *ubA_new
316  );
317 
326  virtual returnValue setupNewAuxiliaryQP( const real_t* const H_new,
328  const real_t* const A_new,
330  const real_t *lb_new,
332  const real_t *ub_new,
334  const real_t *lbA_new,
336  const real_t *ubA_new
338  );
339 
340 
341  /*
342  * PROTECTED MEMBER VARIABLES
343  */
344  protected:
345 
346 };
347 
348 
350 
351 #include <qpOASES/SQProblem.ipp>
352 
353 #endif /* QPOASES_SQPROBLEM_HPP */
354 
355 
356 /*
357  * end of file
358  */
Implements the online active set strategy for QPs with varying matrices.
Allows to pass back messages to the calling function.
SQProblem & operator=(const SQProblem &rhs)
Abstract base class for interfacing tailored matrix-vector operations.
void rhs(const real_t *x, real_t *f)
#define HST_UNKNOWN
virtual returnValue setupNewAuxiliaryQP(SymmetricMatrix *H_new, Matrix *A_new, const real_t *lb_new, const real_t *ub_new, const real_t *lbA_new, const real_t *ubA_new)
Manages working sets of bounds (= box constraints).
double real_t
Definition: AD_test.c:10
Implements the online active set strategy for QPs with general constraints.
Abstract base class for interfacing matrix-vector operations tailored to symmetric matrices...
returnValue hotstart(const real_t *const H_new, const real_t *const g_new, const real_t *const A_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int &nWSR, real_t *const cputime)


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:11