ROL
|
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>
Public Types | |
using | V = Vector< Real > |
using | TS = TimeStamp< Real > |
Public Types inherited from ROL::DynamicFunction< Real > | |
using | V = Vector< Real > |
using | PV = PartitionedVector< Real > |
using | TS = TimeStamp< Real > |
Public Member Functions | |
DynamicObjective (std::initializer_list< std::string > zero_deriv_terms={}) | |
virtual | ~DynamicObjective () |
virtual void | update (const V &uo, const V &un, 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 |
Public Member Functions inherited from ROL::DynamicFunction< Real > | |
DynamicFunction (std::initializer_list< std::string > zero_deriv_terms={}) | |
virtual | ~DynamicFunction () |
virtual void | update_uo (const V &x, const TS &ts) |
virtual void | update_un (const V &x, const TS &ts) |
virtual void | update_z (const V &x, const TS &ts) |
bool | is_zero_derivative (const std::string &key) |
Additional Inherited Members | |
Protected Member Functions inherited from ROL::DynamicFunction< Real > | |
VectorWorkspace< Real > & | getVectorWorkspace () const |
PV & | partition (V &x) const |
const PV & | partition (const V &x) const |
V & | getNew (V &x) const |
const V & | getNew (const V &x) const |
V & | getOld (V &x) const |
const V & | getOld (const V &x) const |
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 38 of file ROL_DynamicObjective.hpp.
using ROL::DynamicObjective< Real >::V = Vector<Real> |
Definition at line 41 of file ROL_DynamicObjective.hpp.
using ROL::DynamicObjective< Real >::TS = TimeStamp<Real> |
Definition at line 42 of file ROL_DynamicObjective.hpp.
|
inline |
Definition at line 45 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Definition at line 48 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Definition at line 50 of file ROL_DynamicObjective.hpp.
References ROL::DynamicFunction< Real >::update_un(), ROL::DynamicFunction< Real >::update_uo(), and ROL::DynamicFunction< Real >::update_z().
|
pure virtual |
Implemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 65 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 68 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 71 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 76 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 79 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 82 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 86 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 89 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 92 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 96 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 99 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingFEMObjective< Real >, and ROL::DynamicTrackingObjective< Real >.
Definition at line 102 of file ROL_DynamicObjective.hpp.