scp_step.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_SCP_STEP_HPP
35 #define ACADO_TOOLKIT_SCP_STEP_HPP
36 
37 
40 
44 
46 
47 
48 
50 
51 
62 class SCPstep : public AlgorithmicBase
63 {
64 // friend class SCPmethod;
65 
66  //
67  // PUBLIC MEMBER FUNCTIONS:
68  //
69  public:
70 
72  SCPstep( );
73 
74  SCPstep( UserInteraction* _userInteraction
75  );
76 
78  SCPstep( const SCPstep& rhs );
79 
81  virtual ~SCPstep( );
82 
84  SCPstep& operator=( const SCPstep& rhs );
85 
86  virtual SCPstep* clone() const = 0;
87 
88 
89  virtual returnValue performStep( OCPiterate& iter,
90  BandedCP& cp,
91  SCPevaluation* eval
92  ) = 0;
93 
94 
95  //
96  // PROTECTED MEMBER FUNCTIONS:
97  //
98  protected:
99 
100  virtual returnValue setupOptions( );
101  virtual returnValue setupLogging( );
102 
107  virtual returnValue applyStep( OCPiterate& iter,
108  BandedCP& cp,
109  double alpha
110  ) const;
111 
112 // virtual returnValue getUpdatedFirstControl( const OCPiterate& iter,
113 // const BandedCP& cp,
114 // double alpha,
115 // DVector& _u
116 // ) const;
117 
118 
119  //
120  // DATA MEMBERS:
121  //
122  protected:
123 
125 
126 };
127 
128 
130 
131 
132 
133 //#include <acado/nlp_solver/scp_step.ipp>
134 
135 
136 #endif // ACADO_TOOLKIT_SCP_STEP_HPP
137 
138 /*
139  * end of file
140  */
Data class for storing generic optimization variables.
Definition: ocp_iterate.hpp:57
SCPmeritFunction * meritFcn
Definition: scp_step.hpp:124
Allows to pass back messages to the calling function.
Base class for all algorithmic modules within the ACADO Toolkit providing some basic functionality...
Base class for different ways to perform a step of an SCPmethod for solving NLPs. ...
Definition: scp_step.hpp:62
virtual returnValue applyStep(OCPiterate &iter, BandedCP &cp, double alpha) const
Definition: scp_step.cpp:116
SCPstep & operator=(const SCPstep &rhs)
Definition: scp_step.cpp:82
#define CLOSE_NAMESPACE_ACADO
virtual returnValue performStep(OCPiterate &iter, BandedCP &cp, SCPevaluation *eval)=0
virtual ~SCPstep()
Definition: scp_step.cpp:75
Allows to evaluate a merit function within an SCPmethod for solving NLPs.
Encapsulates all user interaction for setting options, logging data and plotting results.
virtual SCPstep * clone() const =0
void rhs(const real_t *x, real_t *f)
Base class for different ways to evaluate functions and derivatives within an SCPmethod for solving N...
#define BEGIN_NAMESPACE_ACADO
virtual returnValue setupOptions()
Definition: scp_step.cpp:104
virtual returnValue setupLogging()
Definition: scp_step.cpp:110
SCPstep()
Definition: scp_step.cpp:46
Data class for storing conic programs arising from optimal control.
Definition: banded_cp.hpp:56


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