Optimization: The Augmented Lagrangian

Claude prompt

This page was generated by Claude Code from the following prompt (with additional prompting):

We're going to get ready for the augmented lagrange lecture. … let's make an augmented lagrangian demo … This is a demo, not a whole lecture. I will explain the algorithm to them. I want a 2D function … In my lecture, I introduced the problem of a rocket at x0, y0 choosing a landing site on a rectangular pad (with an added circular obstacle). this is in the m file for the last lecture. use this for the augmented lagrange demo instead of the current function

The landing problem from last lecture: a rocket at \((x_0, y_0) = (-18, -4)\) picks the closest point on a \(20 \times 15\) pad centered at the origin, avoiding a circular obstacle of radius 5 at \((-10, 0)\).

\[ \begin{aligned} \underset{\vec{x}}{\text{minimize}} &\quad f(\vec{x}) = (x - x_0)^2 + (y - y_0)^2 \\ \text{subject to} &\quad g_1 = -10 - x \le 0, \quad g_2 = x - 10 \le 0, \quad g_3 = -7.5 - y \le 0, \quad g_4 = y - 7.5 \le 0, \\ &\quad g_5 = 5^2 - (x + 10)^2 - y^2 \le 0 \end{aligned} \]

Without the obstacle the solution is the nearest pad point \(\vec{x}^* = (-10, -4)\) with one active constraint, \(\lambda_1^* = 16\). That point is inside the obstacle, so with it the solution moves to \(\vec{x}^* = (-10, -5)\) with two active constraints, \(\lambda_1^* = 16\) and \(\lambda_5^* = 0.2\); the other multipliers are zero.

Augmented Lagrangian with the inequalities folded in through the modified constraints \(\bar g_j\) (Engineering Design Optimization by Martins and Ning, CC BY-NC-SA, Eqs. 5.53–5.54):

\[ \hat f(\vec{x};\, \vec{\lambda}, \mu) = f(\vec{x}) + \vec{\lambda}^\mathsf{T} \bar g(\vec{x}) + \frac{\mu}{2}\, \|\bar g(\vec{x})\|_2^2, \qquad \bar g_j(\vec{x}) = \begin{cases} g_j(\vec{x}) & g_j(\vec{x}) \ge -\lambda_j/\mu \\ -\lambda_j/\mu & \text{otherwise} \end{cases} \]

Each outer iteration \(k\) minimizes \(\hat f\) with Newton's method, started from the previous minimizer (the first from the pad center), then updates

\[ \vec{\lambda}_{k+1} = \vec{\lambda}_k + \mu_k\, \bar g(\vec{x}_k^*), \qquad \mu_{k+1} = \rho\, \mu_k . \]
contours:

Back to top

ASEN 3502, CU Boulder. Last built Nov 6, 2026 at 12:07 PM MST.