qp_solver_qpoases.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of ACADO Toolkit.
3  *
4  * ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
5  * Copyright (C) 2008-2014 by Boris Houska, Hans Joachim Ferreau,
6  * Milan Vukov, Rien Quirynen, KU Leuven.
7  * Developed within the Optimization in Engineering Center (OPTEC)
8  * under supervision of Moritz Diehl. All rights reserved.
9  *
10  * ACADO Toolkit is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 3 of the License, or (at your option) any later version.
14  *
15  * ACADO Toolkit is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with ACADO Toolkit; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  */
25 
26 
34 #ifndef ACADO_TOOLKIT_QP_SOLVER_QPOASES_HPP
35 #define ACADO_TOOLKIT_QP_SOLVER_QPOASES_HPP
36 
37 
39 
40 namespace qpOASES
41 {
42  class SQProblem;
43 }
44 
46 
58 {
59  //
60  // PUBLIC MEMBER FUNCTIONS:
61  //
62  public:
65 
66  QPsolver_qpOASES( UserInteraction* _userInteraction
67  );
68 
71 
73  virtual ~QPsolver_qpOASES( );
74 
76  QPsolver_qpOASES& operator=( const QPsolver_qpOASES& rhs );
77 
78 
79  virtual DenseCPsolver* clone( ) const;
80 
81  virtual DenseQPsolver* cloneDenseQPsolver( ) const;
82 
83 
85  virtual returnValue solve( DenseCP *cp_ );
86 
87 
93  virtual returnValue solve( double* H,
94  double* A,
95  double* g,
96  double* lb,
97  double* ub,
98  double* lbA,
99  double* ubA,
100  uint maxIter
101  );
102 
104  virtual returnValue solve( DMatrix *H,
105  DMatrix *A,
106  DVector *g,
107  DVector *lb,
108  DVector *ub,
109  DVector *lbA,
110  DVector *ubA,
111  uint maxIter
112  );
113 
114 
120  virtual returnValue step( double* H,
121  double* A,
122  double* g,
123  double* lb,
124  double* ub,
125  double* lbA,
126  double* ubA
127  );
128 
134  virtual returnValue step( DMatrix *H,
135  DMatrix *A,
136  DVector *g,
137  DVector *lb,
138  DVector *ub,
139  DVector *lbA,
140  DVector *ubA
141  );
142 
143 
147  virtual returnValue getPrimalSolution( DVector& xOpt
148  ) const;
149 
153  virtual returnValue getDualSolution( DVector& yOpt
154  ) const;
155 
160  virtual double getObjVal( ) const;
161 
162 
163  virtual uint getNumberOfVariables( ) const;
164  virtual uint getNumberOfConstraints( ) const;
165 
166 
172  virtual returnValue getVarianceCovariance( DMatrix &var );
173 
174 
180  virtual returnValue getVarianceCovariance( DMatrix &H, DMatrix &var );
181 
182 
183 
184  //
185  // PROTECTED MEMBER FUNCTIONS:
186  //
187  protected:
191  virtual returnValue setupQPobject( uint nV,
192  uint nC
193  );
194 
195  returnValue updateQPstatus( int ret
196  );
197 
198 
199 
200  //
201  // DATA MEMBERS:
202  //
203  protected:
204  qpOASES::SQProblem* qp;
205 };
206 
207 
209 
210 
211 #include <acado/bindings/acado_qpoases/qp_solver_qpoases.ipp>
212 
213 
214 #endif // ACADO_TOOLKIT_QP_SOLVER_QPOASES_HPP
215 
216 /*
217  * end of file
218  */
Implements the online active set strategy for QPs with varying matrices.
Allows to pass back messages to the calling function.
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
Definition: acado_types.hpp:42
#define CLOSE_NAMESPACE_ACADO
(not yet documented)
Abstract base class for algorithms solving quadratic programs.
Data class for storing generic conic programs.
Definition: dense_cp.hpp:55
Encapsulates all user interaction for setting options, logging data and plotting results.
qpOASES::SQProblem * qp
void rhs(const real_t *x, real_t *f)
#define BEGIN_NAMESPACE_ACADO
Base class for algorithms solving conic programs.


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