ROL
Classes
Functional Interface

ROL's functional interface. More...

Classes

class  ROL::Objective< Real >
 Provides the interface to evaluate objective functions. More...
 
class  ROL::BoundConstraint< Real >
 Provides the interface to apply upper and lower bound constraints. More...
 
class  ROL::EqualityConstraint< Real >
 Defines the equality constraint operator interface. More...
 
class  ROL::Objective_SimOpt< Real >
 Provides the interface to evaluate simulation-based objective functions. More...
 
class  ROL::EqualityConstraint_SimOpt< Real >
 Defines the equality constraint operator interface for simulation-based optimization. More...
 
class  ROL::BlockOperator< Real >
 Provides the interface to apply a block operator to a partitioned vector. More...
 
class  ROL::BlockOperator2< Real >
 Provides the interface to apply a 2x2 block operator to a partitioned vector. More...
 
class  ROL::BlockOperator2Determinant< Real >
 

Provides the interface to the block determinant of a 2x2 block operator

More...
 
class  ROL::BlockOperator2Diagonal< Real >
 Provides the interface to apply a 2x2 block diagonal operator to a partitioned vector. More...
 
class  ROL::BlockOperator2UnitLower< Real >
 Provides the interface to apply a 2x2 block unit lower operator to a partitioned vector. More...
 
class  ROL::BlockOperator2UnitUpper< Real >
 Provides the interface to apply a 2x2 block unit upper operator to a partitioned vector. More...
 
class  ROL::DiagonalOperator< Real >
 Provides the interface to apply a diagonal operator which acts like elementwise multiplication when apply() is used and elementwise division when applyInverse() is used. More...
 
class  ROL::DyadicOperator< Real >
 Interface to apply a dyadic operator to a vector. More...
 
class  ROL::HouseholderReflector< Real >
 Provides the interface to create a Householder reflector operator, that when applied to a vector x, produces a vector parallel to y. More...
 
class  ROL::IdentityOperator< Real >
 Multiplication by unity. More...
 
class  ROL::LinearOperator< Real >
 Provides the interface to apply a linear operator. More...
 
class  ROL::LinearOperatorFromEqualityConstraint< Real >
 A simple wrapper which allows application of constraint Jacobians through the LinearOperator interface. More...
 
class  ROL::LinearOperatorProduct< Real >
 

Provides the interface to the sequential application of linear operators.

More...
 
class  ROL::LinearOperatorSum< Real >
 

Provides the interface to sum of linear operators applied to a vector

More...
 
class  ROL::NullOperator< Real >
 Multiplication by zero. More...
 
class  ROL::SchurComplement
 Given a 2x2 block operator, perform the Schur reduction and return the decoupled system components. More...
 
class  ROL::StdLinearOperator< Real >
 Provides the std::vector implementation to apply a linear operator, which is a std::vector representation of column-stacked matrix. More...
 
class  ROL::StdLinearOperatorFactory
 Creates StdLinearOperator objects which wrap random

matrices of the desired size and property

More...
 
class  ROL::StdTridiagonalOperator< Real >
 Provides the std::vector implementation to apply a linear operator, which encapsulates a tridiagonal matrix. More...
 
class  ROL::AugmentedLagrangian< Real >
 Provides the interface to evaluate the augmented Lagrangian. More...
 
class  ROL::AugmentedLagrangian_SimOpt< Real >
 Provides the interface to evaluate the SimOpt augmented Lagrangian. More...
 
class  ROL::BinaryConstraint< Real >
 Implements an equality constraint function that evaluates to zero on the surface of a bounded parallelpiped and is positive in the interior. More...
 
class  ROL::BoundConstraint_Partitioned< Real >
 A composite composite BoundConstraint formed from bound constraints on subvectors of a PartitionedVector. More...
 
class  ROL::BoundInequalityConstraint< Real >
 Provides an implementation for bound inequality constraints. More...
 
class  ROL::ColemanLiModel< Real >
 Provides the interface to evaluate interior trust-region model functions from the Coleman-Li bound constrained trust-region algorithm. More...
 
class  ROL::CompositeConstraint< Real >
 Has both inequality and equality constraints. Treat inequality constraint as equality with slack variable. More...
 
class  ROL::CompositeEqualityConstraint_SimOpt< Real >
 Defines a composite equality constraint operator interface for simulation-based optimization. More...
 
class  ROL::CompositeObjective< Real >
 Provides the interface to evaluate composite objective functions. More...
 
class  ROL::CompositeObjective_SimOpt< Real >
 Provides the interface to evaluate simulation-based composite objective functions. More...
 
class  ROL::EqualityConstraint_Partitioned< Real >
 Allows composition of equality constraints. More...
 
class  ROL::InequalityConstraint< Real >
 Provides a unique argument for inequality constraints, which otherwise behave exactly as equality constraints. More...
 
class  ROL::KelleySachsModel< Real >
 Provides the interface to evaluate projected trust-region model functions from the Kelley-Sachs bound constrained trust-region algorithm. More...
 
class  ROL::LinearEqualityConstraint< Real >
 Provides the interface to evaluate linear equality constraints. More...
 
class  ROL::LinearObjective< Real >
 Provides the interface to evaluate linear objective functions. More...
 
class  ROL::LogBarrierObjective< Real >
 Log barrier objective for interior point methods. More...
 
class  ROL::LowerBoundInequalityConstraint< Real >
 Provides an implementation for lower bound inequality constraints. More...
 
class  ROL::MoreauYosidaPenalty< Real >
 Provides the interface to evaluate the Moreau-Yosida penalty function. More...
 
class  ROL::NonlinearLeastSquaresObjective< Real >
 Provides the interface to evaluate nonlinear least squares objective functions. More...
 
class  ROL::NonlinearLeastSquaresObjective_SimOpt< Real >
 Provides the interface to evaluate nonlinear least squares objective functions. More...
 
class  ROL::ObjectiveFromBoundConstraint< Real >
 Create a penalty objective from upper and lower bound vectors. More...
 
class  ROL::ObjectiveMMA< Real >
 Provides the interface to to Method of Moving Asymptotes Objective function. More...
 
class  ROL::QuadraticObjective< Real >
 Provides the interface to evaluate quadratic objective functions. More...
 
class  ROL::QuadraticPenalty< Real >
 Provides the interface to evaluate the quadratic constraint penalty. More...
 
class  ROL::QuadraticPenalty_SimOpt< Real >
 Provides the interface to evaluate the quadratic SimOpt constraint penalty. More...
 
class  ROL::Reduced_AugmentedLagrangian_SimOpt< Real >
 Provides the interface to evaluate the reduced SimOpt augmented Lagrangian. More...
 
class  ROL::ScalarLinearEqualityConstraint< Real >
 This equality constraint defines an affine hyperplane. More...
 
class  ROL::SlacklessObjective< Real >
 This class strips out the slack variables from objective evaluations to create the new objective \( F(x,s) = f(x) \). More...
 
class  ROL::StdEqualityConstraint< Real >
 Defines the equality constraint operator interface for StdVectors. More...
 
class  ROL::StdInequalityConstraint< Real >
 Provides a unique argument for inequality constraints using std::vector types, which otherwise behave exactly as equality constraints. More...
 
class  ROL::StdObjective< Real >
 Specializes the ROL::Objective interface for objective functions that operate on ROL::StdVector's. More...
 
class  ROL::TrustRegionModel< Real >
 Provides the interface to evaluate trust-region model functions. More...
 
class  ROL::UpperBoundInequalityConstraint< Real >
 Provides an implementation for upper bound inequality constraints. More...
 
class  ROL::PenalizedObjective
 Adds barrier term to generic objective. More...
 
class  ROL::InteriorPoint::CompositeConstraint< Real >
 Has both inequality and equality constraints. Treat inequality constraint as equality with slack variable. More...
 
class  ROL::InteriorPointPenalty< Real >
 Provides the interface to evaluate the Interior Pointy log barrier penalty function with upper and lower bounds on some elements. More...
 
class  ROL::InteriorPoint::PrimalDualResidual< Real >
 Express the Primal-Dual Interior Point gradient as an equality constraint. More...
 
class  ROL::PrimalDualInteriorPointReducedResidual
 Reduced form of the Primal Dual Interior Point residual and the action of its Jacobian. More...
 
class  ROL::PrimalDualInteriorPointResidual< Real >
 Symmetrized form of the KKT operator for the Type-EB problem with equality and bound multipliers. More...
 
class  ROL::ParametrizedCompositeObjective< Real >
 Provides the interface to evaluate parametrized composite objective functions. More...
 
class  ROL::ParametrizedStdObjective< Real >
 Specializes the ROL::Objective interface for objective functions that operate on ROL::StdVector's. More...
 

Detailed Description

ROL's functional interface.

ROL is used for the numerical solution of smooth optimization problems

\[ \begin{array}{rl} \displaystyle \min_{x} & f(x) \\ \mbox{subject to} & c(x) = 0 \,, \\ & a \le x \le b \,, \end{array} \]

where:

This formulation encompasses a variety of useful problem scenarios.

First, the vector spaces \(\mathcal{X}\) and \(\mathcal{C}\), to be defined by the user through the Linear Algebra Interface, can represent real spaces, such as \(\mathcal{X} = \mathbb{R}^n\) and \(\mathcal{C} = \mathbb{R}^m\), and function spaces, such as Hilbert and Banach function spaces. ROL's vector space abstractions enable efficent implementations of general optimization algorithms, spanning traditional nonlinear programming (NLP), optimization with partial differential equation (PDE) or differential algebraic equation (DAE) constraints, and stochastic optimization.

Second, ROL's core methods can solve four types of smooth optimization problems, depending on the structure of the constraints.

Third, ROL's design enables streamlined algorithmic extensions, such as the Stochastic Optimization capability.