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::LogBarrierObjective< Real >
 Log barrier objective for interior point methods. More...
 
class  ROL::AugmentedLagrangian< Real >
 Provides the interface to evaluate the augmented Lagrangian. More...
 
class  ROL::InteriorPointObjective< Real >
 Adds barrier term to generic objective. More...
 
class  ROL::InteriorPointEqualityConstraint< Real >
 Has both inequality and equality constraints. Treat inequality constraint as equality with slack variable. More...
 
class  ROL::InteriorPointBoundConstraint< Real >
 Require positivity of slack variables. 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.