AugmentedLagrangian

class kona.algorithms.util.merit.AugmentedLagrangian(primal_factory, state_factory, eq_factory=None, ineq_factory=None, optns={}, out_file=<open file '<stdout>', mode 'w'>)[source]

Bases: kona.algorithms.util.merit.L2QuadraticPenalty

An augmented Lagrangian merit function for constrained RSNK problems.

The augmented Lagrangian is defined as:

\[\hat{\mathcal{L}}(x, s) = f(x, u(x)) + \lambda_{eq}^T c_{eq}(x, u(x)) + \lambda_{in}^T \left[c_{in}(x, u(x)) - s\right] + \frac{1}{2} \mu || c_{eq}(x, u(x)) ||^2 + \frac{1}{2} \mu || c_{in}(x, u(x)) - s ||^2\]

Unlike the traditional augmented Lagrangian, the Kona version has the Lagrange multipliers and the slack variables fozen. This is done to make the merit function comparable to the predicted decrease produced by the FLECS solver.

eval_func(alpha)[source]
reset(kkt_start, u_start, search_dir, mu)[source]