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)