ROL
Public Types | Public Member Functions | List of all members
ROL::DynamicObjective< Real > Class Template Referenceabstract

Defines the time-dependent objective function interface for simulation-based optimization. Computes time-local contributions of value, gradient, Hessian-vector product etc to a larger composite objective defined over the simulation time. In contrast to other objective classes Objective_TimeSimOpt has a default implementation of value which returns zero, as time-dependent simulation based optimization problems may have an objective value which depends only on the final state of the system. More...

#include <ROL_DynamicObjective.hpp>

+ Inheritance diagram for ROL::DynamicObjective< Real >:

Public Types

using V = Vector< Real >
 
using TS = TimeStamp< Real >
 

Public Member Functions

virtual ~DynamicObjective ()
 
virtual void update (const V &uo, const V &un, const V &z, const TS &timeStamp)
 
virtual void update_uo (const V &uo, const TS &timeStamp)
 
virtual void update_un (const V &un, const TS &timeStamp)
 
virtual void update_z (const V &z, const TS &timeStamp)
 
virtual Real value (const V &uo, const V &un, const V &z, const TS &timeStamp) const =0
 
virtual void gradient_uo (V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void gradient_un (V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void gradient_z (V &g, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void hessVec_uo_uo (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void hessVec_uo_un (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void hessVec_uo_z (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void hessVec_un_uo (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void hessVec_un_un (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void hessVec_un_z (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void hessVec_z_uo (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void hessVec_z_un (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 
virtual void hessVec_z_z (V &hv, const V &v, const V &uo, const V &un, const V &z, const TS &timeStamp) const
 

Detailed Description

template<typename Real>
class ROL::DynamicObjective< Real >

Defines the time-dependent objective function interface for simulation-based optimization. Computes time-local contributions of value, gradient, Hessian-vector product etc to a larger composite objective defined over the simulation time. In contrast to other objective classes Objective_TimeSimOpt has a default implementation of value which returns zero, as time-dependent simulation based optimization problems may have an objective value which depends only on the final state of the system.

Often in applications, the objective is separable into a state objective and a control objective so the state-control cross terms in the Hessian are zero.

A typical use case involves quadratic terms for the state and control, such that all of the diagonal blocks of the Hessian are nonzero and the off-diagonal blocks are zero.

Definition at line 73 of file ROL_DynamicObjective.hpp.

Member Typedef Documentation

template<typename Real>
using ROL::DynamicObjective< Real >::V = Vector<Real>

Definition at line 76 of file ROL_DynamicObjective.hpp.

template<typename Real>
using ROL::DynamicObjective< Real >::TS = TimeStamp<Real>

Definition at line 77 of file ROL_DynamicObjective.hpp.

Constructor & Destructor Documentation

template<typename Real>
virtual ROL::DynamicObjective< Real >::~DynamicObjective ( )
inlinevirtual

Definition at line 79 of file ROL_DynamicObjective.hpp.

Member Function Documentation

template<typename Real>
virtual void ROL::DynamicObjective< Real >::update ( const V uo,
const V un,
const V z,
const TS timeStamp 
)
inlinevirtual
template<typename Real>
virtual void ROL::DynamicObjective< Real >::update_uo ( const V uo,
const TS timeStamp 
)
inlinevirtual

Definition at line 87 of file ROL_DynamicObjective.hpp.

Referenced by ROL::DynamicObjective< Real >::update().

template<typename Real>
virtual void ROL::DynamicObjective< Real >::update_un ( const V un,
const TS timeStamp 
)
inlinevirtual

Definition at line 88 of file ROL_DynamicObjective.hpp.

Referenced by ROL::DynamicObjective< Real >::update().

template<typename Real>
virtual void ROL::DynamicObjective< Real >::update_z ( const V z,
const TS timeStamp 
)
inlinevirtual

Definition at line 89 of file ROL_DynamicObjective.hpp.

Referenced by ROL::DynamicObjective< Real >::update().

template<typename Real>
virtual Real ROL::DynamicObjective< Real >::value ( const V uo,
const V un,
const V z,
const TS timeStamp 
) const
pure virtual
template<typename Real>
virtual void ROL::DynamicObjective< Real >::gradient_uo ( V g,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 96 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::gradient_un ( V g,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 99 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::gradient_z ( V g,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 102 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::hessVec_uo_uo ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 107 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::hessVec_uo_un ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 110 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::hessVec_uo_z ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 113 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::hessVec_un_uo ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 117 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::hessVec_un_un ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 120 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::hessVec_un_z ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 123 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::hessVec_z_uo ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 127 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::hessVec_z_un ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 130 of file ROL_DynamicObjective.hpp.

template<typename Real>
virtual void ROL::DynamicObjective< Real >::hessVec_z_z ( V hv,
const V v,
const V uo,
const V un,
const V z,
const TS timeStamp 
) const
inlinevirtual

Reimplemented in ROL::DynamicTrackingObjective< Real >.

Definition at line 133 of file ROL_DynamicObjective.hpp.


The documentation for this class was generated from the following file: