10 #ifndef ROL_REDUCED_CONSTRAINT_SIMOPT_H
11 #define ROL_REDUCED_CONSTRAINT_SIMOPT_H
21 const ROL::Ptr<Constraint_SimOpt<Real>>
conVal_;
22 const ROL::Ptr<Constraint_SimOpt<Real>>
conRed_;
48 bool isComputed =
false;
75 bool isComputed =
false;
85 adjoint_->scale(static_cast<Real>(-1));
146 const bool storage =
true,
147 const bool useFDhessVec =
false)
190 const bool storage =
true,
191 const bool useFDhessVec =
false)
virtual void plus(const Vector &x)=0
Compute , where .
ROL::Ptr< Vector< Real > > residual_
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 .
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 .
ROL::Ptr< VectorController< Real > > adjointStore_
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, const ROL::Ptr< Vector< Real > > &dualstate, const ROL::Ptr< Vector< Real > > &dualcontrol, const ROL::Ptr< Vector< Real > > &dualadjoint, const ROL::Ptr< Vector< Real > > &dualresidual, const bool storage=true, const bool useFDhessVec=false)
Secondary, general constructor for use with dual optimization vector spaces where the user does not d...
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, const bool storage=true, const bool useFDhessVec=false)
Constructor.
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_
ROL::Ptr< Vector< Real > > dualstate1_
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 .
ROL::Ptr< Vector< Real > > dualstate_
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 .
virtual void applyAdjointHessian(Vector< Real > &ahuv, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply the derivative of the adjoint of the constraint Jacobian at to vector in direction ...
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)
ROL::Ptr< Vector< Real > > adjoint_sens_
ROL::Ptr< Vector< Real > > dualcontrol_
ROL::Ptr< Vector< Real > > state_sens_
const ROL::Ptr< Constraint_SimOpt< Real > > conVal_
void setParameter(const std::vector< Real > ¶m)
ROL::Ptr< Vector< Real > > adjoint_
ROL::Ptr< Vector< Real > > dualadjoint_
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.