44 #ifndef ROL_REDUCED_AUGMENTEDLAGRANGIAN_SIMOPT_H
45 #define ROL_REDUCED_AUGMENTEDLAGRANGIAN_SIMOPT_H
54 #include "ROL_Ptr.hpp"
116 const Real penaltyParameter,
117 ROL::ParameterList &parlist) :
state_(state),
120 augLagSimOpt_ = ROL::makePtr<AugmentedLagrangian_SimOpt<Real>>(obj,
129 rAugLagSimOpt_->update(*control);
131 rAugLagSimOpt_->value(*control,tol);
Provides the interface to evaluate simulation-based objective functions.
Provides the interface to evaluate the augmented Lagrangian.
void getConstraintVec(Vector< Real > &c, const Vector< Real > &x)
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to vector.
Contains definitions of custom data types in ROL.
ROL::Ptr< Reduced_Objective_SimOpt< Real > > rAugLagSimOpt_
Defines the linear algebra or vector space interface.
int getNumberConstraintEvaluations(void) const
ROL::Ptr< Vector< Real > > state_
Real getObjectiveValue(const Vector< Real > &x)
void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update objective function.
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
virtual void setParameter(const std::vector< Real > ¶m)
int getNumberGradientEvaluations(void) const
ROL::Ptr< AugmentedLagrangian_SimOpt< Real > > augLagSimOpt_
Defines the constraint operator interface for simulation-based optimization.
int getNumberFunctionEvaluations(void) const
Reduced_AugmentedLagrangian_SimOpt(const ROL::Ptr< Objective_SimOpt< Real > > &obj, const ROL::Ptr< Constraint_SimOpt< Real > > &redCon, const ROL::Ptr< Constraint_SimOpt< Real > > &augCon, const ROL::Ptr< Vector< Real > > &state, const ROL::Ptr< Vector< Real > > &control, const ROL::Ptr< Vector< Real > > &adjoint, const ROL::Ptr< Vector< Real > > &augConVec, const ROL::Ptr< Vector< Real > > &multiplier, const Real penaltyParameter, ROL::ParameterList &parlist)
Provides the interface to evaluate the reduced SimOpt augmented Lagrangian.
void setParameter(const std::vector< Real > ¶m)
Real value(const Vector< Real > &x, Real &tol)
Compute value.
void reset(const Vector< Real > &multiplier, const Real penaltyParameter)