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
- AlmOptimizer
Status - 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§
- Jacobian
Mapping Type - Type of the Jacobian of mappings $F_1$ and $F_2$
- Mapping
Type - Type of mappings $F_1(u)$ and $F_2(u)$