Subgradient Ascent for Non-Smooth Duals

Maximize the piecewise-linear, concave Lagrangian dual function using subgradient ascent. Identify subgradients from primal slack vectors, take projected ascent steps to keep the multipliers nonnegative, and choose step sizes using Polyak's rule.

Step 1 of 157%

Tutorial

The Dual Function Is Non-Smooth — Use Subgradients

In Lagrangian relaxation we form the dual function

g(λ)=minxL(x,λ)=minx[c(x)+λT(Axb)],g(\lambda) = \min_x L(x, \lambda) = \min_x \left[ c(x) + \lambda^T(Ax - b) \right],

where λ0\lambda \ge 0 are the multipliers attached to relaxed inequality constraints AxbAx \le b.

For each fixed xx, L(x,λ)L(x, \lambda) is affine in λ\lambda. Taking the pointwise minimum over xx of a family of affine functions produces a function that is concave and piecewise linear — it has kinks at every λ\lambda where the minimizing xx switches. Ordinary gradient ascent fails at these kinks.

Instead we use a subgradient: a vector ss is a subgradient of the concave function gg at λ\lambda if

g(μ)g(λ)+sT(μλ)for all μ0.g(\mu) \le g(\lambda) + s^T(\mu - \lambda) \quad \text{for all } \mu \ge 0.

Geometrically, ss defines a flat hyperplane that touches gg at λ\lambda and lies on or above gg everywhere else.

Key fact. If x(λ)x^\star(\lambda) is any minimizer of L(,λ)L(\,\cdot\,, \lambda), then

s=Ax(λ)bs \,=\, A x^\star(\lambda) - b

is a subgradient of gg at λ\lambda. The components of ss are exactly the constraint slacks evaluated at xx^\star: si>0s_i > 0 means relaxed constraint ii is violated, while si<0s_i < 0 means it has slack.

Illustrative computation. Relax the single constraint x1+2x28x_1 + 2x_2 \le 8 with multiplier λ0\lambda \ge 0. If at λ=1.5\lambda = 1.5 the Lagrangian minimizer is x=(3,4)x^\star = (3, 4), then

s=3+2(4)8=3.s = 3 + 2(4) - 8 = 3.

The positive sign says constraint 1 is currently violated, so raising λ\lambda should tighten the dual bound.

navigate · Enter open · Esc close · ⌘K/Ctrl K toggle