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();
107 if (
bnd1_->isActivated() ) {
110 if (
bnd2_->isActivated() ) {
128 if (
bnd1_->isActivated() ) {
131 if (
bnd2_->isActivated() ) {
152 if (
bnd1_->isActivated() ) {
155 if (
bnd2_->isActivated() ) {
180 if (
bnd1_->isActivated() ) {
183 if (
bnd2_->isActivated() ) {
204 if (
bnd1_->isActivated() ) {
207 if (
bnd2_->isActivated() ) {
232 if (
bnd1_->isActivated() ) {
235 if (
bnd2_->isActivated() ) {
241 const Ptr<const Vector<Real>> l1 =
bnd1_->getLowerBound();
242 const Ptr<const Vector<Real>> l2 =
bnd2_->getLowerBound();
243 return makePtr<Vector_SimOpt<Real>>( constPtrCast<Vector<Real>>(l1),
244 constPtrCast<Vector<Real>>(l2) );
248 const Ptr<const Vector<Real>> u1 =
bnd1_->getUpperBound();
249 const Ptr<const Vector<Real>> u2 =
bnd2_->getUpperBound();
250 return makePtr<Vector_SimOpt<Real>>( constPtrCast<Vector<Real>>(u1),
251 constPtrCast<Vector<Real>>(u2) );
270 if (
bnd1_->isActivated() ) {
273 if (
bnd2_->isActivated() ) {
294 if (
bnd1_->isActivated() ) {
297 if (
bnd2_->isActivated() ) {
330 if (
bnd1_->isActivated() ) {
333 if (
bnd2_->isActivated() ) {
356 if (
bnd1_->isActivated() ) {
359 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.
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.
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.