44 #ifndef ROL_REDUCED_AUGMENTEDLAGRANGIAN_SIMOPT_H 45 #define ROL_REDUCED_AUGMENTEDLAGRANGIAN_SIMOPT_H 54 #include "Teuchos_RCP.hpp" 116 const Real penaltyParameter,
117 Teuchos::ParameterList &parlist) : state_(state),
129 rAugLagSimOpt_->update(*control);
131 rAugLagSimOpt_->value(*control,tol);
135 rAugLagSimOpt_->update(x,flag,iter);
139 return rAugLagSimOpt_->value(x,tol);
144 rAugLagSimOpt_->gradient(g,x,tol);
148 rAugLagSimOpt_->hessVec(hv,v,x,tol);
153 return augLagSimOpt_->getObjectiveValue(*state_,x);
158 augLagSimOpt_->getConstraintVec(c,*state_,x);
163 return augLagSimOpt_->getNumberConstraintEvaluations();
168 return augLagSimOpt_->getNumberFunctionEvaluations();
180 augLagSimOpt_->reset(multiplier,penaltyParameter);
187 rAugLagSimOpt_->setParameter(param);
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)
Reduced_AugmentedLagrangian_SimOpt(const Teuchos::RCP< Objective_SimOpt< Real > > &obj, const Teuchos::RCP< EqualityConstraint_SimOpt< Real > > &redCon, const Teuchos::RCP< EqualityConstraint_SimOpt< Real > > &augCon, const Teuchos::RCP< Vector< Real > > &state, const Teuchos::RCP< Vector< Real > > &control, const Teuchos::RCP< Vector< Real > > &adjoint, const Teuchos::RCP< Vector< Real > > &augConVec, const Teuchos::RCP< Vector< Real > > &multiplier, const Real penaltyParameter, Teuchos::ParameterList &parlist)
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.
Provides the interface to evaluate the SimOpt augmented Lagrangian.
Defines the linear algebra or vector space interface.
int getNumberConstraintEvaluations(void) const
Defines the equality constraint operator interface for simulation-based optimization.
Teuchos::RCP< Vector< Real > > state_
Real getObjectiveValue(const Vector< Real > &x)
void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update objective function.
int getNumberGradientEvaluations(void) const
Teuchos::RCP< AugmentedLagrangian_SimOpt< Real > > augLagSimOpt_
Teuchos::RCP< Reduced_Objective_SimOpt< Real > > rAugLagSimOpt_
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
virtual void setParameter(const std::vector< Real > ¶m)
int getNumberFunctionEvaluations(void) const
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)