lsq_end_term.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_LSQ_END_TERM_HPP
35 #define ACADO_TOOLKIT_LSQ_END_TERM_HPP
36 
37 
39 
40 
42 
43 
44 
62 
63  //
64  // PUBLIC MEMBER FUNCTIONS:
65  //
66  public:
67 
69  LSQEndTerm( );
70 
72  LSQEndTerm( const Grid& grid_,
73  const DMatrix &S_,
74  const Function &m_,
75  const DVector &r_ );
76 
78  LSQEndTerm( const LSQEndTerm& rhs );
79 
81  virtual ~LSQEndTerm( );
82 
84  LSQEndTerm& operator=( const LSQEndTerm& rhs );
85 
86 
87 
88 // =======================================================================================
89 //
90 // INITIALIZATION ROUTINES
91 //
92 // =======================================================================================
93 
94 
95  inline returnValue init( const Grid& grid_,
96  const DMatrix &S_,
97  const Function& m_,
98  const DVector &r_ );
99 
100 
101 
102 
103 // =======================================================================================
104 //
105 // EVALUATION ROUTINES
106 //
107 // =======================================================================================
108 
109 
110  returnValue evaluate( const OCPiterate &x );
111 
112 
113 
120 
121 
129 
130 
132  inline BooleanType isAffine();
133 
134 
136  inline BooleanType isQuadratic();
137 
138 
140  inline BooleanType isConvex();
141 
142 
147  inline returnValue setReference( const DVector &ref );
148 
149 
150 // =======================================================================================
151 
152 
153  //
154  // DATA MEMBERS:
155  //
156  protected:
157 
161  double *S_h_res ;
165 };
166 
167 
169 
170 
171 
172 #include <acado/objective/lsq_end_term.ipp>
173 
174 #endif // ACADO_TOOLKIT_LSQ_END_TERM_HPP
175 
176 /*
177  * end of file
178  */
Data class for storing generic optimization variables.
Definition: ocp_iterate.hpp:57
Implements a very rudimentary block sparse matrix class.
Base class for all kind of objective function terms within optimal control problems.
LSQEndTerm & operator=(const LSQEndTerm &rhs)
Allows to setup and evaluate a general function based on SymbolicExpressions.
Definition: function_.hpp:59
BooleanType isAffine()
Allows to pass back messages to the calling function.
Allows to conveniently handle (one-dimensional) grids consisting of time points.
Definition: grid.hpp:58
#define CLOSE_NAMESPACE_ACADO
returnValue evaluateSensitivitiesGN(BlockMatrix *GNhessian)
returnValue init(const Grid &grid_, const DMatrix &S_, const Function &m_, const DVector &r_)
Stores and evaluates LSQ mayer terms within optimal control problems.
returnValue evaluateSensitivities(BlockMatrix *hessian)
void rhs(const real_t *x, real_t *f)
double * S_h_res
#define BEGIN_NAMESPACE_ACADO
virtual ~LSQEndTerm()
BooleanType isConvex()
BooleanType isQuadratic()
returnValue evaluate(const OCPiterate &x)
returnValue setReference(const DVector &ref)


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