10 #ifndef ROL_FLETCHEROBJECTVEBASE_H
11 #define ROL_FLETCHEROBJECTVEBASE_H
16 #include "ROL_Ptr.hpp"
24 template<
typename Real>
27 const Ptr<Objective<Real>>
obj_;
28 const Ptr<Constraint<Real>>
con_;
39 Ptr<ScalarController<Real,int>>
fPhi_;
40 Ptr<VectorController<Real,int>>
gPhi_;
41 Ptr<VectorController<Real,int>>
y_;
42 Ptr<ScalarController<Real,int>>
fval_;
43 Ptr<VectorController<Real,int>>
g_;
44 Ptr<VectorController<Real,int>>
c_;
47 Ptr<Vector<Real>>
gL_;
69 ParameterList &parlist);
82 void reset(Real sigma, Real delta);
Provides the interface to evaluate objective functions.
Ptr< const Vector< Real > > getGradient(const Vector< Real > &x)
Ptr< Vector< Real > > cprim_
void computeMultipliers(Vector< Real > &y, Vector< Real > &gL, const Vector< Real > &x, Vector< Real > &g, Vector< Real > &c, Real tol)
Ptr< Vector< Real > > xprim_
Ptr< VectorController< Real, int > > g_
Real objValue(const Vector< Real > &x, Real &tol)
Ptr< Vector< Real > > gLdual_
Ptr< Vector< Real > > b1_
const Ptr< Constraint< Real > > con_
Real quadPenaltyParameter_
Contains definitions of custom data types in ROL.
Ptr< Vector< Real > > gL_
Ptr< ScalarController< Real, int > > fPhi_
Ptr< ScalarController< Real, int > > fval_
Ptr< const Vector< Real > > getMultiplierVec(const Vector< Real > &x)
Ptr< VectorController< Real, int > > y_
Defines the linear algebra or vector space interface.
void objGrad(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Ptr< PartitionedVector< Real > > vv_
Ptr< VectorController< Real, int > > gPhi_
int getNumberFunctionEvaluations() const
Ptr< PartitionedVector< Real > > ww_
Real getObjectiveValue(const Vector< Real > &x)
const Ptr< Objective< Real > > obj_
virtual void solveAugmentedSystem(Vector< Real > &v1, Vector< Real > &v2, const Vector< Real > &b1, const Vector< Real > &b2, const Vector< Real > &x, Real &multSolverError_, bool refine)=0
Ptr< Krylov< Real > > krylov_
Ptr< Vector< Real > > xdual_
Ptr< PartitionedVector< Real > > bb_
Ptr< Vector< Real > > scaledc_
int getNumberGradientEvaluations() const
Ptr< Vector< Real > > cdual_
Ptr< Vector< Real > > v2_
Ptr< VectorController< Real, int > > c_
Ptr< const Vector< Real > > getConstraintVec(const Vector< Real > &x)
FletcherObjectiveBase(const Ptr< Objective< Real >> &obj, const Ptr< Constraint< Real >> &con, const Vector< Real > &xprim, const Vector< Real > &xdual, const Vector< Real > &cprim, const Vector< Real > &cdual, ParameterList &parlist)
Ptr< Vector< Real > > b2_
virtual void update(const Vector< Real > &x, UpdateType type, int iter=-1) override
Update objective function.
Ptr< Vector< Real > > v1_
Ptr< const Vector< Real > > getLagrangianGradient(const Vector< Real > &x)
Ptr< Vector< Real > > w1_
Defines the general constraint operator interface.
void reset(Real sigma, Real delta)
int getNumberConstraintEvaluations() const
Ptr< Vector< Real > > w2_
void conValue(Vector< Real > &c, const Vector< Real > &x, Real &tol)