|
ROL
|
#include <ROL_Constraint_SerialSimOpt.hpp>
Public Member Functions | |
| virtual | ~BoundConstraint () |
| BoundConstraint (void) | |
| BoundConstraint (const Vector< Real > &x) | |
| virtual void | project (Vector< Real > &x) |
| Project optimization variables onto the bounds. | |
| virtual void | projectInterior (Vector< Real > &x) |
| Project optimization variables into the interior of the feasible set. | |
| virtual void | pruneUpperActive (Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the upper \(\epsilon\)-active set. | |
| virtual 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 \(\epsilon\)-binding set. | |
| virtual void | pruneLowerActive (Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the lower \(\epsilon\)-active set. | |
| virtual 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 \(\epsilon\)-binding set. | |
| virtual const Ptr< const Vector< Real > > | getLowerBound (void) const |
| Return the ref count pointer to the lower bound vector. | |
| virtual const Ptr< const Vector< Real > > | getUpperBound (void) const |
| Return the ref count pointer to the upper bound vector. | |
| virtual bool | isFeasible (const Vector< Real > &v) |
| Check if the vector, v, is feasible. | |
| virtual void | applyInverseScalingFunction (Vector< Real > &dv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g) const |
| Apply inverse scaling function. | |
| virtual void | applyScalingFunctionJacobian (Vector< Real > &dv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g) const |
| Apply scaling function Jacobian. | |
| void | activateLower (void) |
| Turn on lower bound. | |
| void | activateUpper (void) |
| Turn on upper bound. | |
| void | activate (void) |
| Turn on bounds. | |
| void | deactivateLower (void) |
| Turn off lower bound. | |
| void | deactivateUpper (void) |
| Turn off upper bound. | |
| void | deactivate (void) |
| Turn off bounds. | |
| bool | isLowerActivated (void) const |
| Check if lower bound are on. | |
| bool | isUpperActivated (void) const |
| Check if upper bound are on. | |
| bool | isActivated (void) const |
| Check if bounds are on. | |
| void | pruneActive (Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the \(\epsilon\)-active 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 \(\epsilon\)-binding set. | |
| void | pruneLowerInactive (Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the \(\epsilon\)-inactive set. | |
| void | pruneUpperInactive (Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the \(\epsilon\)-inactive set. | |
| void | pruneLowerInactive (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 \(\epsilon\)-nonbinding set. | |
| void | pruneUpperInactive (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 \(\epsilon\)-nonbinding set. | |
| void | pruneInactive (Vector< Real > &v, const Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the \(\epsilon\)-inactive set. | |
| void | pruneInactive (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 \(\epsilon\)-nonbinding set. | |
| void | computeProjectedGradient (Vector< Real > &g, const Vector< Real > &x) |
| Compute projected gradient. | |
| void | computeProjectedStep (Vector< Real > &v, const Vector< Real > &x) |
| Compute projected step. | |
Protected Member Functions | |
| Real | computeInf (const Vector< Real > &x) const |
Protected Attributes | |
| Ptr< Vector< Real > > | lower_ |
| Ptr< Vector< Real > > | upper_ |
Private Attributes | |
| bool | Lactivated_ |
| Flag that determines whether or not the lower bounds are being used. | |
| bool | Uactivated_ |
| Flag that determines whether or not the upper bounds are being used. | |
Definition at line 73 of file ROL_Constraint_SerialSimOpt.hpp.
|
inlinevirtual |
Definition at line 86 of file ROL_Constraint_SerialSimOpt.hpp.
| ROL::ROL::BoundConstraint< Real >::BoundConstraint | ( | void | ) |
Definition at line 57 of file ROL_BoundConstraint_Def.hpp.
References Lactivated_, and Uactivated_.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::BoundConstraint_SimOpt< Real >::BoundConstraint_SimOpt(), ROL::RiskBoundConstraint< Real >::RiskBoundConstraint(), ROL::RiskBoundConstraint< Real >::RiskBoundConstraint(), ROL::RiskBoundConstraint< Real >::RiskBoundConstraint(), ROL::RiskBoundConstraint< Real >::RiskBoundConstraint(), and ROL::SimulatedBoundConstraint< Real >::SimulatedBoundConstraint().
| ROL::ROL::BoundConstraint< Real >::BoundConstraint | ( | const Vector< Real > & | x | ) |
Definition at line 61 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::clone(), ROL::BoundConstraint< Real >::computeInf(), Lactivated_, lower_, Uactivated_, and upper_.
|
protected |
Definition at line 50 of file ROL_BoundConstraint_Def.hpp.
References dim, ROL::ROL::Vector< Real >::dimension(), and ROL::ROL::ROL_INF().
|
virtual |
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. |
Definition at line 74 of file ROL_BoundConstraint_Def.hpp.
References isActivated().
Referenced by computeProjectedStep(), and isFeasible().
|
virtual |
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. |
Definition at line 81 of file ROL_BoundConstraint_Def.hpp.
References isActivated().
|
virtual |
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) \ge 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\). |
Definition at line 88 of file ROL_BoundConstraint_Def.hpp.
References isUpperActivated().
Referenced by pruneActive(), pruneActive(), pruneUpperInactive(), and pruneUpperInactive().
|
virtual |
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) \ge b(\xi)-\epsilon_x,\; g(\xi) < -\epsilon_g \,\}. \]
| [out] | v | is the variable to be pruned. |
| [in] | g | is the negative search direction. |
| [in] | x | is the current optimization variable. |
| [in] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Definition at line 95 of file ROL_BoundConstraint_Def.hpp.
References isUpperActivated().
|
virtual |
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) \le 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\). |
Definition at line 102 of file ROL_BoundConstraint_Def.hpp.
References isLowerActivated().
Referenced by pruneActive(), pruneActive(), pruneLowerInactive(), and pruneLowerInactive().
|
virtual |
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) \le 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] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Definition at line 109 of file ROL_BoundConstraint_Def.hpp.
References isLowerActivated().
|
virtual |
Return the ref count pointer to the lower bound vector.
Reimplemented in ROL::BoundConstraint_SimOpt< Real >, ROL::RiskBoundConstraint< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 116 of file ROL_BoundConstraint_Def.hpp.
References lower_.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned().
|
virtual |
Return the ref count pointer to the upper bound vector.
Reimplemented in ROL::BoundConstraint_SimOpt< Real >, ROL::RiskBoundConstraint< Real >, and ROL::SimulatedBoundConstraint< Real >.
Definition at line 124 of file ROL_BoundConstraint_Def.hpp.
References upper_.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned().
|
virtual |
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. |
Definition at line 132 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::clone(), isActivated(), project(), and ROL::ROL::ROL_EPSILON().
|
virtual |
Apply inverse scaling function.
This function applies the inverse scaling function \(d(x,g)\) to a vector \(v\), i.e., the output is \(\mathrm{diag}(d(x,g)^{-1})v\). The scaling function must satisfy: (i) \(d(x,g)_i = 0\) if \(x_i = a_i\) and \(g_i \ge 0\); (ii) \(d(x,g)_i = 0\) if \(x_i = b_i\) and \(g_i \le 0\); and (iii) \(d(x,g)_i > 0\) otherwise.
| [out] | dv | is the inverse scaling function applied to v. |
| [in] | v | is the vector being scaled. |
| [in] | x | is the primal vector at which the scaling function is evaluated. |
| [in] | g | is the dual vector at which the scaling function is evaluated. |
Definition at line 145 of file ROL_BoundConstraint_Def.hpp.
|
virtual |
Apply scaling function Jacobian.
This function applies the Jacobian of the scaling function \(d(x,g)\) to a vector \(v\). The output is \(\mathrm{diag}(d_x(x,g)g)v\). The scaling function must satisfy: (i) \(d(x,g)_i = 0\) if \(x_i = a_i\) and \(g_i \ge 0\); (ii) \(d(x,g)_i = 0\) if \(x_i = b_i\) and \(g_i \le 0\); and (iii) \(d(x,g)_i > 0\) otherwise.
| [out] | dv | is the scaling function Jacobian applied to v. |
| [in] | v | is the vector being scaled. |
| [in] | x | is the primal vector at which the scaling function is evaluated. |
| [in] | g | is the dual vector at which the scaling function is evaluated. |
Definition at line 150 of file ROL_BoundConstraint_Def.hpp.
| void ROL::ROL::BoundConstraint< Real >::activateLower | ( | void | ) |
Turn on lower bound.
This function turns on lower bounds.
Definition at line 155 of file ROL_BoundConstraint_Def.hpp.
References Lactivated_.
Referenced by activate().
| void ROL::ROL::BoundConstraint< Real >::activateUpper | ( | void | ) |
Turn on upper bound.
This function turns on upper bounds.
Definition at line 160 of file ROL_BoundConstraint_Def.hpp.
References Uactivated_.
Referenced by activate().
| void ROL::ROL::BoundConstraint< Real >::activate | ( | void | ) |
Turn on bounds.
This function turns the bounds on.
Definition at line 165 of file ROL_BoundConstraint_Def.hpp.
References activateLower(), and activateUpper().
| void ROL::ROL::BoundConstraint< Real >::deactivateLower | ( | void | ) |
Turn off lower bound.
This function turns the lower bounds off.
Definition at line 171 of file ROL_BoundConstraint_Def.hpp.
References Lactivated_.
Referenced by deactivate().
| void ROL::ROL::BoundConstraint< Real >::deactivateUpper | ( | void | ) |
Turn off upper bound.
This function turns the upper bounds off.
Definition at line 176 of file ROL_BoundConstraint_Def.hpp.
References Uactivated_.
Referenced by deactivate().
| void ROL::ROL::BoundConstraint< Real >::deactivate | ( | void | ) |
Turn off bounds.
This function turns the bounds off.
Definition at line 181 of file ROL_BoundConstraint_Def.hpp.
References deactivateLower(), and deactivateUpper().
| bool ROL::ROL::BoundConstraint< Real >::isLowerActivated | ( | void | ) | const |
Check if lower bound are on.
This function returns true if the lower bounds are turned on.
Definition at line 187 of file ROL_BoundConstraint_Def.hpp.
References Lactivated_.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), isActivated(), pruneLowerActive(), pruneLowerActive(), pruneLowerInactive(), and pruneLowerInactive().
| bool ROL::ROL::BoundConstraint< Real >::isUpperActivated | ( | void | ) | const |
Check if upper bound are on.
This function returns true if the upper bounds are turned on.
Definition at line 192 of file ROL_BoundConstraint_Def.hpp.
References Uactivated_.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), isActivated(), pruneUpperActive(), pruneUpperActive(), pruneUpperInactive(), and pruneUpperInactive().
| bool ROL::ROL::BoundConstraint< Real >::isActivated | ( | void | ) | const |
Check if bounds are on.
This function returns true if the bounds are turned on.
Definition at line 197 of file ROL_BoundConstraint_Def.hpp.
References isLowerActivated(), and isUpperActivated().
Referenced by ROL::BoundConstraint_Partitioned< Real >::applyInverseScalingFunction(), ROL::BoundConstraint_Partitioned< Real >::applyScalingFunctionJacobian(), ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), computeProjectedGradient(), computeProjectedStep(), ROL::BoundConstraint_Partitioned< Real >::isFeasible(), isFeasible(), ROL::BoundConstraint_Partitioned< Real >::project(), project(), ROL::BoundConstraint_Partitioned< Real >::projectInterior(), projectInterior(), pruneActive(), pruneActive(), pruneInactive(), pruneInactive(), ROL::BoundConstraint_Partitioned< Real >::pruneLowerActive(), ROL::BoundConstraint_Partitioned< Real >::pruneLowerActive(), ROL::BoundConstraint_Partitioned< Real >::pruneUpperActive(), ROL::BoundConstraint_Partitioned< Real >::pruneUpperActive(), and ROL::BoundConstraint_Partitioned< Real >::update().
| void ROL::ROL::BoundConstraint< Real >::pruneActive | ( | Vector< Real > & | v, |
| const Vector< Real > & | x, | ||
| Real | eps = Real(0) ) |
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 202 of file ROL_BoundConstraint_Def.hpp.
References isActivated(), pruneLowerActive(), and pruneUpperActive().
Referenced by computeProjectedGradient(), pruneInactive(), and pruneInactive().
| void ROL::ROL::BoundConstraint< Real >::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 \(\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] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Definition at line 210 of file ROL_BoundConstraint_Def.hpp.
References isActivated(), pruneLowerActive(), and pruneUpperActive().
| void ROL::ROL::BoundConstraint< Real >::pruneLowerInactive | ( | Vector< Real > & | v, |
| const Vector< Real > & | x, | ||
| Real | eps = Real(0) ) |
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 218 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::axpy(), ROL::ROL::Vector< Real >::clone(), isLowerActivated(), and pruneLowerActive().
| void ROL::ROL::BoundConstraint< Real >::pruneUpperInactive | ( | Vector< Real > & | v, |
| const Vector< Real > & | x, | ||
| Real | eps = Real(0) ) |
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 229 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::axpy(), ROL::ROL::Vector< Real >::clone(), isUpperActivated(), and pruneUpperActive().
| void ROL::ROL::BoundConstraint< Real >::pruneLowerInactive | ( | 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 \(\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] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Definition at line 240 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::axpy(), ROL::ROL::Vector< Real >::clone(), isLowerActivated(), and pruneLowerActive().
| void ROL::ROL::BoundConstraint< Real >::pruneUpperInactive | ( | 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 \(\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] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Definition at line 251 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::axpy(), ROL::ROL::Vector< Real >::clone(), isUpperActivated(), and pruneUpperActive().
| void ROL::ROL::BoundConstraint< Real >::pruneInactive | ( | Vector< Real > & | v, |
| const Vector< Real > & | x, | ||
| Real | eps = Real(0) ) |
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 262 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::axpy(), ROL::ROL::Vector< Real >::clone(), isActivated(), and pruneActive().
| void ROL::ROL::BoundConstraint< Real >::pruneInactive | ( | 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 \(\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] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Definition at line 273 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::axpy(), ROL::ROL::Vector< Real >::clone(), isActivated(), and pruneActive().
| void ROL::ROL::BoundConstraint< Real >::computeProjectedGradient | ( | Vector< Real > & | g, |
| const Vector< Real > & | x ) |
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 284 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::clone(), isActivated(), and pruneActive().
| void ROL::ROL::BoundConstraint< Real >::computeProjectedStep | ( | Vector< Real > & | v, |
| const Vector< Real > & | x ) |
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 293 of file ROL_BoundConstraint_Def.hpp.
References ROL::ROL::Vector< Real >::axpy(), isActivated(), ROL::ROL::Vector< Real >::plus(), and project().
|
private |
Flag that determines whether or not the lower bounds are being used.
Definition at line 75 of file ROL_Constraint_SerialSimOpt.hpp.
Referenced by activateLower(), BoundConstraint(), BoundConstraint(), deactivateLower(), and isLowerActivated().
|
private |
Flag that determines whether or not the upper bounds are being used.
Definition at line 76 of file ROL_Constraint_SerialSimOpt.hpp.
Referenced by activateUpper(), BoundConstraint(), BoundConstraint(), deactivateUpper(), and isUpperActivated().
|
protected |
Definition at line 79 of file ROL_Constraint_SerialSimOpt.hpp.
Referenced by ROL::Bounds< Real >::applyScalingFunctionJacobian(), BoundConstraint(), ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::Bounds< Real >::Bounds(), ROL::Bounds< Real >::Bounds(), ROL::Bounds< Real >::buildScalingFunction(), getLowerBound(), ROL::Bounds< Real >::isFeasible(), ROL::Bounds< Real >::project(), ROL::Bounds< Real >::projectInterior(), ROL::Bounds< Real >::pruneLowerActive(), ROL::Bounds< Real >::pruneLowerActive(), ROL::StdBoundConstraint< Real >::StdBoundConstraint(), and ROL::StdBoundConstraint< Real >::StdBoundConstraint().
|
protected |
Definition at line 80 of file ROL_Constraint_SerialSimOpt.hpp.
Referenced by ROL::Bounds< Real >::applyScalingFunctionJacobian(), BoundConstraint(), ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::Bounds< Real >::Bounds(), ROL::Bounds< Real >::Bounds(), ROL::Bounds< Real >::buildScalingFunction(), getUpperBound(), ROL::Bounds< Real >::isFeasible(), ROL::Bounds< Real >::project(), ROL::Bounds< Real >::projectInterior(), ROL::Bounds< Real >::pruneUpperActive(), ROL::Bounds< Real >::pruneUpperActive(), ROL::StdBoundConstraint< Real >::StdBoundConstraint(), and ROL::StdBoundConstraint< Real >::StdBoundConstraint().