point_constraint.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_POINT_CONSTRAINT_HPP
36 #define ACADO_TOOLKIT_POINT_CONSTRAINT_HPP
37 
38 
40 
41 
43 
44 
56 
57  //
58  // PUBLIC MEMBER FUNCTIONS:
59  //
60  public:
61 
63  PointConstraint( );
64 
66  PointConstraint( const Grid& grid_, int point_index_ );
67 
70 
72  virtual ~PointConstraint( );
73 
76 
77 
78 
83  returnValue add( const double lb_, const Expression& arg, const double ub_ );
84 
85 
86 
87 // =======================================================================================
88 //
89 // EVALUATION ROUTINES
90 //
91 // =======================================================================================
92 
93 
99  returnValue evaluate( const OCPiterate& iter );
100 
101 
109 
110 
111 
116  returnValue evaluateSensitivities( const DMatrix &seed, BlockMatrix &hessian );
117 
118 
119 
120 // =========================================================================
121 
123  inline int getNC() const;
124 
125 
127  inline BooleanType isBoxConstraint( ) const;
128 
129 
133  returnValue getBounds( const OCPiterate& iter );
134 
135 
136 
137  // PROTECTED FUNCTIONS:
138  // --------------------
139  protected:
140 
143  returnValue computeForwardSensitivityBlock( int offset, int offset2, DMatrix *seed );
144 
145 
146 
147  // DATA MEMBERS:
148  // -------------
149 
150  protected:
151 
154  int nb ;
156  int *index ;
157  double *blb ;
158  double *bub ;
159 };
160 
161 
163 
164 
165 
166 #include <acado/constraint/point_constraint.ipp>
167 
168 
169 #endif // ACADO_TOOLKIT_POINT_CONSTRAINT_HPP
170 
171 /*
172  * end of file
173  */
returnValue add(const double lb_, const Expression &arg, const double ub_)
Data class for storing generic optimization variables.
Definition: ocp_iterate.hpp:57
Implements a very rudimentary block sparse matrix class.
VariableType * var
returnValue evaluate(const OCPiterate &iter)
virtual ~PointConstraint()
Allows to pass back messages to the calling function.
returnValue evaluateSensitivities()
Allows to conveniently handle (one-dimensional) grids consisting of time points.
Definition: grid.hpp:58
Stores and evaluates pointwise constraints within optimal control problems.
#define CLOSE_NAMESPACE_ACADO
VariableType
Definition: acado_types.hpp:95
Base class for all variables within the symbolic expressions family.
Definition: expression.hpp:56
returnValue computeForwardSensitivityBlock(int offset, int offset2, DMatrix *seed)
Base class for all kind of constraints (except for bounds) within optimal control problems...
int getNC() const
BooleanType isBoxConstraint() const
void rhs(const real_t *x, real_t *f)
PointConstraint & operator=(const PointConstraint &rhs)
#define BEGIN_NAMESPACE_ACADO
returnValue getBounds(const OCPiterate &iter)


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