第六章:对偶方法与 ADMM

7318 字
37 分钟
第六章:对偶方法与 ADMM
文章摘要

拉格朗日对偶与 KKT 条件、对偶上升法、增广拉格朗日法 ALM、交替方向乘子法 ADMM。

本章从拉格朗日对偶理论出发,逐步发展出实用的约束优化算法。首先建立对偶问题的基本框架与弱对偶性(6.1 节),然后给出约束优化问题的最优性刻画——KKT 条件(6.2 节)。在此理论基础上,引入最简单的对偶算法——对偶上升法(6.3 节),分析其在线性目标函数下失效的根本原因。为克服这一缺陷,引入增广拉格朗日函数法 ALM(6.4 节),并揭示其与邻近点算法的深层等价关系。最后,针对目标函数可分离的结构化问题,发展出 ADMM(6.5 节),给出完整的收敛性证明与应用实例。

6.1 对偶问题#

6.1.1 原问题与拉格朗日函数#

考虑带等式约束的优化问题(原问题,Primal Problem):

min⁡xf(x)s.t.c(x)=0\min_{x} f(x) \quad \text{s.t.} \quad c(x) = 0

其中 x∈Rnx \in \mathbb{R}^n 为原始变量(primal variable),f:Rn→Rf: \mathbb{R}^n \to \mathbb{R} 为目标函数,c(x)=0c(x) = 0 为可行性条件。引入拉格朗日函数(Lagrangian):

L(x,λ)=f(x)+λ⊤c(x)\mathcal{L}(x, \lambda) = f(x) + \lambda^\top c(x)

其中 λ\lambda 为拉格朗日乘子。

对拉格朗日函数关于 λ\lambda 求最大值,分两种情况:

  • 若 c(x)=0c(x) = 0,则 λ⊤c(x)=0\lambda^\top c(x) = 0,此时 max⁡λL(x,λ)=f(x)\max_{\lambda} \mathcal{L}(x, \lambda) = f(x);
  • 若 c(x)≠0c(x) \neq 0,则 λ⊤c(x)\lambda^\top c(x) 关于 λ\lambda 是线性函数,可取到 +∞+\infty。

因此:

max⁡λL(x,λ)={f(x),c(x)=0+∞,c(x)≠0\max_{\lambda} \mathcal{L}(x, \lambda) = \begin{cases} f(x), & c(x) = 0 \\ +\infty, & c(x) \neq 0 \end{cases}

在此基础上再对 xx 取最小值,c(x)≠0c(x) \neq 0 的情况因目标值为 +∞+\infty 而被自然排除。这意味着原问题等价于极小极大问题(minimax problem):

min⁡xmax⁡λL(x,λ)=min⁡xf(x)s.t.c(x)=0\min_{x} \max_{\lambda} \mathcal{L}(x, \lambda) = \min_{x} f(x) \quad \text{s.t.} \quad c(x) = 0

6.1.2 对偶问题的定义#

对偶问题(Dual Problem)是将极小极大问题中求最大与求最小的顺序互换得到的:

max⁡λmin⁡xL(x,λ)\max_{\lambda} \min_{x} \mathcal{L}(x, \lambda)

定义对偶函数(dual function):

g(λ)=min⁡xL(x,λ)g(\lambda) = \min_{x} \mathcal{L}(x, \lambda)

其中 λ\lambda 称为对偶变量(dual variable)。于是对偶问题简写为 max⁡λg(λ)\max_{\lambda} g(\lambda)。

当约束个数 mm 远小于原始变量维度 nn(即 m≪nm \ll n)时,对偶变量 λ∈Rm\lambda \in \mathbb{R}^m 的维度远低于 x∈Rnx \in \mathbb{R}^n,在对偶空间中求解可以显著降低问题规模。

6.1.3 拉格朗日乘子的灵敏度解释#

最优拉格朗日乘子 λ∗\lambda^* 衡量的是最优值对约束扰动的灵敏度。

设 (x∗,λ∗)(x^*, \lambda^*) 是拉格朗日函数的驻点,则满足一阶最优性条件:

∇xL(x∗,λ∗)=∇f(x∗)+∇c(x∗)⊤λ∗=0(6.1)\nabla_x \mathcal{L}(x^*, \lambda^*) = \nabla f(x^*) + \nabla c(x^*)^\top \lambda^* = 0 \tag{6.1}
∇λL(x∗,λ∗)=c(x∗)=0(6.2)\nabla_\lambda \mathcal{L}(x^*, \lambda^*) = c(x^*) = 0 \tag{6.2}

对约束施加微小扰动 ϵ\epsilon,将原问题改为 min⁡xf(x)\min_{x} f(x) s.t. c(x)−ϵ=0c(x) - \epsilon = 0。此时最优解 x∗(ϵ)x^*(\epsilon) 和 λ∗(ϵ)\lambda^*(\epsilon) 均成为 ϵ\epsilon 的函数,拉格朗日函数变为 L(x,λ)=f(x)+λ⊤(c(x)−ϵ)\mathcal{L}(x, \lambda) = f(x) + \lambda^\top(c(x) - \epsilon),对应的最优性条件为:

∇f(x∗(ϵ))+∇c(x∗(ϵ))⊤λ∗(ϵ)=0(6.1’)\nabla f(x^*(\epsilon)) + \nabla c(x^*(\epsilon))^\top \lambda^*(\epsilon) = 0 \tag{6.1'}
c(x∗(ϵ))−ϵ=0(6.2’)c(x^*(\epsilon)) - \epsilon = 0 \tag{6.2'}

对 f(x∗(ϵ))f(x^*(\epsilon)) 关于 ϵ\epsilon 求导,利用链式法则:

df(x∗(ϵ))dϵ=∇f(x∗(ϵ))⊤dx∗(ϵ)dϵ\frac{d f(x^*(\epsilon))}{d\epsilon} = \nabla f(x^*(\epsilon))^\top \frac{dx^*(\epsilon)}{d\epsilon}

由式 (6.1’) 可知 ∇f(x∗(ϵ))=−∇c(x∗(ϵ))⊤λ∗(ϵ)\nabla f(x^*(\epsilon)) = -\nabla c(x^*(\epsilon))^\top \lambda^*(\epsilon),代入得:

df(x∗(ϵ))dϵ=−λ∗(ϵ)⊤∇c(x∗(ϵ))dx∗(ϵ)dϵ\frac{d f(x^*(\epsilon))}{d\epsilon} = -\lambda^*(\epsilon)^\top \nabla c(x^*(\epsilon)) \frac{dx^*(\epsilon)}{d\epsilon}

对式 (6.2’) 关于 ϵ\epsilon 求导得 ∇c(x∗(ϵ))dx∗(ϵ)dϵ=I\nabla c(x^*(\epsilon)) \frac{dx^*(\epsilon)}{d\epsilon} = I,代入上式并在 ϵ=0\epsilon = 0 处取值:

df(x∗(ϵ))dϵ∣ϵ=0=−λ∗⊤\left.\frac{d f(x^*(\epsilon))}{d\epsilon}\right|_{\epsilon=0} = -\lambda^{*\top}

这说明 λi∗\lambda_i^* 表示当第 ii 个约束 ci(x)=0c_i(x) = 0 受到单位扰动时,最优目标函数值的变化率(取负号)。∣λi∗∣|\lambda_i^*| 越大,最优值对该约束的扰动越敏感。

6.1.4 弱对偶性#

定理(弱对偶性). 原问题的最优值不小于对偶问题的最优值:

min⁡xmax⁡λL(x,λ)≥max⁡λmin⁡xL(x,λ)\min_{x} \max_{\lambda} \mathcal{L}(x, \lambda) \geq \max_{\lambda} \min_{x} \mathcal{L}(x, \lambda)

两者之差称为对偶间隙(duality gap)。

证明. 对于任意固定的 xx 和 λ\lambda,由最大值和最小值的定义:

max⁡λL(x,λ)≥L(x,λ)≥min⁡xL(x,λ)\max_{\lambda} \mathcal{L}(x, \lambda) \geq \mathcal{L}(x, \lambda) \geq \min_{x} \mathcal{L}(x, \lambda)

因此对任意 x,λx, \lambda 均有 max⁡λL(x,λ)≥min⁡xL(x,λ)\max_{\lambda} \mathcal{L}(x, \lambda) \geq \min_{x} \mathcal{L}(x, \lambda)。对右端关于 λ\lambda 取最大值,由于左端对任意 λ\lambda 成立,不等式方向不变:

max⁡λL(x,λ)≥max⁡λmin⁡xL(x,λ)\max_{\lambda} \mathcal{L}(x, \lambda) \geq \max_{\lambda} \min_{x} \mathcal{L}(x, \lambda)

此时右端已是确定的数,左端仍含自由变量 xx。再对左端关于 xx 取最小值,不等式仍成立:

min⁡xmax⁡λL(x,λ)≥max⁡λmin⁡xL(x,λ)■\min_{x} \max_{\lambda} \mathcal{L}(x, \lambda) \geq \max_{\lambda} \min_{x} \mathcal{L}(x, \lambda) \qquad \blacksquare

弱对偶性对任意优化问题成立,不需要凸性或其他特殊假设。

6.1.5 强对偶性与 Slater 条件#

弱对偶性只给出了下界:对偶问题的最优值 q∗q^* 不超过原问题的最优值 p∗p^*。当 p∗=q∗p^* = q^* 时——即对偶间隙为零——称强对偶性(strong duality)成立。强对偶性意味着可以通过求解对偶问题精确地获得原问题的最优值,这正是对偶方法的理论基础。

强对偶性不是自动成立的。对于一般的非凸问题,对偶间隙通常严格为正。但对凸优化问题,在满足一定的约束品性(constraint qualification)条件下,强对偶性成立。最常用的约束品性是 Slater 条件。

定义(Slater 条件)。 对凸优化问题 min⁡f(x)\min f(x) s.t. ci(x)≤0c_i(x) \leq 0(i=1,…,mi = 1, \ldots, m),Ax=bAx = b,如果存在一个可行点 xˉ\bar{x} 使得所有不等式约束严格成立(ci(xˉ)<0c_i(\bar{x}) < 0,i=1,…,mi = 1, \ldots, m),则称 Slater 条件满足。

Slater 条件的含义非常直观:可行域不能”薄”到只贴着约束边界——它必须有”内部空间”,至少存在一个点离所有不等式约束的边界都有余量。当不等式约束中有仿射函数时,Slater 条件可以放宽:仿射约束只需要求可行(≤\leq),不需要严格可行(<<),因为线性约束不会产生”弯曲”的边界。

定理(强对偶原理)。 若凸优化问题满足 Slater 条件,则强对偶性成立,且对偶最优解可以达到。

强对偶性的实际意义:当它成立时,原问题的 KKT 条件不仅是必要条件,还是充分条件。这使得 KKT 条件成为凸优化问题的完整最优性刻画。同时,6.3—6.5 节的对偶算法(对偶上升法、ALM、ADMM)都隐含地依赖强对偶性——只有对偶间隙为零时,对偶空间中的最优解才能恢复出原问题的最优解。

6.2 KKT 条件#

6.2.1 等式约束问题的 KKT 条件#

考虑仅含等式约束的优化问题:

min⁡xf(x)s.t.ci(x)=0,  i∈I\min_{x} f(x) \quad \text{s.t.} \quad c_i(x) = 0, \; i \in \mathcal{I}

其拉格朗日函数为:

L(x,λ)=f(x)+∑i=1∣I∣λi ci(x)\mathcal{L}(x, \lambda) = f(x) + \sum_{i=1}^{|\mathcal{I}|} \lambda_i \, c_i(x)

对拉格朗日函数分别关于 xx 和 λi\lambda_i 求梯度并令其为零,得到 KKT 条件。在最优解 (x∗,λ∗)(x^*, \lambda^*) 处:

驻点条件:

∇xL(x∗,λ∗)=∇f(x∗)+∑i=1∣I∣λi∗ ∇ci(x∗)=0\nabla_x \mathcal{L}(x^*, \lambda^*) = \nabla f(x^*) + \sum_{i=1}^{|\mathcal{I}|} \lambda_i^* \, \nabla c_i(x^*) = 0

可行性条件:

ci(x∗)=0,i∈Ic_i(x^*) = 0, \quad i \in \mathcal{I}

满足上述条件的点 (x∗,λ∗)(x^*, \lambda^*) 称为 KKT 点,这组条件可以类比无约束优化中的一阶必要条件。

6.2.2 一般约束问题的 KKT 条件#

考虑同时含有等式约束和不等式约束的一般优化问题:

min⁡xf(x)s.t.ci(x)=0,  i∈I;cj(x)≤0,  j∈J\min_{x} f(x) \quad \text{s.t.} \quad c_i(x) = 0, \; i \in \mathcal{I}; \quad c_j(x) \leq 0, \; j \in \mathcal{J}

其中 I\mathcal{I} 和 J\mathcal{J} 分别是等式约束和不等式约束的指标集。引入两组对偶变量:λ=(λ1,…,λ∣I∣)⊤\lambda = (\lambda_1, \ldots, \lambda_{|\mathcal{I}|})^\top 对应等式约束,μ=(μ1,…,μ∣J∣)⊤\mu = (\mu_1, \ldots, \mu_{|\mathcal{J}|})^\top 对应不等式约束。拉格朗日函数为:

L(x,λ,μ)=f(x)+∑i=1∣I∣λi ci(x)+∑j=1∣J∣μj cj(x)\mathcal{L}(x, \lambda, \mu) = f(x) + \sum_{i=1}^{|\mathcal{I}|} \lambda_i \, c_i(x) + \sum_{j=1}^{|\mathcal{J}|} \mu_j \, c_j(x)

若 x∗x^* 是局部最优解且满足约束品性条件,则存在 λ∗\lambda^* 和 μ∗\mu^* 使得以下四组条件成立。约束品性是 KKT 条件成立的前提——它保证约束的梯度在最优点处提供了足够的”方向信息”来刻画可行域的局部几何。最常用的约束品性有两种:线性无关约束品性(LICQ),要求最优点处所有紧约束(cj(x∗)=0c_j(x^*) = 0 的不等式约束加上所有等式约束)的梯度线性无关;以及前面提到的 Slater 条件,对凸问题要求存在严格可行的内点。对于凸优化问题,Slater 条件既保证强对偶性成立,也保证 KKT 条件是最优性的充要条件。

1. 驻点条件(Stationarity):

∇f(x∗)+∑i=1∣I∣λi∗ ∇ci(x∗)+∑j=1∣J∣μj∗ ∇cj(x∗)=0\nabla f(x^*) + \sum_{i=1}^{|\mathcal{I}|} \lambda_i^* \, \nabla c_i(x^*) + \sum_{j=1}^{|\mathcal{J}|} \mu_j^* \, \nabla c_j(x^*) = 0

2. 原始可行条件(Primal Feasibility):

ci(x∗)=0,  i∈I;cj(x∗)≤0,  j∈Jc_i(x^*) = 0, \; i \in \mathcal{I}; \qquad c_j(x^*) \leq 0, \; j \in \mathcal{J}

3. 对偶可行条件(Dual Feasibility):

μj∗≥0,j∈J\mu_j^* \geq 0, \quad j \in \mathcal{J}

4. 互补松弛条件(Complementary Slackness):

μj∗ cj(x∗)=0,j∈J\mu_j^* \, c_j(x^*) = 0, \quad j \in \mathcal{J}

6.2.3 互补松弛条件的直觉理解#

互补松弛条件 μj∗cj(x∗)=0\mu_j^* c_j(x^*) = 0 要求 μj∗\mu_j^* 和 cj(x∗)c_j(x^*) 中至少有一个为零。可以将不等式约束想象为一堵墙,μj∗\mu_j^* 是墙对最优解的反作用力。

约束不紧的情形. 设约束为 x≤100x \leq 100,即 c(x)=x−100≤0c(x) = x - 100 \leq 0,假设最优解 x∗=50x^* = 50。此时 c(x∗)=−50<0c(x^*) = -50 < 0,最优解距离约束边界很远,即使对约束施加微小扰动,最优解仍满足新约束。该约束对最优解的形成没有实质贡献——最优解在约束边界内有充裕的自由空间。此时 x∗x^* 远离墙面,墙对它没有反作用力,故 μj∗=0\mu_j^* = 0。

约束紧的情形. 同样的约束,但 x∗=100x^* = 100。此时 c(x∗)=0c(x^*) = 0,最优解恰在约束边界上。对 xx 施加任何正向扰动都会突破约束变得不可行,最优解没有自由活动空间。此时 x∗x^* 贴在墙上,反作用力 μj∗>0\mu_j^* > 0,而 cj(x∗)=0c_j(x^*) = 0。

两种情况下乘积 μj∗cj(x∗)\mu_j^* c_j(x^*) 均为零——μj∗\mu_j^* 与 cj(x∗)c_j(x^*) 互为”互补”:一个非零时另一个必为零。这同时解释了对偶可行条件 μj∗≥0\mu_j^* \geq 0 的来源:反作用力的方向始终指向可行域内侧。

6.3 对偶上升法#

6.3.1 从原问题到对偶问题#

考虑带等式约束的优化问题:

min⁡xf(x)s.t.Ax−b=0\min_{x} f(x) \quad \text{s.t.} \quad Ax - b = 0

其拉格朗日函数为 L(x,λ)=f(x)+λ⊤(Ax−b)\mathcal{L}(x, \lambda) = f(x) + \lambda^\top (Ax - b)。原问题等价于 min⁡xmax⁡λL(x,λ)\min_{x} \max_{\lambda} \mathcal{L}(x, \lambda)。交换极小极大的顺序得到对偶问题 max⁡λmin⁡xL(x,λ)\max_{\lambda} \min_{x} \mathcal{L}(x, \lambda),其中对偶函数为:

g(λ)=min⁡xL(x,λ)=min⁡x[f(x)+λ⊤(Ax−b)]g(\lambda) = \min_{x} \mathcal{L}(x, \lambda) = \min_{x} \left[ f(x) + \lambda^\top (Ax - b) \right]

原问题对 xx 做梯度下降(求最小值沿负梯度方向更新),对偶问题则对 λ\lambda 做梯度上升(求最大值沿梯度方向更新):

λk+1=λk+α∇g(λk)\lambda^{k+1} = \lambda^k + \alpha \nabla g(\lambda^k)

6.3.2 对偶函数梯度的计算#

设在给定 λ\lambda 下,内层极小问题的最优解为 x∗x^*,则 g(λ)=f(x∗)+λ⊤(Ax∗−b)g(\lambda) = f(x^*) + \lambda^\top (Ax^* - b)。对 λ\lambda 求梯度得到:

∇g(λ)=Ax∗−b\nabla g(\lambda) = Ax^* - b

对偶函数关于 λ\lambda 的梯度恰好是约束残差 Ax∗−bAx^* - b。当原问题约束被精确满足时(Ax∗=bAx^* = b),梯度为零,对偶变量不再更新。

6.3.3 算法步骤#

对偶上升法(Dual Ascent Method)由两步交替迭代组成:

xk+1=arg⁡min⁡x[f(x)+(λk)⊤(Ax−b)]x^{k+1} = \arg\min_{x} \left[ f(x) + (\lambda^k)^\top (Ax - b) \right]
λk+1=λk+α(Axk+1−b)\lambda^{k+1} = \lambda^k + \alpha (Ax^{k+1} - b)

第一步固定当前对偶变量 λk\lambda^k,对拉格朗日函数关于 xx 求极小,得到 xk+1x^{k+1}——它正是对偶函数定义中 min⁡xL(x,λk)\min_x \mathcal{L}(x, \lambda^k) 的最优解。第二步利用 ∇g(λk)=Axk+1−b\nabla g(\lambda^k) = Ax^{k+1} - b 沿梯度方向做上升更新。

6.3.4 对偶上升法的局限性#

对偶上升法将约束优化问题转化为对偶空间中的无约束极大化问题,但有一个根本性缺陷:当目标函数 f(x)f(x) 为线性函数时,算法无法给出最优解。

设 f(x)=c⊤xf(x) = c^\top x,则拉格朗日函数为:

L(x,λ)=c⊤x+λ⊤(Ax−b)=(c+A⊤λ)⊤x−λ⊤b\mathcal{L}(x, \lambda) = c^\top x + \lambda^\top (Ax - b) = (c + A^\top \lambda)^\top x - \lambda^\top b

第一步要求关于 xx 对上式取极小,但 (c+A⊤λ)⊤x(c + A^\top \lambda)^\top x 关于 xx 是线性的:若系数 c+A⊤λ≠0c + A^\top \lambda \neq 0,线性函数在无约束下沿某一方向趋于 −∞-\infty,极小值不存在;若系数恰为零,目标退化为常数 −λ⊤b-\lambda^\top b,任意 xx 都是极小解。无论哪种情况,arg⁡min⁡x\arg\min_x 都无法给出确定的 xk+1x^{k+1},算法失效。

对偶上升法失效的根本原因在于:标准拉格朗日函数关于 xx 的极小问题可能没有有限解。解决方案是在拉格朗日函数中添加二次罚项 β2∥Ax−b∥2\frac{\beta}{2}\|Ax - b\|^2,使子问题始终具有唯一解。这就是增广拉格朗日函数法的核心思想。

6.4 增广拉格朗日函数法(ALM)#

6.4.1 增广拉格朗日函数#

考虑等式约束优化问题:

min⁡xf(x)s.t.Ax−b=0(P)\min_x f(x) \quad \text{s.t.} \quad Ax - b = 0 \tag{P}

其中 f:Rn→Rf: \mathbb{R}^n \to \mathbb{R},A∈Rm×nA \in \mathbb{R}^{m \times n},b∈Rmb \in \mathbb{R}^m。增广拉格朗日函数(Augmented Lagrangian Function)定义为:

Lβ(x,λ)=f(x)+⟨λ,Ax−b⟩+β2∥Ax−b∥2(6.3)\mathcal{L}_\beta(x, \lambda) = f(x) + \langle \lambda, Ax - b \rangle + \frac{\beta}{2} \|Ax - b\|^2 \tag{6.3}

其中 ⟨λ,Ax−b⟩\langle \lambda, Ax - b \rangle 是标准拉格朗日函数中的乘子项,β2∥Ax−b∥2\frac{\beta}{2}\|Ax - b\|^2 称为增广项(二次罚项),β>0\beta > 0 为罚参数。

增广拉格朗日函数与标准拉格朗日函数的区别仅在于增广项。在可行点处(Ax=bAx = b),增广项为零,两者一致。增广项的作用在于:即使 f(x)f(x) 为线性函数,增广后的子问题因包含二次项而具有有限最优解,从而克服了 6.3.4 节中对偶上升法的缺陷。

6.4.2 ALM 算法#

将对偶上升法中的标准拉格朗日函数替换为增广拉格朗日函数,并取步长 α=β\alpha = \beta,得到 ALM 算法:

{xk+1=arg⁡min⁡x  Lβ(x,λk)=arg⁡min⁡x  [f(x)+⟨λk,Ax−b⟩+β2∥Ax−b∥2]λk+1=λk+β(Axk+1−b)(ALM)\boxed{\begin{cases} x^{k+1} = \arg\min_x \; \mathcal{L}_\beta(x, \lambda^k) = \arg\min_x \; \left[f(x) + \langle \lambda^k, Ax - b \rangle + \dfrac{\beta}{2}\|Ax - b\|^2\right] \\[6pt] \lambda^{k+1} = \lambda^k + \beta(Ax^{k+1} - b) \end{cases}} \tag{ALM}

第一步对 xx 求解带二次罚项的子问题;第二步按梯度上升方向更新乘子 λ\lambda,步长取为罚参数 β\beta。

6.4.3 KKT 条件分析#

原问题 (P) 在最优点 (x∗,λ∗)(x^*, \lambda^*) 处的 KKT 条件为:

∇f(x∗)+A⊤λ∗=0(I)\nabla f(x^*) + A^\top \lambda^* = 0 \tag{I}
Ax∗−b=0(II)Ax^* - b = 0 \tag{II}

对于增广拉格朗日函数,对 λ\lambda 求梯度时增广项 β2∥Ax−b∥2\frac{\beta}{2}\|Ax - b\|^2 不含 λ\lambda,视为常数,因此条件 (II) 对两种拉格朗日函数均成立。在最优点处 Ax∗−b=0Ax^* - b = 0,对 xx 求梯度时增广项的贡献 βA⊤(Ax∗−b)=0\beta A^\top(Ax^* - b) = 0,条件 (I) 同样不受增广项影响。

在 ALM 第一步中,xk+1x^{k+1} 是子问题的最优解。对增广拉格朗日函数关于 xx 求梯度并令其为零:

∇f(xk+1)+A⊤λk+βA⊤(Axk+1−b)=0(III)\nabla f(x^{k+1}) + A^\top \lambda^k + \beta A^\top (Ax^{k+1} - b) = 0 \tag{III}

将乘子更新公式 λk+1=λk+β(Axk+1−b)\lambda^{k+1} = \lambda^k + \beta(Ax^{k+1} - b) 代入,得:

∇f(xk+1)+A⊤λk+1=0(IV)\nabla f(x^{k+1}) + A^\top \lambda^{k+1} = 0 \tag{IV}

式 (IV) 表明每一步迭代中,(xk+1,λk+1)(x^{k+1}, \lambda^{k+1}) 自动满足 KKT 驻点条件 (I) 的形式。剩余需要证明的是可行性条件 Axk+1−b→0Ax^{k+1} - b \to 0。

6.4.4 收敛性证明#

假设 ff 为凸函数且连续可微,(xk,λk)(x^k, \lambda^k) 由 ALM 生成。设 (x∗,λ∗)(x^*, \lambda^*) 为满足 KKT 条件的最优点。需要证明 Axk+1−b→0Ax^{k+1} - b \to 0(可行性收敛)与 λk→λ∗\lambda^k \to \lambda^*(乘子收敛)。

由乘子更新公式:

Axk+1−b=1β(λk+1−λk)(V)Ax^{k+1} - b = \frac{1}{\beta}(\lambda^{k+1} - \lambda^k) \tag{V}

因此证明可行性收敛等价于证明 λk+1−λk→0\lambda^{k+1} - \lambda^k \to 0。

构造 Lyapunov 函数. 考虑 ∥λk+1−λ∗∥2\|\lambda^{k+1} - \lambda^*\|^2 的递推。通过加减 λk\lambda^k 并展开:

∥λk+1−λ∗∥2=∥λk+1−λk∥2+∥λk−λ∗∥2+2⟨λk+1−λk,λk−λ∗⟩\|\lambda^{k+1} - \lambda^*\|^2 = \|\lambda^{k+1} - \lambda^k\|^2 + \|\lambda^k - \lambda^*\|^2 + 2\langle \lambda^{k+1} - \lambda^k, \lambda^k - \lambda^* \rangle

对内积项做加减处理,将 λk\lambda^k 替换为 λk+1\lambda^{k+1},利用恒等式整理得:

∥λk+1−λ∗∥2=∥λk−λ∗∥2−∥λk+1−λk∥2+2⟨λk+1−λk,λk+1−λ∗⟩\|\lambda^{k+1} - \lambda^*\|^2 = \|\lambda^k - \lambda^*\|^2 - \|\lambda^{k+1} - \lambda^k\|^2 + 2\langle \lambda^{k+1} - \lambda^k, \lambda^{k+1} - \lambda^* \rangle

利用凸性处理内积项. 由 (V) 式,λk+1−λk=β(Axk+1−b)\lambda^{k+1} - \lambda^k = \beta(Ax^{k+1} - b);又由 Ax∗=bAx^* = b,故 Axk+1−b=A(xk+1−x∗)Ax^{k+1} - b = A(x^{k+1} - x^*)。将内积项中的替换并利用 ⟨Av,w⟩=⟨v,A⊤w⟩\langle Av, w \rangle = \langle v, A^\top w \rangle:

2⟨λk+1−λk,λk+1−λ∗⟩=2β⟨xk+1−x∗,A⊤(λk+1−λ∗)⟩2\langle \lambda^{k+1} - \lambda^k, \lambda^{k+1} - \lambda^* \rangle = 2\beta \langle x^{k+1} - x^*, A^\top(\lambda^{k+1} - \lambda^*) \rangle

由条件 (I) 和 (IV):A⊤λ∗=−∇f(x∗)A^\top \lambda^* = -\nabla f(x^*),A⊤λk+1=−∇f(xk+1)A^\top \lambda^{k+1} = -\nabla f(x^{k+1}),因此:

A⊤(λk+1−λ∗)=−∇f(xk+1)+∇f(x∗)A^\top(\lambda^{k+1} - \lambda^*) = -\nabla f(x^{k+1}) + \nabla f(x^*)

代入得:

2⟨λk+1−λk,λk+1−λ∗⟩=2β⟨xk+1−x∗,∇f(x∗)−∇f(xk+1)⟩2\langle \lambda^{k+1} - \lambda^k, \lambda^{k+1} - \lambda^* \rangle = 2\beta \langle x^{k+1} - x^*, \nabla f(x^*) - \nabla f(x^{k+1}) \rangle

由凸函数的梯度单调性(ff 凸 ⇒\Rightarrow ∇f\nabla f 为单调算子),对任意 x,yx, y 有 ⟨∇f(x)−∇f(y),x−y⟩≥0\langle \nabla f(x) - \nabla f(y), x - y \rangle \geq 0。取 x=xk+1x = x^{k+1},y=x∗y = x^*,得到 ⟨xk+1−x∗,∇f(x∗)−∇f(xk+1)⟩≤0\langle x^{k+1} - x^*, \nabla f(x^*) - \nabla f(x^{k+1}) \rangle \leq 0,从而:

2⟨λk+1−λk,λk+1−λ∗⟩≤02\langle \lambda^{k+1} - \lambda^k, \lambda^{k+1} - \lambda^* \rangle \leq 0

建立单调递减不等式. 代回得:

∥λk+1−λ∗∥2≤∥λk−λ∗∥2−∥λk+1−λk∥2(VI)\|\lambda^{k+1} - \lambda^*\|^2 \leq \|\lambda^k - \lambda^*\|^2 - \|\lambda^{k+1} - \lambda^k\|^2 \tag{VI}

移项得:

∥λk+1−λk∥2≤∥λk−λ∗∥2−∥λk+1−λ∗∥2(VII)\|\lambda^{k+1} - \lambda^k\|^2 \leq \|\lambda^k - \lambda^*\|^2 - \|\lambda^{k+1} - \lambda^*\|^2 \tag{VII}

求和论证. 对 (VII) 从 k=0k = 0 到 KK 求和,右侧为 telescoping sum:

∑k=0K∥λk+1−λk∥2≤∥λ0−λ∗∥2−∥λK+1−λ∗∥2≤∥λ0−λ∗∥2\sum_{k=0}^{K} \|\lambda^{k+1} - \lambda^k\|^2 \leq \|\lambda^0 - \lambda^*\|^2 - \|\lambda^{K+1} - \lambda^*\|^2 \leq \|\lambda^0 - \lambda^*\|^2

右端为有限常数,K→∞K \to \infty 时级数收敛,通项必趋于零:∥λk+1−λk∥→0\|\lambda^{k+1} - \lambda^k\| \to 0。

收敛结论. 由 (V) 式:∥Axk+1−b∥=1β∥λk+1−λk∥→0\|Ax^{k+1} - b\| = \frac{1}{\beta}\|\lambda^{k+1} - \lambda^k\| \to 0,可行性残差趋于零。由 (VI) 式,{∥λk−λ∗∥2}\{\|\lambda^k - \lambda^*\|^2\} 单调递减且非负,因此收敛,从而 λk→λ∗\lambda^k \to \lambda^*。在适当条件下进一步可推出 xk→x∗x^k \to x^*。

当 ff 为凸函数时,KKT 条件是最优性的充分条件,因此 ALM 的聚点满足 KKT 条件即为全局最优解。若 ff 为强凸函数,最优解 x∗x^* 唯一;若 ff 仅为凸函数,最优解可能不唯一,但所有聚点均满足 KKT 条件。

6.4.5 ALM 与 PPA 的等价关系#

对偶函数为 g(λ)=min⁡x[ f(x)+⟨λ,Ax−b⟩ ]g(\lambda) = \min_x [\,f(x) + \langle \lambda, Ax - b \rangle\,],对偶问题为 max⁡λg(λ)\max_\lambda g(\lambda),等价地写成极小化形式 min⁡λ[−g(λ)]\min_\lambda [-g(\lambda)],记为 (D)。

对 (D) 应用邻近点算法(Proximal Point Algorithm, PPA),步长取 α=β\alpha = \beta:

λk+1=arg⁡min⁡λ[−g(λ)+12β∥λ−λk∥2]\lambda^{k+1} = \arg\min_\lambda \left[-g(\lambda) + \frac{1}{2\beta}\|\lambda - \lambda^k\|^2\right]

取负号并转为 max⁡\max:

λk+1=arg⁡max⁡λ[g(λ)−12β∥λ−λk∥2](PPA)\lambda^{k+1} = \arg\max_\lambda \left[g(\lambda) - \frac{1}{2\beta}\|\lambda - \lambda^k\|^2\right] \tag{PPA}

由 PPA 的隐式梯度迭代形式,(PPA) 等价于:

λk+1=λk+β ∇g(λk+1)(⋆)\lambda^{k+1} = \lambda^k + \beta \, \nabla g(\lambda^{k+1}) \tag{$\star$}

设在 λ=λk+1\lambda = \lambda^{k+1} 处,内层极小化问题的最优解为 xk+1x^{k+1},则由 Danskin 定理,∇g(λk+1)=Axk+1−b\nabla g(\lambda^{k+1}) = Ax^{k+1} - b。代入 (⋆\star):

λk+1=λk+β(Axk+1−b)\lambda^{k+1} = \lambda^k + \beta(Ax^{k+1} - b)

这恰好是 ALM 的乘子更新公式。因此:

对对偶问题 (D) 应用 PPA  ⟺  对原问题 (P) 应用 ALM\boxed{\text{对对偶问题 (D) 应用 PPA} \iff \text{对原问题 (P) 应用 ALM}}

这一等价关系揭示了 ALM 的深层结构:ALM 并非仅仅是在拉格朗日函数上加罚项的启发式方法,而是对偶空间中邻近点算法的严格等价形式。这为 ALM 的收敛性提供了来自 PPA 理论的另一条证明路径,也为 ADMM 的推导提供了理论基础。

6.5 交替方向乘子法(ADMM)#

6.5.1 ALM 处理可分问题的困难#

考虑目标函数可分的约束优化问题:

min⁡x,y  f(x)+g(y)s.t.Ax+By=c\min_{x, y} \; f(x) + g(y) \quad \text{s.t.} \quad Ax + By = c

其中 ff 和 gg 分别是关于 xx 和 yy 的函数,目标函数在变量上是可分离的。增广拉格朗日函数为:

Lβ(x,y,λ)=f(x)+g(y)+λ⊤(Ax+By−c)+β2∥Ax+By−c∥2\mathcal{L}_\beta(x, y, \lambda) = f(x) + g(y) + \lambda^\top(Ax + By - c) + \frac{\beta}{2}\|Ax + By - c\|^2

若直接使用 ALM,需同时对 (x,y)(x, y) 求极小。但二次罚项 β2∥Ax+By−c∥2\frac{\beta}{2}\|Ax + By - c\|^2 中 xx 和 yy 存在耦合项,无法将两个变量的求解分离,导致子问题求解复杂。

6.5.2 ADMM 的迭代格式#

交替方向乘子法(Alternating Direction Method of Multipliers, ADMM)的核心思想是:不同时对 xx 和 yy 求极小,而是交替固定一个变量优化另一个,类似于数值线性代数中的 Gauss-Seidel 迭代。迭代格式如下:

xk+1=arg⁡min⁡x{f(x)+(λk)⊤Ax+β2∥Ax+Byk−c∥2}yk+1=arg⁡min⁡y{g(y)+(λk)⊤By+β2∥Axk+1+By−c∥2}λk+1=λk+β(Axk+1+Byk+1−c)(ADMM)\boxed{\begin{aligned} x^{k+1} &= \arg\min_x \left\{ f(x) + (\lambda^k)^\top Ax + \frac{\beta}{2}\|Ax + By^k - c\|^2 \right\} \\[4pt] y^{k+1} &= \arg\min_y \left\{ g(y) + (\lambda^k)^\top By + \frac{\beta}{2}\|Ax^{k+1} + By - c\|^2 \right\} \\[4pt] \lambda^{k+1} &= \lambda^k + \beta(Ax^{k+1} + By^{k+1} - c) \end{aligned}} \tag{ADMM}

第一步固定 y=yky = y^k 关于 xx 求极小;第二步将刚算出的 xk+1x^{k+1} 代入,固定 x=xk+1x = x^{k+1} 关于 yy 求极小;第三步更新对偶变量 λ\lambda。“用上一步最新结果”的策略正是 Gauss-Seidel 迭代的思想。

6.5.3 ADMM 的缩放形式(Scaled Form)#

在实际实现中,ADMM 更常写成缩放形式(scaled form)。定义缩放对偶变量 u=λ/βu = \lambda / \beta,则增广拉格朗日函数中的线性项和二次项可以合并:

λ⊤(Ax+By−c)+β2∥Ax+By−c∥2=β2∥Ax+By−c+u∥2−β2∥u∥2\lambda^\top(Ax + By - c) + \frac{\beta}{2}\|Ax + By - c\|^2 = \frac{\beta}{2}\|Ax + By - c + u\|^2 - \frac{\beta}{2}\|u\|^2

于是 ADMM 的三步迭代简化为:

xk+1=arg⁡min⁡x  f(x)+β2∥Ax+Byk−c+uk∥2yk+1=arg⁡min⁡y  g(y)+β2∥Axk+1+By−c+uk∥2uk+1=uk+Axk+1+Byk+1−c\boxed{\begin{aligned} x^{k+1} &= \arg\min_x \; f(x) + \frac{\beta}{2}\|Ax + By^k - c + u^k\|^2 \\[4pt] y^{k+1} &= \arg\min_y \; g(y) + \frac{\beta}{2}\|Ax^{k+1} + By - c + u^k\|^2 \\[4pt] u^{k+1} &= u^k + Ax^{k+1} + By^{k+1} - c \end{aligned}}

缩放形式的优点是每个子问题只需要处理一个二次项 β2∥⋅∥2\frac{\beta}{2}\|\cdot\|^2,不再出现线性项和二次项的混合,编程实现更简洁。uu 的更新也变得更直观——它直接累加约束残差 Axk+1+Byk+1−cAx^{k+1} + By^{k+1} - c。

6.5.4 实际使用中的参数选取#

罚参数 β\beta 的选择。 β\beta 控制了约束满足的”惩罚力度”与子问题求解难度之间的平衡。β\beta 过小时约束收敛慢(需要更多迭代才能使 Ax+By≈cAx + By \approx c),β\beta 过大时子问题的条件数变差(二次罚项主导了目标函数,子问题求解变慢)。实践中常用的策略包括:取 β=1\beta = 1 或 β=1/n\beta = 1/n(nn 为变量维度)作为初始值;或者采用自适应策略——当原始残差 ∥Axk+1+Byk+1−c∥\|Ax^{k+1} + By^{k+1} - c\| 远大于对偶残差 β∥B(yk+1−yk)∥\beta\|B(y^{k+1} - y^k)\| 时增大 β\beta,反之减小。

停机准则。 实际中常同时监控两个残差:原始残差 rk=Axk+Byk−cr^k = Ax^k + By^k - c(衡量约束满足程度)和对偶残差 sk=βA⊤B(yk−yk−1)s^k = \beta A^\top B(y^k - y^{k-1})(衡量目标函数的最优性)。当两者均小于预设阈值时停止迭代。

6.5.5 收敛性证明(凸情形)#

以下假设 ff 和 gg 均为凸函数。

算法最优性条件推导#

对三个子步骤分别写出最优性条件。

xx 子问题. 对 xx 的子问题求次梯度并令其包含零:

0∈∂f(xk+1)+A⊤λk+βA⊤(Axk+1+Byk−c)0 \in \partial f(x^{k+1}) + A^\top \lambda^k + \beta A^\top(Ax^{k+1} + By^k - c)

利用 λk+1\lambda^{k+1} 的更新式进行加减项处理,整理得:

0∈∂f(xk+1)+A⊤λk+1+βA⊤B(yk−yk+1)(6.4)0 \in \partial f(x^{k+1}) + A^\top \lambda^{k+1} + \beta A^\top B(y^k - y^{k+1}) \tag{6.4}

yy 子问题. 类似地:

0∈∂g(yk+1)+B⊤λk+βB⊤(Axk+1+Byk+1−c)0 \in \partial g(y^{k+1}) + B^\top \lambda^k + \beta B^\top(Ax^{k+1} + By^{k+1} - c)

化简得:

0∈∂g(yk+1)+B⊤λk+1(6.5)0 \in \partial g(y^{k+1}) + B^\top \lambda^{k+1} \tag{6.5}

λ\lambda 更新. 对第三步做变形:

Axk+1+Byk+1−c=1β(λk+1−λk)(6.6)Ax^{k+1} + By^{k+1} - c = \frac{1}{\beta}(\lambda^{k+1} - \lambda^k) \tag{6.6}

与问题最优性条件的对比#

原问题的 KKT 条件为:

0∈∂f(x∗)+A⊤λ∗(6.7)0 \in \partial f(x^*) + A^\top \lambda^* \tag{6.7}
0∈∂g(y∗)+B⊤λ∗(6.8)0 \in \partial g(y^*) + B^\top \lambda^* \tag{6.8}
Ax∗+By∗−c=0(6.9)Ax^* + By^* - c = 0 \tag{6.9}

将算法条件 (6.4)—(6.6) 与问题条件 (6.7)—(6.9) 逐一对比:

  • 对比 (6.4) 和 (6.7):需要额外项 βA⊤B(yk−yk+1)→0\beta A^\top B(y^k - y^{k+1}) \to 0;
  • 对比 (6.5) 和 (6.8):若 yk+1→y∗y^{k+1} \to y^*,λk+1→λ∗\lambda^{k+1} \to \lambda^*,则自动满足;
  • 对比 (6.6) 和 (6.9):需要 1β(λk+1−λk)→0\frac{1}{\beta}(\lambda^{k+1} - \lambda^k) \to 0。

因此,证明收敛性归结为证明:

βA⊤B(yk−yk+1)→0,1β(λk+1−λk)→0\beta A^\top B(y^k - y^{k+1}) \to 0, \qquad \frac{1}{\beta}(\lambda^{k+1} - \lambda^k) \to 0

变分不等式形式#

变分不等式(Variational Inequality, VI)问题:寻找 x∗∈Ωx^* \in \Omega 使得 (y−x∗)⊤F(x∗)≥0(y - x^*)^\top F(x^*) \geq 0 对所有 y∈Ωy \in \Omega 成立。

将问题最优性条件写成变分不等式形式:

(x−x∗)⊤[∇f(x∗)+A⊤λ∗]≥0,∀ x(6.7’)(x - x^*)^\top \left[\nabla f(x^*) + A^\top \lambda^*\right] \geq 0, \quad \forall \, x \tag{6.7'}
(y−y∗)⊤[∇g(y∗)+B⊤λ∗]≥0,∀ y(6.8’)(y - y^*)^\top \left[\nabla g(y^*) + B^\top \lambda^*\right] \geq 0, \quad \forall \, y \tag{6.8'}

将算法最优性条件同样写成变分不等式形式:

(x−xk+1)⊤[∇f(xk+1)+A⊤λk+1+βA⊤B(yk−yk+1)]≥0,∀ x(6.4’)(x - x^{k+1})^\top \left[\nabla f(x^{k+1}) + A^\top \lambda^{k+1} + \beta A^\top B(y^k - y^{k+1})\right] \geq 0, \quad \forall \, x \tag{6.4'}
(y−yk+1)⊤[∇g(yk+1)+B⊤λk+1]≥0,∀ y(6.5’)(y - y^{k+1})^\top \left[\nabla g(y^{k+1}) + B^\top \lambda^{k+1}\right] \geq 0, \quad \forall \, y \tag{6.5'}

联立不等式#

在 (6.7’) 中令 x=xk+1x = x^{k+1},在 (6.4’) 中令 x=x∗x = x^*,两式相加。利用凸函数梯度的单调性(即 (x∗−xk+1)⊤[∇f(x∗)−∇f(xk+1)]≥0(x^* - x^{k+1})^\top [\nabla f(x^*) - \nabla f(x^{k+1})] \geq 0),得到:

(x∗−xk+1)⊤A⊤[(λk+1−λ∗)+βB(yk−yk+1)]≥0(6.10)(x^* - x^{k+1})^\top A^\top \left[(\lambda^{k+1} - \lambda^*) + \beta B(y^k - y^{k+1})\right] \geq 0 \tag{6.10}

类似地,在 (6.8’) 中令 y=yk+1y = y^{k+1},在 (6.5’) 中令 y=y∗y = y^*,利用 gg 的凸性,得到:

(y∗−yk+1)⊤B⊤(λk+1−λ∗)≥0(6.11)(y^* - y^{k+1})^\top B^\top (\lambda^{k+1} - \lambda^*) \geq 0 \tag{6.11}

(6.10) 与 (6.11) 相加#

将 (6.10) 和 (6.11) 相加。利用约束 Ax∗+By∗=cAx^* + By^* = c 以及 λk+1−λk=β(Axk+1+Byk+1−c)\lambda^{k+1} - \lambda^k = \beta(Ax^{k+1} + By^{k+1} - c),经过整理得到:

1β(λk−λk+1)⊤(λk+1−λ∗)+β(x∗−xk+1)⊤A⊤B(yk−yk+1)≥0(6.12)\frac{1}{\beta}(\lambda^k - \lambda^{k+1})^\top (\lambda^{k+1} - \lambda^*) + \beta(x^* - x^{k+1})^\top A^\top B(y^k - y^{k+1}) \geq 0 \tag{6.12}

其中前半部分的推导要点:Ax∗+By∗−c=0Ax^* + By^* - c = 0 而 Axk+1+Byk+1−c=1β(λk+1−λk)Ax^{k+1} + By^{k+1} - c = \frac{1}{\beta}(\lambda^{k+1} - \lambda^k),两式相减消去 cc,得到关于 λ\lambda 差的表达式。

对后半部分进一步处理。由 Ax∗−Axk+1=−1β(λk+1−λk)−(Byk+1−By∗)Ax^* - Ax^{k+1} = -\frac{1}{\beta}(\lambda^{k+1} - \lambda^k) - (By^{k+1} - By^*),代入 (6.12) 并利用 gg 梯度的单调性,最终整理为:

1β(λk−λk+1)⊤(λk+1−λ∗)+β(Byk+1−By∗)⊤(Byk−Byk+1)≥0(6.13)\frac{1}{\beta}(\lambda^k - \lambda^{k+1})^\top (\lambda^{k+1} - \lambda^*) + \beta(By^{k+1} - By^*)^\top (By^k - By^{k+1}) \geq 0 \tag{6.13}

极化恒等式#

引入如下代数恒等式(可通过配方法验证):

2(a−b)⊤(c−d)=∥a−d∥2−∥a−c∥2+∥b−c∥2−∥b−d∥22(a - b)^\top(c - d) = \|a - d\|^2 - \|a - c\|^2 + \|b - c\|^2 - \|b - d\|^2

分别应用于 (6.13) 中的两个内积项。

第一个内积项(令 a=λka = \lambda^k,b=λk+1b = \lambda^{k+1},c=λkc = \lambda^k,d=λ∗d = \lambda^*,注意 a=ca = c 时 ∥a−c∥2=0\|a - c\|^2 = 0):

1β[∥λk−λ∗∥2−∥λk−λk+1∥2−∥λk+1−λ∗∥2]\frac{1}{\beta} \left[\|\lambda^k - \lambda^*\|^2 - \|\lambda^k - \lambda^{k+1}\|^2 - \|\lambda^{k+1} - \lambda^*\|^2\right]

第二个内积项(类似处理):

β[∥Byk−By∗∥2−∥Byk−Byk+1∥2−∥Byk+1−By∗∥2]\beta\left[\|By^k - By^*\|^2 - \|By^k - By^{k+1}\|^2 - \|By^{k+1} - By^*\|^2\right]

合并并乘以 22 后整理,得到关键不等式:

1β∥λk+1−λ∗∥2+β∥Byk+1−By∗∥2≤1β∥λk−λ∗∥2+β∥Byk−By∗∥2−1β∥λk+1−λk∥2−β∥Byk+1−Byk∥2(6.14)\frac{1}{\beta}\|\lambda^{k+1} - \lambda^*\|^2 + \beta\|By^{k+1} - By^*\|^2 \leq \frac{1}{\beta}\|\lambda^k - \lambda^*\|^2 + \beta\|By^k - By^*\|^2 - \frac{1}{\beta}\|\lambda^{k+1} - \lambda^k\|^2 - \beta\|By^{k+1} - By^k\|^2 \tag{6.14}

Fejer 单调性与收敛结论#

定义向量 u=(λ,y)⊤u = (\lambda, y)^\top 和对称半正定矩阵:

H=(1βI00βB⊤B)H = \begin{pmatrix} \frac{1}{\beta}I & 0 \\ 0 & \beta B^\top B \end{pmatrix}

定义 HH-范数 ∥v∥H2=v⊤Hv\|v\|_H^2 = v^\top H v。不等式 (6.14) 可简洁地写为:

∥uk+1−u∗∥H2≤∥uk−u∗∥H2−∥uk+1−uk∥H2\|u^{k+1} - u^*\|_H^2 \leq \|u^k - u^*\|_H^2 - \|u^{k+1} - u^k\|_H^2

这正是 Fejer 单调性(Fejer monotonicity)的标准形式:序列 {∥uk−u∗∥H2}\{\|u^k - u^*\|_H^2\} 单调递减。移项得:

∥uk+1−uk∥H2≤∥uk−u∗∥H2−∥uk+1−u∗∥H2\|u^{k+1} - u^k\|_H^2 \leq \|u^k - u^*\|_H^2 - \|u^{k+1} - u^*\|_H^2

对 k=0,1,2,…k = 0, 1, 2, \ldots 求和(telescoping sum):

∑k=0∞∥uk+1−uk∥H2≤∥u0−u∗∥H2<∞\sum_{k=0}^{\infty} \|u^{k+1} - u^k\|_H^2 \leq \|u^0 - u^*\|_H^2 < \infty

因此 ∥uk+1−uk∥H2→0\|u^{k+1} - u^k\|_H^2 \to 0(k→∞k \to \infty),这意味着:

λk+1−λk→0,B(yk+1−yk)→0\lambda^{k+1} - \lambda^k \to 0, \qquad B(y^{k+1} - y^k) \to 0

回顾收敛目标:这恰好证明了 (6.4) 中的额外项 βA⊤B(yk−yk+1)→0\beta A^\top B(y^k - y^{k+1}) \to 0 以及 (6.6) 中的 1β(λk+1−λk)→0\frac{1}{\beta}(\lambda^{k+1} - \lambda^k) \to 0。算法最优性条件趋向于问题最优性条件。由 ff 和 gg 均为凸函数,KKT 条件的满足即意味着 (x∗,y∗,λ∗)(x^*, y^*, \lambda^*) 是原问题的最优解。■\blacksquare

6.5.7 ADMM 与 Douglas-Rachford 分裂的关系#

ADMM 并非孤立的算法,它与多种经典方法有深层联系。最重要的等价关系是:对原问题应用 ADMM,等价于对其对偶问题应用 Douglas-Rachford 分裂(DRS)算法。DRS 算法解决的是 0∈(A+B)x0 \in (A + B)x 形式的单调包含问题,其迭代格式为 zk+1=zk+JcB(2JcAzk−zk)−JcAzkz^{k+1} = z^k + J_{cB}(2J_{cA}z^k - z^k) - J_{cA}z^k。这一等价关系意味着 ADMM 的收敛性可以从 DRS 的理论中直接继承——DRS 对非扩张算子的收敛性理论(第二章的框架)直接适用于 ADMM。

此外,当约束为 x=yx = y(即 A=IA = I,B=−IB = -I,c=0c = 0)时,ADMM 退化为对 min⁡xf(x)+g(x)\min_x f(x) + g(x) 的求解,迭代中 xx 子问题变成 proxf\text{prox}_f,yy 子问题变成 proxg\text{prox}_g,与第五章的邻近算法体系完全衔接。

6.5.8 应用实例#

LASSO 问题#

考虑 LASSO(ℓ1\ell_1 正则化最小二乘)问题:

min⁡x  12∥Ax−b∥2+α∥x∥1\min_x \; \frac{1}{2}\|Ax - b\|^2 + \alpha\|x\|_1

为使用 ADMM,引入辅助变量 yy,将原问题转化为可分形式:

min⁡x,y  12∥Ax−b∥2+α∥y∥1s.t.x−y=0\min_{x, y} \; \frac{1}{2}\|Ax - b\|^2 + \alpha\|y\|_1 \quad \text{s.t.} \quad x - y = 0

此处 f(x)=12∥Ax−b∥2f(x) = \frac{1}{2}\|Ax - b\|^2,g(y)=α∥y∥1g(y) = \alpha\|y\|_1,线性约束中取 A=IA = I,B=−IB = -I,c=0c = 0。增广拉格朗日函数为:

Lβ(x,y,λ)=12∥Ax−b∥2+α∥y∥1+λ⊤(x−y)+β2∥x−y∥2\mathcal{L}_\beta(x, y, \lambda) = \frac{1}{2}\|Ax - b\|^2 + \alpha\|y\|_1 + \lambda^\top(x - y) + \frac{\beta}{2}\|x - y\|^2

ADMM 的三步迭代为:

xx 子问题. 对 xx 求导令其为零:A⊤(Axk+1−b)+λk+β(xk+1−yk)=0A^\top(Ax^{k+1} - b) + \lambda^k + \beta(x^{k+1} - y^k) = 0,解得:

xk+1=(A⊤A+βI)−1(A⊤b−λk+βyk)x^{k+1} = (A^\top A + \beta I)^{-1}(A^\top b - \lambda^k + \beta y^k)

yy 子问题. 化为带 ℓ1\ell_1 范数的 proximal 问题,解由软阈值算子(soft thresholding operator)给出:

yk+1=Sα/β ⁣(xk+1+1βλk)y^{k+1} = \mathcal{S}_{\alpha/\beta}\!\left(x^{k+1} + \frac{1}{\beta}\lambda^k\right)

其中 Sτ(d)i={di−τ,di>τ0,∣di∣≤τdi+τ,di<−τ\mathcal{S}_\tau(d)_i = \begin{cases} d_i - \tau, & d_i > \tau \\ 0, & |d_i| \leq \tau \\ d_i + \tau, & d_i < -\tau \end{cases}

λ\lambda 更新.

λk+1=λk+β(xk+1−yk+1)\lambda^{k+1} = \lambda^k + \beta(x^{k+1} - y^{k+1})

凸集交集中的点#

给定两个凸集 CC 和 DD,寻找 C∩DC \cap D 中的点。利用指示函数 δC(x)\delta_C(x) 和 δD(x)\delta_D(x),问题转化为:

min⁡x,y  δC(x)+δD(y)s.t.x−y=0\min_{x, y} \; \delta_C(x) + \delta_D(y) \quad \text{s.t.} \quad x - y = 0

ADMM 的三步迭代为:

xx 子问题. 由于指示函数约束 x∈Cx \in C,化为在 CC 上的最近点投影:

xk+1=ΠC ⁣(yk−1βλk)x^{k+1} = \Pi_C\!\left(y^k - \frac{1}{\beta}\lambda^k\right)

yy 子问题. 类似地:

yk+1=ΠD ⁣(xk+1+1βλk)y^{k+1} = \Pi_D\!\left(x^{k+1} + \frac{1}{\beta}\lambda^k\right)

λ\lambda 更新.

λk+1=λk+β(xk+1−yk+1)\lambda^{k+1} = \lambda^k + \beta(x^{k+1} - y^{k+1})

凸集交集问题通过 ADMM 转化为交替投影问题,每一步只需计算到单个凸集的投影,比直接求交集投影更易实现。

6.5.9 非凸 ADMM 收敛性证明框架#

当 ff 或 gg 为非凸函数时,ADMM 的收敛性证明显著复杂化,通常需要借助 KL 条件(Kurdyka-Lojasiewicz condition)。证明框架包含以下四个步骤。

第一步:充分下降性(Sufficient Decrease). 构造一个 Lyapunov 函数,证明其在前后迭代步之间严格下降:

Φ(wk+1)≤Φ(wk)−c∥wk+1−wk∥2\Phi(w^{k+1}) \leq \Phi(w^k) - c\|w^{k+1} - w^k\|^2

其中 wk=(xk,yk,λk)w^k = (x^k, y^k, \lambda^k),c>0c > 0 为常数。

第二步:相对误差条件(Subgradient Upper Bound). 证明 Lyapunov 函数的次微分集合中范数最小的向量能够被连续迭代差 ∥wk+1−wk∥\|w^{k+1} - w^k\| 所控制。

第三步:序列有界性与连续性. 若 {wk}\{w^k\} 有界(可通过强制性条件保证),则由 Bolzano-Weierstrass 定理存在收敛子列。需进一步证明所有聚点处 Lyapunov 函数取相同的常数值。

第四步:收敛性与收敛率. 在前三步的基础上,利用 KL 不等式建立收敛性定理。所需条件包括序列有界、ff 和 gg 为半代数函数(semi-algebraic function)且满足 KL 条件。收敛率取决于 KL 指数 θ∈[0,1)\theta \in [0, 1):

KL 指数 θ\theta收敛速度
θ=0\theta = 0有限步收敛
θ∈(0,12]\theta \in (0, \frac{1}{2}]R-线性收敛
θ∈(12,1)\theta \in (\frac{1}{2}, 1)次线性收敛

这一非凸分析框架不仅适用于 ADMM,也是许多非凸优化算法收敛性分析的通用方法论:按”充分下降—相对误差—连续性”三步逐一建立,最终利用 KL 不等式完成收敛率证明。

第六章:对偶方法与 ADMM
https://blog.xwysyy.com/posts/optimization/ch6/
作者
xwysyy
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0

评论

0/1000
评论加载中…
对话列表
© 2026 xwysyy. All Rights Reserved.
Powered by Astro & Firefly

文章目录