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() ) {
89 BoundConstraint<Real>::activate();
92 BoundConstraint<Real>::deactivate();
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),
284 constPtrCast<Vector<Real>>(l2) );
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),
291 constPtrCast<Vector<Real>>(u2) );
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.
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.