ROL
Classes
Functional Interface

ROL's functional interface. More...

Classes

class  ROL::BoundConstraint< Real >
 Provides the interface to apply upper and lower bound constraints. More...
 
class  ROL::BoundConstraint_Partitioned< Real >
 A composite composite BoundConstraint formed from bound constraints on subvectors of a PartitionedVector. More...
 
class  ROL::Bounds< Real >
 Provides the elementwise interface to apply upper and lower bound constraints. 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::BoundToConstraint< Real >
 Provides an implementation for bound constraints. More...
 
class  ROL::Constraint< Real >
 Defines the general constraint operator interface. More...
 
class  ROL::Constraint_Partitioned< Real >
 Has both inequality and equality constraints. Treat inequality constraint as equality with slack variable. More...
 
class  ROL::ConstraintFromObjective< Real >
 Creates a constraint from an objective function and a offset value. More...
 
class  ROL::LinearConstraint< Real >
 Provides the interface to evaluate linear constraints. More...
 
class  ROL::LowerBoundToConstraint< Real >
 Provides an implementation for lower bound constraints. More...
 
class  ROL::ScalarLinearConstraint< Real >
 This equality constraint defines an affine hyperplane. More...
 
class  ROL::UpperBoundToConstraint< Real >
 Provides an implementation for upper bound constraints. More...
 
class  ROL::DynamicObjective< Real >
 Defines the time-dependent objective function interface for simulation-based optimization. Computes time-local contributions of value, gradient, Hessian-vector product etc to a larger composite objective defined over the simulation time. In contrast to other objective classes Objective_TimeSimOpt has a default implementation of value which returns zero, as time-dependent simulation based optimization problems may have an objective value which depends only on the final state of the system. More...
 
class  ROL::DynamicTrackingObjective< Real >
 Defines the time-local contribution to a quadratic tracking objective. More...
 
class  ROL::NonlinearLeastSquaresObjective_Dynamic< Real >
 Provides the interface to evaluate nonlinear least squares objective functions. More...
 
class  ROL::ReducedDynamicObjective< Real >
 Defines the reduced time-dependent objective function interface for simulation-based optimization. More...
 
class  ROL::SerialConstraint
 Evaluates ROL::DynamicConstraint over a sequential set of time intervals. More...
 
class  ROL::NonlinearLeastSquaresObjective< Real >
 Provides the interface to evaluate nonlinear least squares objective functions. More...
 
class  ROL::CompositeObjective< Real >
 Provides the interface to evaluate composite objective functions. More...
 
class  ROL::LinearObjective< Real >
 Provides the interface to evaluate linear objective functions. More...
 
class  ROL::Objective< Real >
 Provides the interface to evaluate objective functions. More...
 
class  ROL::ObjectiveFromConstraint< Real >
 Form an objective function from a ROL::Constraint and a vector in the dual constraint space \(\lambda\in \mathcal{C}^\ast\). More...
 
class  ROL::QuadraticObjective< Real >
 Provides the interface to evaluate quadratic objective functions. 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::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::LinearOperatorFromConstraint< 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::ConstraintManager< Real >
 Provides a wrapper for multiple constraints. More...
 
class  ROL::ObjectiveMMA< Real >
 Provides the interface to to Method of Moving Asymptotes Objective function. More...
 
class  ROL::CompositeConstraint_SimOpt< Real >
 Defines a composite equality constraint operator interface for simulation-based optimization. More...
 
class  ROL::CompositeObjective_SimOpt< Real >
 Provides the interface to evaluate simulation-based composite objective functions. More...
 
class  ROL::Constraint_SerialSimOpt< Real >
 Unifies the constraint defined on a single time step that are defined through the Constraint_TimeSimOpt interface into a SimOpt constraint for all time. Primarily intended for use in testing the parallel-in-time implementation. More...
 
class  ROL::NonlinearLeastSquaresObjective_SimOpt< Real >
 Provides the interface to evaluate nonlinear least squares objective functions. More...
 
class  ROL::Constraint_SimOpt< Real >
 Defines the constraint operator interface for simulation-based optimization. More...
 
class  ROL::Constraint_TimeSimOpt< Real >
 Defines the time dependent constraint operator interface for simulation-based optimization. More...
 
class  ROL::Objective_SimOpt< Real >
 Provides the interface to evaluate simulation-based objective functions. More...
 
class  ROL::Objective_TimeSimOpt< Real >
 Defines the time-dependent objective function interface for simulation-based optimization. Computes time-local contributions of value, gradient, Hessian-vector product etc to a larger composite objective defined over the simulation time. In contrast to other objective classes Objective_TimeSimOpt has a default implementation of value which returns zero, as time-dependent simulation based optimization problems may have an objective value which depends only on the final state of the system. More...
 
class  ROL::Sketch< Real >
 Provides an interface for randomized sketching. More...
 
class  ROL::StdConstraint< Real >
 Defines the equality constraint operator interface for StdVectors. 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::StdObjective< Real >
 Specializes the ROL::Objective interface for objective functions that operate on ROL::StdVector's. 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::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::PenalizedObjective
 Adds barrier term to generic objective. 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::LogBarrierObjective< Real >
 Log barrier objective for interior point methods. More...
 
class  ROL::ObjectiveFromBoundConstraint< Real >
 Create a penalty objective from upper and lower bound vectors. 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::MoreauYosidaPenalty< Real >
 Provides the interface to evaluate the Moreau-Yosida penalty function. 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  ConicApproximationModel
 Provides the interface to evaluate conic approximation function. 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::LinMoreModel< Real >
 Provides the interface to evaluate projected trust-region model functions from the Kelley-Sachs bound constrained trust-region algorithm. More...
 
class  ROL::SemismoothNewtonDualModel
 Implements the dual variable model function for a semismooth Newton step. More...
 
class  ROL::TrustRegionModel< Real >
 Provides the interface to evaluate trust-region model functions. More...
 
class  ROL::PH_bPOEObjective< Real >
 Provides the interface for the progressive hedging probability objective. More...
 
class  ROL::PH_DeviationObjective< Real >
 Provides the interface for the progressive hedging deviation objective. More...
 
class  ROL::PH_ErrorObjective< Real >
 Provides the interface for the progressive hedging error objective. More...
 
class  ROL::PH_Objective< Real >
 Provides the interface for the progressive hedging objective. More...
 
class  ROL::PH_ProbObjective< Real >
 Provides the interface for the progressive hedging probability objective. More...
 
class  ROL::PH_RegretObjective< Real >
 Provides the interface for the progressive hedging regret objective. More...
 
class  ROL::PH_RiskObjective< Real >
 Provides the interface for the progressive hedging risk objective. More...
 
class  ROL::RegressionError< Real >
 Provides the interface to evaluate linear regression error. More...
 
class  ROL::SimulatedBoundConstraint< Real >
 A BoundConstraint formed from a single bound constraint replacated according to a SampleGenerator. 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.