export_gauss_newton_cn2.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 
32 #ifndef ACADO_TOOLKIT_EXPORT_GAUSS_NEWTON_CN2_HPP
33 #define ACADO_TOOLKIT_EXPORT_GAUSS_NEWTON_CN2_HPP
34 
36 
38 
49 {
50 public:
51 
57  ExportGaussNewtonCN2( UserInteraction* _userInteraction = 0,
58  const std::string& _commonHeaderName = ""
59  );
60 
63  {}
64 
69  virtual returnValue setup( );
70 
79  ExportStruct dataStruct = ACADO_ANY
80  ) const;
81 
90  ) const;
91 
92 
101  );
102 
103 
108  unsigned getNumQPvars( ) const;
109 
114  virtual unsigned getNumStateBounds( ) const;
115 
116 protected:
117 
124  virtual returnValue setupObjectiveEvaluation( void );
125 
131  virtual returnValue setupConstraintsEvaluation( void );
132 
137  virtual returnValue setupVariables( );
138 
144 
149  virtual returnValue setupEvaluation( );
150 
151  virtual returnValue setupQPInterface( );
152 
153  virtual returnValue setupCondensing( );
154 
155  bool performFullCondensing( ) const;
156 
157 protected:
158 
160 
162 
167 
172 
175 
178 
181 
184 
187 
190 
193 
194  std::vector< unsigned > xBoundsIdx;
197 
201 
203 
222 
226 
237 
239 
240  //
241  // N2 condensing related
242  //
245 
249 
250  // lagrange multipliers
252 
253  // H00 and H10 computations
255 };
256 
258 
259 #endif // ACADO_TOOLKIT_EXPORT_GAUSS_NEWTON_CN2_HPP
virtual returnValue setupCondensing()
virtual returnValue setupMultiplicationRoutines()
virtual returnValue setupObjectiveEvaluation(void)
Allows to pass back messages to the calling function.
virtual returnValue setupConstraintsEvaluation(void)
#define CLOSE_NAMESPACE_ACADO
Base class for export of NLP/OCP solvers.
virtual returnValue setup()
virtual returnValue setupEvaluation()
ExportStruct
virtual returnValue setupQPInterface()
Encapsulates all user interaction for setting options, logging data and plotting results.
Allows to export code of an arbitrary function.
An OCP solver based on the N^2 condensing algorithm.
virtual unsigned getNumStateBounds() const
virtual returnValue getFunctionDeclarations(ExportStatementBlock &declarations) const
ExportGaussNewtonCN2(UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
#define BEGIN_NAMESPACE_ACADO
virtual returnValue setupVariables()
std::vector< unsigned > xBoundsIdx
virtual returnValue getCode(ExportStatementBlock &code)
Allows to export code for a block of statements.
Defines a matrix-valued variable to be used for exporting code.
virtual returnValue getDataDeclarations(ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const


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