10 #ifndef ROL_INTERIORPOINT_H
11 #define ROL_INTERIORPOINT_H
19 namespace InteriorPoint {
30 ROL::Ptr<Objective<Real> >
obj_;
32 ROL::Ptr<Vector<Real> >
x_;
33 ROL::Ptr<Vector<Real> >
g_;
47 ROL::ParameterList &parlist)
50 ROL::ParameterList& IPlist = parlist.sublist(
"Step").sublist(
"Interior Point");
51 barrier_ = ROL::makePtr<ObjectiveFromBoundConstraint<Real>>(*bnd,IPlist);
55 mu_ = IPlist.get(
"Initial Barrier Parameter",1.0);
76 obj_->update(x,flag,iter);
97 obj_->gradient(g,x,tol);
118 obj_->hessVec(hv, v, x, tol);
Provides the interface to evaluate objective functions.
int getNumberFunctionEvaluations(void)
virtual const Vector & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis...
virtual ROL::Ptr< Vector > clone() const =0
Clone to make a new (uninitialized) vector.
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
ROL::Ptr< Vector< Real > > g_
virtual void plus(const Vector &x)=0
Compute , where .
void getObjectiveGradient(Vector< Real > &g)
PartitionedVector< Real >::size_type size_type
PenalizedObjective(const ROL::Ptr< Objective< Real > > &obj, const ROL::Ptr< BoundConstraint< Real > > &bnd, const Vector< Real > &x, ROL::ParameterList &parlist)
int getNumberGradientEvaluations(void)
Defines the linear algebra or vector space interface.
ROL::Ptr< Objective< Real > > barrier_
Real value(const Vector< Real > &x, Real &tol)
Compute value.
ROL::Ptr< Objective< Real > > obj_
void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update objective function.
void updatePenalty(Real mu)
Provides the interface to apply upper and lower bound constraints.
ROL::Ptr< Vector< Real > > scratch_
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to vector.
Real getObjectiveValue(void)
std::vector< PV >::size_type size_type
virtual void set(const Vector &x)
Set where .
virtual Real norm() const =0
Returns where .
ROL::Ptr< Vector< Real > > x_