15 #ifndef ROL_STDBOUNDCONSTRAINT_HPP
16 #define ROL_STDBOUNDCONSTRAINT_HPP
40 const Real zeta(0.5), kappa(1);
41 return std::min(zeta*(
x_up_[i] -
x_lo_[i]), kappa);
44 inline Real
sgn(Real x)
const {
45 const Real
zero(0), one(1);
55 const Real feasTol = std::sqrt(ROL_EPSILON<Real>()));
60 const Real feasTol = std::sqrt(ROL_EPSILON<Real>()));
void projectInterior(Vector< Real > &x) override
Project optimization variables into the interior of the feasible set.
std::vector< Real > x_lo_
void buildScalingFunction(Vector< Real > &d, const Vector< Real > &x, const Vector< Real > &g) const
bool isFeasible(const Vector< Real > &v) override
Check if the vector, v, is feasible.
Defines the linear algebra or vector space interface.
Objective_SerialSimOpt(const Ptr< Obj > &obj, const V &ui) z0_ zero()
void applyInverseScalingFunction(Vector< Real > &dv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g) const override
Apply inverse scaling function.
void pruneUpperActive(Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0)) override
Set variables to zero if they correspond to the upper -active set.
void project(Vector< Real > &x) override
Project optimization variables onto the bounds.
StdBoundConstraint(std::vector< Real > &x, bool isLower=false, Real scale=Real(1), const Real feasTol=std::sqrt(ROL_EPSILON< Real >()))
Provides the interface to apply upper and lower bound constraints.
void applyScalingFunctionJacobian(Vector< Real > &dv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g) const override
Apply scaling function Jacobian.
void pruneLowerActive(Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) override
Set variables to zero if they correspond to the -binding set.
Contains definitions for std::vector bound constraints.
std::vector< Real > x_up_