41 const std::string& _commonHeaderName
48 return ACADOERRORTEXT(
RET_INVALID_OPTION,
"Impossible to perform full condensing, when the initial state is not fixed. You can use regular condensing instead." );
54 LOG(
LVL_DEBUG ) <<
"Solver: setup initialization... " << endl;
58 LOG(
LVL_DEBUG ) <<
"Solver: setup variables... " << endl;
62 LOG(
LVL_DEBUG ) <<
"Solver: setup multiplication routines... " << endl;
66 LOG(
LVL_DEBUG ) <<
"Solver: setup model simulation... " << endl;
70 LOG(
LVL_DEBUG ) <<
"Solver: setup objective evaluation... " << endl;
74 LOG(
LVL_DEBUG ) <<
"Solver: setup condensing... " << endl;
78 LOG(
LVL_DEBUG ) <<
"Solver: setup constraints... " << endl;
82 LOG(
LVL_DEBUG ) <<
"Solver: setup hessian regularization... " << endl;
86 LOG(
LVL_DEBUG ) <<
"Solver: setup evaluation... " << endl;
90 LOG(
LVL_DEBUG ) <<
"Solver: setup auxiliary functions... " << endl;
117 bool gradientUpdate = (bool) gradientUp;
172 if( gradientUpdate || adjoint ) {
180 else if( gradientUpdate || adjoint ) {
247 int hessianRegularization;
virtual returnValue setupCondensing()
virtual returnValue setupMultiplicationRoutines()
#define LOG(level)
Just define a handy macro for getting the logger.
Lowest level, the debug level.
ExportVariable getRow(const ExportIndex &idx) const
ExportVariable getTranspose() const
bool initialStateFixed() const
ExportVariable & setup(const std::string &_name, uint _nRows=1, uint _nCols=1, ExportType _type=REAL, ExportStruct _dataStruct=ACADO_LOCAL, bool _callItByValue=false, const std::string &_prefix=std::string())
virtual returnValue getFunctionDeclarations(ExportStatementBlock &declarations) const
Allows to pass back messages to the calling function.
ExportFunction setObjR1R2
HessianRegularizationMode
Block< Derived > block(Index startRow, Index startCol, Index blockRows, Index blockCols)
void setAll(const T &_value)
virtual returnValue setupConstraintsEvaluation(void)
Allows to export code of a for-loop.
#define CLOSE_NAMESPACE_ACADO
ExportVariable getSubMatrix(const ExportIndex &rowIdx1, const ExportIndex &rowIdx2, const ExportIndex &colIdx1, const ExportIndex &colIdx2) const
unsigned getFunctionDim(void)
Defines a scalar-valued index variable to be used for exporting code.
ExportAcadoFunction evaluateStageCost
ExportAcadoFunction evaluateTerminalCost
ExportFunction regularization
ExportFunction & setup(const std::string &_name="defaultFunctionName", const ExportArgument &_argument1=emptyConstExportArgument, const ExportArgument &_argument2=emptyConstExportArgument, const ExportArgument &_argument3=emptyConstExportArgument, const ExportArgument &_argument4=emptyConstExportArgument, const ExportArgument &_argument5=emptyConstExportArgument, const ExportArgument &_argument6=emptyConstExportArgument, const ExportArgument &_argument7=emptyConstExportArgument, const ExportArgument &_argument8=emptyConstExportArgument, const ExportArgument &_argument9=emptyConstExportArgument)
virtual returnValue setupEvaluation()
virtual returnValue setupInitialization()
virtual ExportFunction & doc(const std::string &_doc)
ExportVariable getCols(const ExportIndex &idx1, const ExportIndex &idx2) const
virtual returnValue setupHessianRegularization(void)
ExportVariable objValueIn
bool performsSingleShooting() const
virtual returnValue setup()
virtual returnValue setupSimulation(void)
Encapsulates all user interaction for setting options, logging data and plotting results.
ExportFunction setObjQ1Q2
Allows to export code of an arbitrary function.
An OCP solver based on the N^2 condensing algorithm.
returnValue addStatement(const ExportStatement &_statement)
returnValue addLinebreak(uint num=1)
bool performFullCondensing() const
virtual ExportFunction & acquire(ExportIndex &obj)
ExportVariable objSEndTerm
virtual returnValue getFunctionDeclarations(ExportStatementBlock &declarations) const
ExportVariable getRows(const ExportIndex &idx1, const ExportIndex &idx2) const
returnValue addDeclaration(const ExportVariable &_data, ExportStruct _dataStruct=ACADO_ANY)
returnValue setupAuxiliaryFunctions()
ExportFunction setObjQN1QN2
#define BEGIN_NAMESPACE_ACADO
virtual returnValue setupVariables()
Allows to export code for a block of statements.
ExportArgument getAddress(const ExportIndex &_rowIdx, const ExportIndex &_colIdx=emptyConstExportIndex) const
ExportExactHessianCN2(UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
ExportFunction evaluateObjective
ExportVariable objValueOut
ExportFunction & addIndex(const ExportIndex &_index)
ExportFunction regularizeHessian
#define ACADOERROR(retval)
Defines a matrix-valued variable to be used for exporting code.
#define ACADOERRORTEXT(retval, text)
returnValue addFunctionCall(const std::string &_fName, const ExportArgument &_argument1=emptyConstExportArgument, const ExportArgument &_argument2=emptyConstExportArgument, const ExportArgument &_argument3=emptyConstExportArgument, const ExportArgument &_argument4=emptyConstExportArgument, const ExportArgument &_argument5=emptyConstExportArgument, const ExportArgument &_argument6=emptyConstExportArgument, const ExportArgument &_argument7=emptyConstExportArgument, const ExportArgument &_argument8=emptyConstExportArgument, const ExportArgument &_argument9=emptyConstExportArgument)
virtual returnValue setupObjectiveEvaluation(void)