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.