44#ifndef ROL_BOUND_CONSTRAINT_SIMOPT_H
45#define ROL_BOUND_CONSTRAINT_SIMOPT_H
75 Ptr<BoundConstraint<Real>>
bnd1_;
76 Ptr<BoundConstraint<Real>>
bnd2_;
88 if (
bnd1_->isActivated() ||
bnd2_->isActivated() ) {
106 if (
bnd1_->isActivated() ) {
109 if (
bnd2_->isActivated() ) {
125 if (
bnd1_->isActivated() ) {
128 if (
bnd2_->isActivated() ) {
146 if (
bnd1_->isActivated() ) {
149 if (
bnd2_->isActivated() ) {
166 if (
bnd1_->isActivated() ) {
170 if (
bnd2_->isActivated() ) {
192 if (
bnd1_->isActivated() ) {
195 if (
bnd2_->isActivated() ) {
220 if (
bnd1_->isActivated() ) {
223 if (
bnd2_->isActivated() ) {
244 if (
bnd1_->isActivated() ) {
247 if (
bnd2_->isActivated() ) {
272 if (
bnd1_->isActivated() ) {
275 if (
bnd2_->isActivated() ) {
281 const Ptr<const Vector<Real>> l1 =
bnd1_->getLowerBound();
282 const Ptr<const Vector<Real>> l2 =
bnd2_->getLowerBound();
283 return makePtr<Vector_SimOpt<Real>>( constPtrCast<Vector<Real>>(l1),
288 const Ptr<const Vector<Real>> u1 =
bnd1_->getUpperBound();
289 const Ptr<const Vector<Real>> u2 =
bnd2_->getUpperBound();
290 return makePtr<Vector_SimOpt<Real>>( constPtrCast<Vector<Real>>(u1),
310 if (
bnd1_->isActivated() ) {
313 if (
bnd2_->isActivated() ) {
334 if (
bnd1_->isActivated() ) {
337 if (
bnd2_->isActivated() ) {
370 if (
bnd1_->isActivated() ) {
373 if (
bnd2_->isActivated() ) {
396 if (
bnd1_->isActivated() ) {
399 if (
bnd2_->isActivated() ) {
Contains definitions of custom data types in ROL.
Ptr< BoundConstraint< Real > > bnd1_
const Ptr< const Vector< Real > > getLowerBound(void) const
Return the ref count pointer to the lower bound vector.
bool isFeasible(const Vector< Real > &v)
Check if the vector, v, is feasible.
bool checkMultipliers(const Vector< Real > &l, const Vector< Real > &x)
Determine if a vector of Lagrange multipliers is nonnegative components.
void pruneUpperActive(Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0))
Set variables to zero if they correspond to the upper -active set.
void pruneActive(Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0))
Set variables to zero if they correspond to the -active set.
void project(Vector< Real > &x)
Project optimization variables onto the bounds.
void pruneLowerActive(Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0))
Set variables to zero if they correspond to the lower -active set.
void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update bounds.
Ptr< BoundConstraint< Real > > bnd2_
void applyInverseScalingFunction(Vector< Real > &dv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g) const
Apply inverse scaling function.
void projectInterior(Vector< Real > &x)
Project optimization variables into the interior of the feasible set.
const Ptr< const Vector< Real > > getUpperBound(void) const
Return the ref count pointer to the upper bound vector.
void pruneUpperActive(Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0))
Set variables to zero if they correspond to the upper -binding set.
void applyScalingFunctionJacobian(Vector< Real > &dv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g) const
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))
Set variables to zero if they correspond to the lower -binding set.
void pruneActive(Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0))
Set variables to zero if they correspond to the -binding set.
~BoundConstraint_SimOpt()
BoundConstraint_SimOpt(const Ptr< BoundConstraint< Real > > &bnd1, const Ptr< BoundConstraint< Real > > &bnd2)
Default constructor.
Provides the interface to apply upper and lower bound constraints.
void deactivate(void)
Turn off bounds.
void activate(void)
Turn on bounds.
Defines the linear algebra or vector space interface for simulation-based optimization.
ROL::Ptr< const Vector< Real > > get_2() const
ROL::Ptr< const Vector< Real > > get_1() const
Defines the linear algebra or vector space interface.