mayer_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 
27 
35 #ifndef ACADO_TOOLKIT_MAYER_TERM_HPP
36 #define ACADO_TOOLKIT_MAYER_TERM_HPP
37 
38 
40 
41 
42 
44 
45 
46 
57 class MayerTerm : public ObjectiveElement{
58 
59 
60  //
61  // PUBLIC MEMBER FUNCTIONS:
62  //
63  public:
64 
66  MayerTerm( );
67 
69  MayerTerm( const Grid &grid_,
70  const Expression& arg );
71 
73  MayerTerm( const Grid &grid_,
74  const Function& arg );
75 
77  MayerTerm( const MayerTerm& rhs );
78 
80  virtual ~MayerTerm( );
81 
83  MayerTerm& operator=( const MayerTerm& rhs );
84 
85 
86 
87 // =======================================================================================
88 //
89 // INITIALIZATION ROUTINES
90 //
91 // =======================================================================================
92 
93 
94  inline returnValue init( const Grid &grid_, const Expression& arg );
95 
96 
97 
98 // =======================================================================================
99 //
100 // EVALUATION ROUTINES
101 //
102 // =======================================================================================
103 
104 
105  returnValue evaluate( const OCPiterate &x );
106 
107 
114 
115 
116 
117 // =======================================================================================
118 
119 
120  //
121  // DATA MEMBERS:
122  //
123  protected:
124 
125 };
126 
127 
129 
130 
131 #include <acado/objective/mayer_term.ipp>
132 
133 #endif // ACADO_TOOLKIT_MAYER_TERM_HPP
134 
135 /*
136  * end of file
137  */
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.
Allows to setup and evaluate a general function based on SymbolicExpressions.
Definition: function_.hpp:59
returnValue evaluateSensitivities(BlockMatrix *hessian)
Definition: mayer_term.cpp:93
Stores and evaluates Mayer terms within optimal control problems.
Definition: mayer_term.hpp:57
Allows to pass back messages to the calling function.
Allows to conveniently handle (one-dimensional) grids consisting of time points.
Definition: grid.hpp:58
returnValue evaluate(const OCPiterate &x)
Definition: mayer_term.cpp:79
#define CLOSE_NAMESPACE_ACADO
Base class for all variables within the symbolic expressions family.
Definition: expression.hpp:56
void rhs(const real_t *x, real_t *f)
returnValue init(const Grid &grid_, const Expression &arg)
MayerTerm & operator=(const MayerTerm &rhs)
Definition: mayer_term.cpp:68
#define BEGIN_NAMESPACE_ACADO
virtual ~MayerTerm()
Definition: mayer_term.cpp:65


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