export_gauss_newton_block_forces.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_BLOCK_FORCES_HPP
33 #define ACADO_TOOLKIT_EXPORT_GAUSS_NEWTON_BLOCK_FORCES_HPP
34 
38 
40 
42 
53 {
54 public:
55 
61  ExportGaussNewtonBlockForces( UserInteraction* _userInteraction = 0,
62  const std::string& _commonHeaderName = ""
63  );
64 
67  {}
68 
73  virtual returnValue setup( );
74 
75 
84  );
85 
86 
87 protected:
88 
89  virtual returnValue setupCondensing( );
90 
97 
102  virtual returnValue setupVariables( );
103 
108  virtual returnValue setupEvaluation( );
109 
110  virtual returnValue setupQPInterface( );
111 
112 protected:
113 
116  std::string qpModuleName;
117  std::string qpObjPrefix;
120  std::vector< ExportVariable > objHessians;
121  std::vector< ExportVariable > objGradients;
122 
123  std::vector< ExportVariable > conLB;
124  std::vector< ExportVariable > conUB;
125  std::vector< std::vector< unsigned > > conLBIndices, conUBIndices;
126 
127  std::vector< ExportVariable > conA, conAB;
129  std::vector< unsigned > conABDimensions;
130 
131  std::vector< ExportVariable > conC;
132  std::vector< ExportVariable > cond;
133 
135  std::shared_ptr< ExportForcesInterface > qpInterface;
136  std::shared_ptr< ExportForcesGenerator > qpGenerator;
137 
138 };
139 
141 
142 #endif // ACADO_TOOLKIT_EXPORT_GAUSS_NEWTON_BLOCK_QPDUNES_HPP
std::vector< std::vector< unsigned > > conLBIndices
Allows to pass back messages to the calling function.
#define CLOSE_NAMESPACE_ACADO
std::vector< std::vector< unsigned > > conUBIndices
An OCP solver based on the block N^2 condensing algorithm.
Interface generator for the qpDUNES QP solver.
virtual returnValue setupConstraintsEvaluation(void)
Encapsulates all user interaction for setting options, logging data and plotting results.
Allows to export code of an arbitrary function.
ExportGaussNewtonBlockForces(UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
An OCP solver based on the block N^2 condensing algorithm, in combination with qpDUNES as the QP solv...
virtual returnValue getCode(ExportStatementBlock &code)
std::shared_ptr< ExportForcesInterface > qpInterface
#define BEGIN_NAMESPACE_ACADO
Allows to export code for a block of statements.
std::shared_ptr< ExportForcesGenerator > qpGenerator


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