Discretizes a DifferentialEquation by means of single or multiple shooting. More...
#include <shooting_method.hpp>
Discretizes a DifferentialEquation by means of single or multiple shooting.
The class ShootingMethod allows to discretize a DifferentialEquation for use in optimal control algorithms by means of an (online) integrator using either single or multiple shooting.
Definition at line 55 of file shooting_method.hpp.
Default constructor.
Definition at line 48 of file shooting_method.cpp.
ShootingMethod::ShootingMethod | ( | UserInteraction * | _userInteraction | ) |
Definition at line 54 of file shooting_method.cpp.
ShootingMethod::ShootingMethod | ( | const ShootingMethod & | rhs | ) |
Copy constructor (deep copy).
Definition at line 60 of file shooting_method.cpp.
ShootingMethod::~ShootingMethod | ( | ) | [virtual] |
Destructor.
Definition at line 66 of file shooting_method.cpp.
returnValue ShootingMethod::addStage | ( | const DynamicSystem & | dynamicSystem_, |
const Grid & | stageIntervals, | ||
const IntegratorType & | integratorType_ = INT_UNKNOWN |
||
) | [virtual] |
Set the Differential Equations stage by stage.
Implements DynamicDiscretization.
Definition at line 105 of file shooting_method.cpp.
returnValue ShootingMethod::addTransition | ( | const Transition & | transition_ | ) | [virtual] |
Set the Transition stages.
Implements DynamicDiscretization.
Definition at line 184 of file shooting_method.cpp.
returnValue ShootingMethod::allocateIntegrator | ( | uint | idx, |
IntegratorType | type_ | ||
) | [protected] |
Definition at line 164 of file shooting_method.cpp.
returnValue ShootingMethod::clear | ( | ) | [virtual] |
Deletes all stages and transitions and resets the DynamicDiscretization.
Implements DynamicDiscretization.
Definition at line 193 of file shooting_method.cpp.
DynamicDiscretization * ShootingMethod::clone | ( | ) | const [virtual] |
Clone constructor (deep copy).
Implements DynamicDiscretization.
Definition at line 99 of file shooting_method.cpp.
void ShootingMethod::copy | ( | const ShootingMethod & | arg | ) | [protected] |
Definition at line 84 of file shooting_method.cpp.
returnValue ShootingMethod::deleteAll | ( | ) | [protected] |
Definition at line 686 of file shooting_method.cpp.
returnValue ShootingMethod::deleteAllSeeds | ( | ) | [virtual] |
Deletes all seeds that have been set with the methods above.
This function will also give the corresponding memory free.
Reimplemented from DynamicDiscretization.
Definition at line 664 of file shooting_method.cpp.
returnValue ShootingMethod::differentiateBackward | ( | const int & | idx, |
const DMatrix & | seed, | ||
DMatrix & | Gx, | ||
DMatrix & | Gp, | ||
DMatrix & | Gu, | ||
DMatrix & | Gw | ||
) | [protected] |
Definition at line 327 of file shooting_method.cpp.
returnValue ShootingMethod::differentiateForward | ( | const int & | idx, |
const DMatrix & | dX, | ||
const DMatrix & | dP, | ||
const DMatrix & | dU, | ||
const DMatrix & | dW, | ||
DMatrix & | D | ||
) | [protected] |
Definition at line 364 of file shooting_method.cpp.
returnValue ShootingMethod::differentiateForwardBackward | ( | const int & | idx, |
const DMatrix & | dX, | ||
const DMatrix & | dP, | ||
const DMatrix & | dU, | ||
const DMatrix & | dW, | ||
const DMatrix & | seed, | ||
DMatrix & | D, | ||
DMatrix & | ddX, | ||
DMatrix & | ddP, | ||
DMatrix & | ddU, | ||
DMatrix & | ddW | ||
) | [protected] |
Definition at line 401 of file shooting_method.cpp.
returnValue ShootingMethod::evaluate | ( | OCPiterate & | iter | ) | [virtual] |
Evaluates the discretized DifferentialEquation at a specified
VariablesGrid. The results are written into the residuum of the
type VariablesGrid. This routine is for a simple evaluation only.
If sensitivities are needed use one of the routines below
instead.
Implements DynamicDiscretization.
Definition at line 205 of file shooting_method.cpp.
returnValue ShootingMethod::evaluateSensitivities | ( | ) | [virtual] |
Evaluates the sensitivities.
Implements DynamicDiscretization.
Definition at line 467 of file shooting_method.cpp.
returnValue ShootingMethod::evaluateSensitivities | ( | const BlockMatrix & | seed, |
BlockMatrix & | hessian | ||
) | [virtual] |
Evaluates the sensitivities and the hessian.
Implements DynamicDiscretization.
Definition at line 589 of file shooting_method.cpp.
returnValue ShootingMethod::evaluateSensitivitiesLifted | ( | ) | [virtual] |
Evaluates the sensitivities.
Implements DynamicDiscretization.
Definition at line 533 of file shooting_method.cpp.
BooleanType ShootingMethod::isAffine | ( | ) | const [virtual] |
Implements DynamicDiscretization.
Definition at line 676 of file shooting_method.cpp.
returnValue ShootingMethod::logTrajectory | ( | const OCPiterate & | iter | ) | [protected] |
Definition at line 704 of file shooting_method.cpp.
ShootingMethod & ShootingMethod::operator= | ( | const ShootingMethod & | rhs | ) |
Assignment operator (deep copy).
Definition at line 72 of file shooting_method.cpp.
returnValue ShootingMethod::rescale | ( | VariablesGrid * | trajectory, |
double | tEndNew, | ||
double | newIntervalLength | ||
) | const [protected] |
Definition at line 798 of file shooting_method.cpp.
returnValue ShootingMethod::unfreeze | ( | ) | [virtual] |
Implements DynamicDiscretization.
Definition at line 654 of file shooting_method.cpp.
returnValue ShootingMethod::update | ( | DMatrix & | G, |
const DMatrix & | A, | ||
const DMatrix & | B | ||
) | [protected] |
Writes the continous integrator output to the logging object, if this
is requested. Please note, that this routine converts the VariablesGrids
from the integration routine into a large matrix. Consequently, the break
points need to be logged, too.
Definition at line 519 of file shooting_method.cpp.
DMatrix ShootingMethod::breakPoints [protected] |
Definition at line 215 of file shooting_method.hpp.
Integrator** ShootingMethod::integrator [protected] |
Definition at line 214 of file shooting_method.hpp.