| ROL
    | 
Provides the interface to apply upper and lower bound constraints. More...
#include <ROL_BoundConstraint.hpp>
 Inheritance diagram for ROL::BoundConstraint< Real >:
 Inheritance diagram for ROL::BoundConstraint< Real >:| Public Member Functions | |
| virtual | ~BoundConstraint () | 
| BoundConstraint (void) | |
| BoundConstraint (const Vector< Real > &x) | |
| virtual void | update (const Vector< Real > &x, bool flag=true, int iter=-1) | 
| Update bounds.  More... | |
| virtual void | project (Vector< Real > &x) | 
| Project optimization variables onto the bounds.  More... | |
| virtual void | projectInterior (Vector< Real > &x) | 
| Project optimization variables into the interior of the feasible set.  More... | |
| virtual void | pruneUpperActive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the upper \(\epsilon\)-active set.  More... | |
| virtual void | pruneUpperActive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the upper \(\epsilon\)-binding set.  More... | |
| virtual void | pruneLowerActive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the lower \(\epsilon\)-active set.  More... | |
| virtual void | pruneLowerActive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-binding set.  More... | |
| virtual const ROL::Ptr< const Vector< Real > > | getLowerBound (void) const | 
| Return the ref count pointer to the lower bound vector.  More... | |
| virtual const ROL::Ptr< const Vector< Real > > | getUpperBound (void) const | 
| Return the ref count pointer to the upper bound vector.  More... | |
| virtual bool | isFeasible (const Vector< Real > &v) | 
| Check if the vector, v, is feasible.  More... | |
| void | activateLower (void) | 
| Turn on lower bound.  More... | |
| void | activateUpper (void) | 
| Turn on upper bound.  More... | |
| void | activate (void) | 
| Turn on bounds.  More... | |
| void | deactivateLower (void) | 
| Turn off lower bound.  More... | |
| void | deactivateUpper (void) | 
| Turn off upper bound.  More... | |
| void | deactivate (void) | 
| Turn off bounds.  More... | |
| bool | isLowerActivated (void) const | 
| Check if lower bound are on.  More... | |
| bool | isUpperActivated (void) const | 
| Check if upper bound are on.  More... | |
| bool | isActivated (void) const | 
| Check if bounds are on.  More... | |
| void | pruneActive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-active set.  More... | |
| void | pruneActive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-binding set.  More... | |
| void | pruneLowerInactive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-inactive set.  More... | |
| void | pruneUpperInactive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-inactive set.  More... | |
| void | pruneLowerInactive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-nonbinding set.  More... | |
| void | pruneUpperInactive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-nonbinding set.  More... | |
| void | pruneInactive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-inactive set.  More... | |
| void | pruneInactive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-nonbinding set.  More... | |
| void | computeProjectedGradient (Vector< Real > &g, const Vector< Real > &x) | 
| Compute projected gradient.  More... | |
| void | computeProjectedStep (Vector< Real > &v, const Vector< Real > &x) | 
| Compute projected step.  More... | |
| Private Attributes | |
| bool | Lactivated_ | 
| Flag that determines whether or not the lower bounds are being used.  More... | |
| bool | Uactivated_ | 
| Flag that determines whether or not the upper bounds are being used.  More... | |
| Ptr< Vector< Real > > | lower_ | 
| Ptr< Vector< Real > > | upper_ | 
| bool | hasSetScalar_ | 
Provides the interface to apply upper and lower bound constraints.
ROL's bound constraint class is to designed to handle point wise bound constraints on optimization variables. That is, let \(\mathcal{X}\) be a Banach space of functions from \(\Xi\) into \(\mathbb{R}\) (for example, \(\Xi\subset\mathbb{R}^d\) for some positive integer \(d\) and \(\mathcal{X}=L^2(\Xi)\) or \(\Xi = \{1,\ldots,n\}\) and \(\mathcal{X}=\mathbb{R}^n\)). For any \(x\in\mathcal{X}\), we consider bounds of the form
\[ a(\xi) \le x(\xi) \le b(\xi) \quad \text{for almost every }\xi\in\Xi. \]
Here, \(a(\xi)\le b(\xi)\) for almost every \(\xi\in\Xi\) and \(a,b\in \mathcal{X}\).
Definition at line 72 of file ROL_BoundConstraint.hpp.
| 
 | inlinevirtual | 
Definition at line 82 of file ROL_BoundConstraint.hpp.
| 
 | inline | 
Definition at line 84 of file ROL_BoundConstraint.hpp.
| 
 | inline | 
Definition at line 86 of file ROL_BoundConstraint.hpp.
References ROL::Vector< Real >::clone(), ROL::BoundConstraint< Real >::hasSetScalar_, ROL::BoundConstraint< Real >::lower_, and ROL::BoundConstraint< Real >::upper_.
| 
 | inlinevirtual | 
Update bounds.
The update function allows the user to update the bounds at each new iterations.
| [in] | x | is the optimization variable. | 
| [in] | flag | is set to true if control is changed. | 
| [in] | iter | is the outer algorithm iterations count. | 
Reimplemented in ROL::RiskBoundConstraint< Real >, ROL::BoundConstraint_Partitioned< Real >, and ROL::BoundConstraint_SimOpt< Real >.
Definition at line 109 of file ROL_BoundConstraint.hpp.
Referenced by ROL::AugmentedLagrangianStep< Real >::initialize(), and ROL::AugmentedLagrangianStep< Real >::update().
| 
 | inlinevirtual | 
Project optimization variables onto the bounds.
This function implements the projection of \(x\) onto the bounds, i.e.,
\[ (P_{[a,b]}(x))(\xi) = \min\{b(\xi),\max\{a(\xi),x(\xi)\}\} \quad \text{for almost every }\xi\in\Xi. \]
| [in,out] | x | is the optimization variable. | 
Reimplemented in H1BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, L2BoundConstraint< Real >, BoundConstraint_BurgersControl< Real >, ROL::RiskBoundConstraint< Real >, ROL::BoundConstraint_Partitioned< Real >, ROL::Bounds< Real >, ROL::StdBoundConstraint< Real >, ROL::BoundConstraint_SimOpt< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 119 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isActivated().
Referenced by ROL::LineSearchStep< Real >::compute(), ROL::PrimalDualActiveSetStep< Real >::compute(), ROL::PrimalDualActiveSetStep< Real >::computeCriticalityMeasure(), ROL::TrustRegionStep< Real >::computeCriticalityMeasure(), ROL::AugmentedLagrangianStep< Real >::computeGradient(), ROL::BoundConstraint< Real >::computeProjectedStep(), ROL::FletcherStep< Real >::computeProjGradientNorm(), ROL::LineSearchStep< Real >::GradDotStep(), ROL::Step< Real >::initialize(), ROL::MoreauYosidaPenaltyStep< Real >::initialize(), ROL::AugmentedLagrangianStep< Real >::initialize(), ROL::PrimalDualActiveSetStep< Real >::initialize(), ROL::TrustRegionStep< Real >::initialize(), ROL::ProjectedNewtonStep< Real >::update(), ROL::ProjectedSecantStep< Real >::update(), ROL::TrustRegion< Real >::update(), ROL::ProjectedNewtonKrylovStep< Real >::update(), ROL::InteriorPointStep< Real >::update(), and ROL::LineSearch< Real >::updateIterate().
| 
 | inlinevirtual | 
Project optimization variables into the interior of the feasible set.
This function implements the projection of \(x\) into the interior of the feasible set, i.e.,
\[ (\bar{P}_{[a,b]}(x))(\xi) \in (a(\xi),b(\xi)) \quad \text{for almost every }\xi\in\Xi. \]
| [in,out] | x | is the optimization variable. | 
Reimplemented in ROL::RiskBoundConstraint< Real >, ROL::Bounds< Real >, ROL::BoundConstraint_Partitioned< Real >, ROL::StdBoundConstraint< Real >, ROL::BoundConstraint_SimOpt< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 135 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isActivated().
Referenced by ROL::InteriorPointStep< Real >::initialize(), and ROL::TrustRegionStep< Real >::initialize().
| 
 | inlinevirtual | 
Set variables to zero if they correspond to the upper \(\epsilon\)-active set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{A}^+_\epsilon(x)\). Here, the upper \(\epsilon\)-active set is defined as
\[ \mathcal{A}^+_\epsilon(x) = \{\,\xi\in\Xi\,:\,x(\xi) = b(\xi)-\epsilon\,\}. \]
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Reimplemented in H1BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, L2BoundConstraint< Real >, BoundConstraint_BurgersControl< Real >, ROL::RiskBoundConstraint< Real >, ROL::Bounds< Real >, ROL::BoundConstraint_SimOpt< Real >, ROL::StdBoundConstraint< Real >, ROL::BoundConstraint_Partitioned< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 152 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isUpperActivated().
Referenced by ROL::PrimalDualActiveSetStep< Real >::compute(), ROL::BoundConstraint< Real >::pruneActive(), and ROL::BoundConstraint< Real >::pruneUpperInactive().
| 
 | inlinevirtual | 
Set variables to zero if they correspond to the upper \(\epsilon\)-binding set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{B}^+_\epsilon(x)\). Here, the upper \(\epsilon\)-binding set is defined as
\[ \mathcal{B}^+_\epsilon(x) = \{\,\xi\in\Xi\,:\,x(\xi) = b(\xi)-\epsilon,\; g(\xi) < 0 \,\}. \]
| [out] | v | is the variable to be pruned. | 
| [in] | g | is the negative search direction. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Reimplemented in H1BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, L2BoundConstraint< Real >, BoundConstraint_BurgersControl< Real >, ROL::RiskBoundConstraint< Real >, ROL::BoundConstraint_SimOpt< Real >, ROL::StdBoundConstraint< Real >, ROL::Bounds< Real >, ROL::BoundConstraint_Partitioned< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 171 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isUpperActivated().
| 
 | inlinevirtual | 
Set variables to zero if they correspond to the lower \(\epsilon\)-active set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{A}^-_\epsilon(x)\). Here, the lower \(\epsilon\)-active set is defined as
\[ \mathcal{A}^-_\epsilon(x) = \{\,\xi\in\Xi\,:\,x(\xi) = a(\xi)+\epsilon\,\}. \]
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Reimplemented in H1BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, L2BoundConstraint< Real >, BoundConstraint_BurgersControl< Real >, ROL::RiskBoundConstraint< Real >, ROL::BoundConstraint_SimOpt< Real >, ROL::Bounds< Real >, ROL::BoundConstraint_Partitioned< Real >, ROL::StdBoundConstraint< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 188 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isLowerActivated().
Referenced by ROL::PrimalDualActiveSetStep< Real >::compute(), ROL::BoundConstraint< Real >::pruneActive(), and ROL::BoundConstraint< Real >::pruneLowerInactive().
| 
 | inlinevirtual | 
Set variables to zero if they correspond to the \(\epsilon\)-binding set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{B}^-_\epsilon(x)\). Here, the lower \(\epsilon\)-binding set is defined as
\[ \mathcal{B}^-_\epsilon(x) = \{\,\xi\in\Xi\,:\,x(\xi) = a(\xi)+\epsilon,\; g(\xi) > 0 \,\}. \]
| [out] | v | is the variable to be pruned. | 
| [in] | g | is the negative search direction. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Reimplemented in H1BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, L2BoundConstraint< Real >, BoundConstraint_BurgersControl< Real >, ROL::RiskBoundConstraint< Real >, ROL::BoundConstraint_SimOpt< Real >, ROL::Bounds< Real >, ROL::StdBoundConstraint< Real >, ROL::BoundConstraint_Partitioned< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 207 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isLowerActivated().
| 
 | inlinevirtual | 
Return the ref count pointer to the lower bound vector.
Reimplemented in H1BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, L2BoundConstraint< Real >, ROL::RiskBoundConstraint< Real >, ROL::BoundConstraint_SimOpt< Real >, ROL::Bounds< Real >, ROL::StdBoundConstraint< Real >, ROL::BoundConstraint_Partitioned< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 217 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::hasSetScalar_, and ROL::BoundConstraint< Real >::lower_.
Referenced by ROL::PrimalDualActiveSetStep< Real >::compute(), ROL::BoundConstraint_Partitioned< Real >::getLowerBound(), ROL::LowerBoundToConstraint< Real >::LowerBoundToConstraint(), and ROL::RandomizeFeasibleVector().
| 
 | inlinevirtual | 
Return the ref count pointer to the upper bound vector.
Reimplemented in H1BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, L2BoundConstraint< Real >, ROL::RiskBoundConstraint< Real >, ROL::BoundConstraint_SimOpt< Real >, ROL::Bounds< Real >, ROL::StdBoundConstraint< Real >, ROL::BoundConstraint_Partitioned< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 225 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::hasSetScalar_, and ROL::BoundConstraint< Real >::upper_.
Referenced by ROL::PrimalDualActiveSetStep< Real >::compute(), ROL::BoundConstraint_Partitioned< Real >::getUpperBound(), ROL::RandomizeFeasibleVector(), and ROL::UpperBoundToConstraint< Real >::UpperBoundToConstraint().
| 
 | inlinevirtual | 
Check if the vector, v, is feasible.
This function returns true if \(v = P_{[a,b]}(v)\).
| [in] | v | is the vector to be checked. | 
Reimplemented in H1BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, H1BoundConstraint< Real >, L2BoundConstraint< Real >, L2BoundConstraint< Real >, BoundConstraint_BurgersControl< Real >, ROL::RiskBoundConstraint< Real >, ROL::BoundConstraint_SimOpt< Real >, ROL::Bounds< Real >, ROL::BoundConstraint_Partitioned< Real >, ROL::SimulatedBoundConstraint< Real >, and ROL::StdBoundConstraint< Real >.
Definition at line 237 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isActivated().
Referenced by ROL::TrustRegion< Real >::update(), and ROL::PrimalDualActiveSetStep< Real >::update().
| 
 | inline | 
Turn on lower bound.
This function turns on lower bounds.
Definition at line 248 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::Lactivated_.
Referenced by ROL::BoundConstraint< Real >::activate(), ROL::Bounds< Real >::Bounds(), and ROL::StdBoundConstraint< Real >::StdBoundConstraint().
| 
 | inline | 
Turn on upper bound.
This function turns on upper bounds.
Definition at line 256 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::Uactivated_.
Referenced by ROL::BoundConstraint< Real >::activate(), ROL::Bounds< Real >::Bounds(), and ROL::StdBoundConstraint< Real >::StdBoundConstraint().
| 
 | inline | 
Turn on bounds.
This function turns the bounds on.
Definition at line 264 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::activateLower(), and ROL::BoundConstraint< Real >::activateUpper().
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::BoundConstraint_SimOpt< Real >::BoundConstraint_SimOpt(), ROL::RiskBoundConstraint< Real >::RiskBoundConstraint(), and ROL::StdBoundConstraint< Real >::StdBoundConstraint().
| 
 | inline | 
Turn off lower bound.
This function turns the lower bounds off.
Definition at line 273 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::Lactivated_.
Referenced by ROL::BoundConstraint< Real >::deactivate().
| 
 | inline | 
Turn off upper bound.
This function turns the upper bounds off.
Definition at line 281 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::Uactivated_.
Referenced by ROL::BoundConstraint< Real >::deactivate().
| 
 | inline | 
Turn off bounds.
This function turns the bounds off.
Definition at line 289 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::deactivateLower(), and ROL::BoundConstraint< Real >::deactivateUpper().
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::BoundConstraint_SimOpt< Real >::BoundConstraint_SimOpt(), ROL::RiskBoundConstraint< Real >::RiskBoundConstraint(), and ROL::Algorithm< Real >::run().
| 
 | inline | 
Check if lower bound are on.
This function returns true if the lower bounds are turned on.
Definition at line 298 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::Lactivated_.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::BoundConstraint< Real >::isActivated(), ROL::ObjectiveFromBoundConstraint< Real >::ObjectiveFromBoundConstraint(), ROL::BoundConstraint< Real >::pruneLowerActive(), and ROL::BoundConstraint< Real >::pruneLowerInactive().
| 
 | inline | 
Check if upper bound are on.
This function returns true if the upper bounds are turned on.
Definition at line 306 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::Uactivated_.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::BoundConstraint< Real >::isActivated(), ROL::ObjectiveFromBoundConstraint< Real >::ObjectiveFromBoundConstraint(), ROL::BoundConstraint< Real >::pruneUpperActive(), and ROL::BoundConstraint< Real >::pruneUpperInactive().
| 
 | inline | 
Check if bounds are on.
This function returns true if the bounds are turned on.
Definition at line 314 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isLowerActivated(), and ROL::BoundConstraint< Real >::isUpperActivated().
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::LineSearchStep< Real >::compute(), ROL::AugmentedLagrangianStep< Real >::compute(), ROL::TrustRegionStep< Real >::compute(), ROL::TrustRegionStep< Real >::computeCriticalityMeasure(), ROL::AugmentedLagrangianStep< Real >::computeGradient(), ROL::BoundConstraint< Real >::computeProjectedGradient(), ROL::BoundConstraint< Real >::computeProjectedStep(), ROL::FletcherStep< Real >::computeProjGradientNorm(), ROL::LineSearchStep< Real >::GradDotStep(), ROL::Step< Real >::initialize(), ROL::FletcherStep< Real >::initialize(), ROL::LineSearchStep< Real >::initialize(), ROL::MoreauYosidaPenaltyStep< Real >::initialize(), ROL::AugmentedLagrangianStep< Real >::initialize(), ROL::TrustRegionStep< Real >::initialize(), ROL::BoundConstraint_Partitioned< Real >::isFeasible(), ROL::BoundConstraint< Real >::isFeasible(), ROL::BoundConstraint< Real >::project(), ROL::BoundConstraint_Partitioned< Real >::project(), ROL::BoundConstraint< Real >::projectInterior(), ROL::BoundConstraint_Partitioned< Real >::projectInterior(), ROL::BoundConstraint< Real >::pruneActive(), ROL::BoundConstraint< Real >::pruneInactive(), ROL::BoundConstraint_Partitioned< Real >::pruneLowerActive(), ROL::BoundConstraint_Partitioned< Real >::pruneUpperActive(), ROL::LineSearch< Real >::status(), ROL::TrustRegion< Real >::update(), ROL::BoundConstraint_Partitioned< Real >::update(), ROL::TrustRegionStep< Real >::update(), and ROL::LineSearch< Real >::updateIterate().
| 
 | inline | 
Set variables to zero if they correspond to the \(\epsilon\)-active set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{A}_\epsilon(x)\). Here, the \(\epsilon\)-active set is defined as
\[ \mathcal{A}_\epsilon(x) = \mathcal{A}^+_\epsilon(x)\cap\mathcal{A}^-_\epsilon(x). \]
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Definition at line 332 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isActivated(), ROL::BoundConstraint< Real >::pruneLowerActive(), and ROL::BoundConstraint< Real >::pruneUpperActive().
Referenced by ROL::ProjectedNewtonStep< Real >::compute(), ROL::ProjectedSecantStep< Real >::compute(), ROL::PrimalDualActiveSetStep< Real >::compute(), ROL::BoundConstraint< Real >::computeProjectedGradient(), ROL::LineSearchStep< Real >::GradDotStep(), ROL::BoundConstraint< Real >::pruneInactive(), ROL::LineSearch< Real >::status(), and ROL::TrustRegion< Real >::update().
| 
 | inline | 
Set variables to zero if they correspond to the \(\epsilon\)-binding set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{B}_\epsilon(x)\). Here, the \(\epsilon\)-binding set is defined as
\[ \mathcal{B}^+_\epsilon(x) = \mathcal{B}^+_\epsilon(x)\cap\mathcal{B}^-_\epsilon(x). \]
| [out] | v | is the variable to be pruned. | 
| [in] | g | is the negative search direction. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Definition at line 351 of file ROL_BoundConstraint.hpp.
References ROL::BoundConstraint< Real >::isActivated(), ROL::BoundConstraint< Real >::pruneLowerActive(), and ROL::BoundConstraint< Real >::pruneUpperActive().
| 
 | inline | 
Set variables to zero if they correspond to the \(\epsilon\)-inactive set.
This function sets \(v(\xi)=0\) if \(\xi\in\Xi\setminus\mathcal{A}_\epsilon(x)\). Here,
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Definition at line 365 of file ROL_BoundConstraint.hpp.
References ROL::Vector< Real >::axpy(), ROL::Vector< Real >::clone(), ROL::BoundConstraint< Real >::isLowerActivated(), and ROL::BoundConstraint< Real >::pruneLowerActive().
| 
 | inline | 
Set variables to zero if they correspond to the \(\epsilon\)-inactive set.
This function sets \(v(\xi)=0\) if \(\xi\in\Xi\setminus\mathcal{A}_\epsilon(x)\). Here,
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Definition at line 382 of file ROL_BoundConstraint.hpp.
References ROL::Vector< Real >::axpy(), ROL::Vector< Real >::clone(), ROL::BoundConstraint< Real >::isUpperActivated(), and ROL::BoundConstraint< Real >::pruneUpperActive().
| 
 | inline | 
Set variables to zero if they correspond to the \(\epsilon\)-nonbinding set.
This function sets \(v(\xi)=0\) if \(\xi\in\Xi\setminus\mathcal{B}_\epsilon(x)\).
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | g | is the negative search direction. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Definition at line 400 of file ROL_BoundConstraint.hpp.
References ROL::Vector< Real >::axpy(), ROL::Vector< Real >::clone(), ROL::BoundConstraint< Real >::isLowerActivated(), and ROL::BoundConstraint< Real >::pruneLowerActive().
| 
 | inline | 
Set variables to zero if they correspond to the \(\epsilon\)-nonbinding set.
This function sets \(v(\xi)=0\) if \(\xi\in\Xi\setminus\mathcal{B}_\epsilon(x)\).
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | g | is the negative search direction. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Definition at line 418 of file ROL_BoundConstraint.hpp.
References ROL::Vector< Real >::axpy(), ROL::Vector< Real >::clone(), ROL::BoundConstraint< Real >::isUpperActivated(), and ROL::BoundConstraint< Real >::pruneUpperActive().
| 
 | inline | 
Set variables to zero if they correspond to the \(\epsilon\)-inactive set.
This function sets \(v(\xi)=0\) if \(\xi\in\Xi\setminus\mathcal{A}_\epsilon(x)\). Here,
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Definition at line 435 of file ROL_BoundConstraint.hpp.
References ROL::Vector< Real >::axpy(), ROL::Vector< Real >::clone(), ROL::BoundConstraint< Real >::isActivated(), and ROL::BoundConstraint< Real >::pruneActive().
Referenced by ROL::ProjectedNewtonStep< Real >::compute(), ROL::ProjectedSecantStep< Real >::compute(), ROL::LineSearchStep< Real >::GradDotStep(), and ROL::LineSearch< Real >::status().
| 
 | inline | 
Set variables to zero if they correspond to the \(\epsilon\)-nonbinding set.
This function sets \(v(\xi)=0\) if \(\xi\in\Xi\setminus\mathcal{B}_\epsilon(x)\).
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | g | is the negative search direction. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Definition at line 453 of file ROL_BoundConstraint.hpp.
References ROL::Vector< Real >::axpy(), ROL::Vector< Real >::clone(), ROL::BoundConstraint< Real >::isActivated(), and ROL::BoundConstraint< Real >::pruneActive().
| 
 | inline | 
Compute projected gradient.
This function projects the gradient \(g\) onto the tangent cone.
| [in,out] | g | is the gradient of the objective function at x. | 
| [in] | x | is the optimization variable | 
Definition at line 469 of file ROL_BoundConstraint.hpp.
References ROL::Vector< Real >::clone(), ROL::BoundConstraint< Real >::isActivated(), and ROL::BoundConstraint< Real >::pruneActive().
Referenced by ROL::TrustRegionStep< Real >::computeCriticalityMeasure(), ROL::ProjectedNewtonStep< Real >::update(), ROL::ProjectedSecantStep< Real >::update(), and ROL::ProjectedNewtonKrylovStep< Real >::update().
| 
 | inline | 
Compute projected step.
This function computes the projected step \(P_{[a,b]}(x+v) - x\).
| [in,out] | v | is the step variable. | 
| [in] | x | is the optimization variable. | 
Definition at line 483 of file ROL_BoundConstraint.hpp.
References ROL::Vector< Real >::axpy(), ROL::BoundConstraint< Real >::isActivated(), ROL::Vector< Real >::plus(), and ROL::BoundConstraint< Real >::project().
| 
 | private | 
Flag that determines whether or not the lower bounds are being used.
Definition at line 74 of file ROL_BoundConstraint.hpp.
Referenced by ROL::BoundConstraint< Real >::activateLower(), ROL::BoundConstraint< Real >::deactivateLower(), and ROL::BoundConstraint< Real >::isLowerActivated().
| 
 | private | 
Flag that determines whether or not the upper bounds are being used.
Definition at line 75 of file ROL_BoundConstraint.hpp.
Referenced by ROL::BoundConstraint< Real >::activateUpper(), ROL::BoundConstraint< Real >::deactivateUpper(), and ROL::BoundConstraint< Real >::isUpperActivated().
| 
 | private | 
Definition at line 76 of file ROL_BoundConstraint.hpp.
Referenced by ROL::BoundConstraint< Real >::BoundConstraint(), and ROL::BoundConstraint< Real >::getLowerBound().
| 
 | private | 
Definition at line 77 of file ROL_BoundConstraint.hpp.
Referenced by ROL::BoundConstraint< Real >::BoundConstraint(), and ROL::BoundConstraint< Real >::getUpperBound().
| 
 | private | 
Definition at line 78 of file ROL_BoundConstraint.hpp.
Referenced by ROL::BoundConstraint< Real >::BoundConstraint(), ROL::BoundConstraint< Real >::getLowerBound(), and ROL::BoundConstraint< Real >::getUpperBound().
 1.8.5
 1.8.5