Module alm

Source
Expand description

Augmented Lagrangian and Penalty Methods

A module that contains structures and implementations that allow to formulate parametric constrained nonconvex optimization problems in the form specified in AlmProblem

Such problems can then be solved using AlmOptimizer, which combines the augmented Lagrangian and the penalty method.

The user needs to create an AlmCache object, which can then be passed to different instances of AlmOptimizer. An AlmCache allocates the necessary memory that the optimizer needs.

Upon completion of its execution, AlmOptimizer returns information about the iterative procedure, such as the solution time, number of iterations, measures of accuracy and more, in the form of an AlmOptimizerStatus

When using AlmOptimizer, the user is expected to provide a modified cost function, psi (see AlmOptimizer for details). This should not be a problem for users that use Optimization Engine via its Python or MATLAB interfaces. Should the user need to use Optimization Engine in Rust, she can construct function psi using AlmFactory

Structs§

AlmCache
Cache for AlmOptimizer (to be allocated once)
AlmFactory
Prepares function $\psi$ and its gradient given the problem data: $f$, $\nabla{}f$, and optionally $F_1$, $JF_1$, $C$ and $F_2$
AlmOptimizer
Implements the ALM/PM method
AlmOptimizerStatus
Solution statistics for AlmOptimizer
AlmProblem
Definition of optimization problem to be solved with AlmOptimizer. The optimization problem has the general form

Constants§

NO_JACOBIAN_MAPPING
No Jacobian mapping is specified for $F_1$ and $F_2$
NO_MAPPING
No mapping $F_1(u)$ or $F_2(u)$ is specified
NO_SET
No set is specified (when specifying a set is optional)

Type Aliases§

JacobianMappingType
Type of the Jacobian of mappings $F_1$ and $F_2$
MappingType
Type of mappings $F_1(u)$ and $F_2(u)$