10 #ifndef ROL_REDUCED_CONSTRAINT_SIMOPT_H
11 #define ROL_REDUCED_CONSTRAINT_SIMOPT_H
90 bool useFDhessVec =
false);
121 bool useFDhessVec =
false);
const ROL::Ptr< Vector< Real > > dualadjoint_
Reduced_Constraint_SimOpt(const ROL::Ptr< Constraint_SimOpt< Real >> &conVal, const ROL::Ptr< Constraint_SimOpt< Real >> &conRed, const ROL::Ptr< VectorController< Real >> &stateStore, const ROL::Ptr< Vector< Real >> &state, const ROL::Ptr< Vector< Real >> &control, const ROL::Ptr< Vector< Real >> &adjoint, const ROL::Ptr< Vector< Real >> &residual, bool storage=true, bool useFDhessVec=false)
Constructor.
void solve_state_sensitivity(const Vector< Real > &v, const Vector< Real > &z, Real &tol)
Given which solves the state equation and a direction , solve the state senstivity equation for ...
void applyAdjointHessian(Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &z, Real &tol)
Given , evaluate the Hessian of the objective function in the direction .
const ROL::Ptr< Vector< Real > > dualstate1_
const ROL::Ptr< Vector< Real > > state_
void applyAdjointJacobian(Vector< Real > &ajw, const Vector< Real > &w, const Vector< Real > &z, Real &tol)
Apply the adjoint of the the constraint Jacobian at , , to vector .
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &z, Real &tol)
Given , apply the Jacobian to a vector where solves .
Defines the linear algebra or vector space interface.
const ROL::Ptr< VectorController< Real > > stateStore_
void solve_state_equation(const Vector< Real > &z, Real &tol)
void value(Vector< Real > &c, const Vector< Real > &z, Real &tol)
Given , evaluate the equality constraint where solves .
const ROL::Ptr< Vector< Real > > dualresidual_
void solve_adjoint_equation(const Vector< Real > &w, const Vector< Real > &z, Real &tol)
Given which solves the state equation, solve the adjoint equation for .
const ROL::Ptr< Vector< Real > > adjoint_
void solve_adjoint_sensitivity(const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &z, Real &tol)
Given , the adjoint variable , and a direction , solve the adjoint sensitvity equation for ...
virtual void setParameter(const std::vector< Real > ¶m)
const ROL::Ptr< Vector< Real > > dualcontrol_
const ROL::Ptr< Vector< Real > > state_sens_
const ROL::Ptr< Vector< Real > > dualstate_
const ROL::Ptr< Constraint_SimOpt< Real > > conVal_
const ROL::Ptr< Vector< Real > > adjoint_sens_
void setParameter(const std::vector< Real > ¶m)
const ROL::Ptr< Constraint_SimOpt< Real > > conRed_
Defines the constraint operator interface for simulation-based optimization.
void update(const Vector< Real > &z, bool flag=true, int iter=-1)
Update the SimOpt objective function and equality constraint.
Defines the general constraint operator interface.
const ROL::Ptr< VectorController< Real > > adjointStore_
void summarize(std::ostream &stream, const Ptr< BatchManager< Real >> &bman=nullPtr) const
const ROL::Ptr< Vector< Real > > residual_