pub fn augmented_lagrangian<F, G, C, DC>(
f: F,
grad_f: G,
constraints: &[C],
grad_constraints: &[DC],
x0: Vec<f64>,
rho0: f64,
outer_iter: usize,
inner_iter: usize,
tol: f64,
) -> OptResultExpand description
Augmented Lagrangian method for equality-constrained minimisation.
Minimises f(x) subject to c_i(x) = 0 for each constraint in constraints.
Strategy: alternates between unconstrained minimisation of the augmented
Lagrangian L_ρ(x,λ) = f(x) + Σ λ_i c_i(x) + (ρ/2) Σ c_i(x)² and a
dual update λ_i ← λ_i + ρ * c_i(x).
Each unconstrained sub-problem is solved with a few steps of gradient
descent (a full sub-solver can be plugged in via inner_iter).