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::LinearOperator< Real >
 Provides the interface to apply a linear operator. 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::Reduced_Objective_SimOpt< Real >
 Provides the interface to evaluate simulation-based reduced objective functions. More...
 
class  ROL::BlockOperator< Real >
 Provides the interface to apply a block operator to a partitioned vector. More...
 
class  ROL::BoundInequalityConstraint< Real >
 Provides an implementation for bound inequality constraints. 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::InequalityConstraint< Real >
 Provides a unique argument for inequality constraints, which otherwise behave exactly as 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::ObjectiveFromBoundConstraint< Real >
 Create a logarithmic penalty objective from upper and lower bound vectors. More...
 
class  ROL::ScalarLinearEqualityConstraint< Real >
 This equality constraint defines an affine hyperplane. More...
 
class  ROL::UpperBoundInequalityConstraint< Real >
 Provides an implementation for upper bound inequality constraints. More...
 
class  ROL::AugmentedLagrangian< Real >
 Provides the interface to evaluate the augmented Lagrangian. 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::InteriorPoint::PrimalDualResidual< Real >
 Express the Primal-Dual Interior Point gradient as an equality constraint. More...
 
class  ROL::MoreauYosidaPenalty< Real >
 Provides the interface to evaluate the Moreau-Yosida penalty function. 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.