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 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 |
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.
using ROL::DynamicObjective< Real >::V = Vector<Real> |
Definition at line 76 of file ROL_DynamicObjective.hpp.
using ROL::DynamicObjective< Real >::TS = TimeStamp<Real> |
Definition at line 77 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Definition at line 79 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Definition at line 81 of file ROL_DynamicObjective.hpp.
References ROL::DynamicObjective< Real >::update_un(), ROL::DynamicObjective< Real >::update_uo(), and ROL::DynamicObjective< Real >::update_z().
|
inlinevirtual |
Definition at line 87 of file ROL_DynamicObjective.hpp.
Referenced by ROL::DynamicObjective< Real >::update().
|
inlinevirtual |
Definition at line 88 of file ROL_DynamicObjective.hpp.
Referenced by ROL::DynamicObjective< Real >::update().
|
inlinevirtual |
Definition at line 89 of file ROL_DynamicObjective.hpp.
Referenced by ROL::DynamicObjective< Real >::update().
|
pure virtual |
Implemented in ROL::DynamicTrackingObjective< Real >.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 96 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 99 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 102 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 107 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 110 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 113 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 117 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 120 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 123 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 127 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 130 of file ROL_DynamicObjective.hpp.
|
inlinevirtual |
Reimplemented in ROL::DynamicTrackingObjective< Real >.
Definition at line 133 of file ROL_DynamicObjective.hpp.