Overview¶
AugmentedLagrangianOptimizer combines penalty terms with Lagrange multipliers to improve convergence and conditioning on constrained nonlinear problems.
Key Concepts¶
AugmentedLagrangianState extends penalty state with equality and inequality multipliers.
augmentedLagrangianFunction builds the constrained objective used in each outer iteration.
Multiplier updates are done by dual-ascent style steps.
Penalty parameters are adapted based on violation reduction.
Mathematical Formulation¶
Augmented Lagrangian combines multipliers and penalties:
The solver alternates between primal minimization (in ) and dual-ascent updates (in multipliers), with adaptive penalty updates.
Key User API¶
AugmentedLagrangianOptimizer(problem, initialValues, params)optimize()progress()augmentedLagrangianFunction(state, epsilon)(advanced inspection)AugmentedLagrangianParams: dual step sizes and penalty-adaptation settings
Concise C++ Example¶
#include <gtsam/constrained/AugmentedLagrangianOptimizer.h>
using namespace gtsam;
auto params = std::make_shared<AugmentedLagrangianParams>();
params->verbose = true;
AugmentedLagrangianOptimizer optimizer(problem, init_values, params);
Values results = optimizer.optimize();