第六章:对偶方法与 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):

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

其中 xRnx \in \mathbb{R}^n 为原始变量(primal variable),f:RnRf: \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):

minxmaxλL(x,λ)=minxf(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λminxL(x,λ)\max_{\lambda} \min_{x} \mathcal{L}(x, \lambda)

定义对偶函数(dual function):

g(λ)=minxL(x,λ)g(\lambda) = \min_{x} \mathcal{L}(x, \lambda)

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

当约束个数 mm 远小于原始变量维度 nn(即 mnm \ll n)时,对偶变量 λRm\lambda \in \mathbb{R}^m 的维度远低于 xRnx \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,将原问题改为 minxf(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 弱对偶性#

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

minxmaxλL(x,λ)maxλminxL(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,λ)minxL(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,λ)minxL(x,λ)\max_{\lambda} \mathcal{L}(x, \lambda) \geq \min_{x} \mathcal{L}(x, \lambda)。对右端关于 λ\lambda 取最大值,由于左端对任意 λ\lambda 成立,不等式方向不变:

maxλL(x,λ)maxλminxL(x,λ)\max_{\lambda} \mathcal{L}(x, \lambda) \geq \max_{\lambda} \min_{x} \mathcal{L}(x, \lambda)

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

minxmaxλL(x,λ)maxλminxL(x,λ)\min_{x} \max_{\lambda} \mathcal{L}(x, \lambda) \geq \max_{\lambda} \min_{x} \mathcal{L}(x, \lambda) \qquad \blacksquare

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

6.1.5 强对偶性与 Slater 条件#

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

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

定义(Slater 条件)。 对凸优化问题 minf(x)\min f(x) s.t. ci(x)0c_i(x) \leq 0i=1,,mi = 1, \ldots, m),Ax=bAx = b,如果存在一个可行点 xˉ\bar{x} 使得所有不等式约束严格成立(ci(xˉ)<0c_i(\bar{x}) < 0i=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 条件#

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

minxf(x)s.t.ci(x)=0,  iI\min_{x} f(x) \quad \text{s.t.} \quad c_i(x) = 0, \; i \in \mathcal{I}

其拉格朗日函数为:

L(x,λ)=f(x)+i=1Iλici(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=1Iλici(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,iIc_i(x^*) = 0, \quad i \in \mathcal{I}

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

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

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

minxf(x)s.t.ci(x)=0,  iI;cj(x)0,  jJ\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=1Iλici(x)+j=1Jμjcj(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)

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

1. 驻点条件(Stationarity):

f(x)+i=1Iλici(x)+j=1Jμjcj(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,  iI;cj(x)0,  jJc_i(x^*) = 0, \; i \in \mathcal{I}; \qquad c_j(x^*) \leq 0, \; j \in \mathcal{J}

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

μj0,jJ\mu_j^* \geq 0, \quad j \in \mathcal{J}

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

μjcj(x)=0,jJ\mu_j^* \, c_j(x^*) = 0, \quad j \in \mathcal{J}

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

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

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

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

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

6.3 对偶上升法#

6.3.1 从原问题到对偶问题#

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

minxf(x)s.t.Axb=0\min_{x} f(x) \quad \text{s.t.} \quad Ax - b = 0

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

g(λ)=minxL(x,λ)=minx[f(x)+λ(Axb)]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 下,内层极小问题的最优解为 xx^*,则 g(λ)=f(x)+λ(Axb)g(\lambda) = f(x^*) + \lambda^\top (Ax^* - b)。对 λ\lambda 求梯度得到:

g(λ)=Axb\nabla g(\lambda) = Ax^* - b

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

6.3.3 算法步骤#

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

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

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

6.3.4 对偶上升法的局限性#

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

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

L(x,λ)=cx+λ(Axb)=(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 都是极小解。无论哪种情况,argminx\arg\min_x 都无法给出确定的 xk+1x^{k+1},算法失效。

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

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

6.4.1 增广拉格朗日函数#

考虑等式约束优化问题:

minxf(x)s.t.Axb=0(P)\min_x f(x) \quad \text{s.t.} \quad Ax - b = 0 \tag{P}

其中 f:RnRf: \mathbb{R}^n \to \mathbb{R}ARm×nA \in \mathbb{R}^{m \times n}bRmb \in \mathbb{R}^m。增广拉格朗日函数(Augmented Lagrangian Function)定义为:

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

其中 λ,Axb\langle \lambda, Ax - b \rangle 是标准拉格朗日函数中的乘子项,β2Axb2\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=argminx  Lβ(x,λk)=argminx  [f(x)+λk,Axb+β2Axb2]λk+1=λk+β(Axk+1b)(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}
Axb=0(II)Ax^* - b = 0 \tag{II}

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

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

f(xk+1)+Aλk+βA(Axk+1b)=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+1b)\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+1b0Ax^{k+1} - b \to 0

6.4.4 收敛性证明#

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

由乘子更新公式:

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

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

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

λk+1λ2=λk+1λk2+λ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λk2+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+1b)\lambda^{k+1} - \lambda^k = \beta(Ax^{k+1} - b);又由 Ax=bAx^* = b,故 Axk+1b=A(xk+1x)Ax^{k+1} - b = A(x^{k+1} - x^*)。将内积项中的替换并利用 Av,w=v,Aw\langle Av, w \rangle = \langle v, A^\top w \rangle

2λk+1λk,λk+1λ=2βxk+1x,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+1x,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, yf(x)f(y),xy0\langle \nabla f(x) - \nabla f(y), x - y \rangle \geq 0。取 x=xk+1x = x^{k+1}y=xy = x^*,得到 xk+1x,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λk2(VI)\|\lambda^{k+1} - \lambda^*\|^2 \leq \|\lambda^k - \lambda^*\|^2 - \|\lambda^{k+1} - \lambda^k\|^2 \tag{VI}

移项得:

λk+1λk2λ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 = 0KK 求和,右侧为 telescoping sum:

k=0Kλk+1λk2λ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

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

收敛结论. 由 (V) 式:Axk+1b=1βλk+1λk0\|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^*。在适当条件下进一步可推出 xkxx^k \to x^*

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

6.4.5 ALM 与 PPA 的等价关系#

对偶函数为 g(λ)=minx[f(x)+λ,Axb]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=argminλ[g(λ)+12βλλk2]\lambda^{k+1} = \arg\min_\lambda \left[-g(\lambda) + \frac{1}{2\beta}\|\lambda - \lambda^k\|^2\right]

取负号并转为 max\max

λk+1=argmaxλ[g(λ)12βλλk2](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+1b\nabla g(\lambda^{k+1}) = Ax^{k+1} - b。代入 (\star):

λk+1=λk+β(Axk+1b)\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 处理可分问题的困难#

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

minx,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

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

Lβ(x,y,λ)=f(x)+g(y)+λ(Ax+Byc)+β2Ax+Byc2\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) 求极小。但二次罚项 β2Ax+Byc2\frac{\beta}{2}\|Ax + By - c\|^2xxyy 存在耦合项,无法将两个变量的求解分离,导致子问题求解复杂。

6.5.2 ADMM 的迭代格式#

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

xk+1=argminx{f(x)+(λk)Ax+β2Ax+Bykc2}yk+1=argminy{g(y)+(λk)By+β2Axk+1+Byc2}λk+1=λk+β(Axk+1+Byk+1c)(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+Byc)+β2Ax+Byc2=β2Ax+Byc+u2β2u2\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=argminx  f(x)+β2Ax+Bykc+uk2yk+1=argminy  g(y)+β2Axk+1+Byc+uk2uk+1=uk+Axk+1+Byk+1c\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}}

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

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

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

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

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

以下假设 ffgg 均为凸函数。

算法最优性条件推导#

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

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

0f(xk+1)+Aλk+βA(Axk+1+Bykc)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} 的更新式进行加减项处理,整理得:

0f(xk+1)+Aλk+1+βAB(ykyk+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 子问题. 类似地:

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

化简得:

0g(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+1c=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 条件为:

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

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

  • 对比 (6.4) 和 (6.7):需要额外项 βAB(ykyk+1)0\beta A^\top B(y^k - y^{k+1}) \to 0
  • 对比 (6.5) 和 (6.8):若 yk+1yy^{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

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

βAB(ykyk+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 使得 (yx)F(x)0(y - x^*)^\top F(x^*) \geq 0 对所有 yΩy \in \Omega 成立。

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

(xx)[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'}
(yy)[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'}

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

(xxk+1)[f(xk+1)+Aλk+1+βAB(ykyk+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'}
(yyk+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=xx = x^*,两式相加。利用凸函数梯度的单调性(即 (xxk+1)[f(x)f(xk+1)]0(x^* - x^{k+1})^\top [\nabla f(x^*) - \nabla f(x^{k+1})] \geq 0),得到:

(xxk+1)A[(λk+1λ)+βB(ykyk+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=yy = y^*,利用 gg 的凸性,得到:

(yyk+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+1c)\lambda^{k+1} - \lambda^k = \beta(Ax^{k+1} + By^{k+1} - c),经过整理得到:

1β(λkλk+1)(λk+1λ)+β(xxk+1)AB(ykyk+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+Byc=0Ax^* + By^* - c = 0Axk+1+Byk+1c=1β(λk+1λk)Ax^{k+1} + By^{k+1} - c = \frac{1}{\beta}(\lambda^{k+1} - \lambda^k),两式相减消去 cc,得到关于 λ\lambda 差的表达式。

对后半部分进一步处理。由 AxAxk+1=1β(λk+1λk)(Byk+1By)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+1By)(BykByk+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(ab)(cd)=ad2ac2+bc2bd22(a - b)^\top(c - d) = \|a - d\|^2 - \|a - c\|^2 + \|b - c\|^2 - \|b - d\|^2

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

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

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

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

β[BykBy2BykByk+12Byk+1By2]\beta\left[\|By^k - By^*\|^2 - \|By^k - By^{k+1}\|^2 - \|By^{k+1} - By^*\|^2\right]

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

1βλk+1λ2+βByk+1By21βλkλ2+βBykBy21βλk+1λk2βByk+1Byk2(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βBB)H = \begin{pmatrix} \frac{1}{\beta}I & 0 \\ 0 & \beta B^\top B \end{pmatrix}

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

uk+1uH2ukuH2uk+1ukH2\|u^{k+1} - u^*\|_H^2 \leq \|u^k - u^*\|_H^2 - \|u^{k+1} - u^k\|_H^2

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

uk+1ukH2ukuH2uk+1uH2\|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=0uk+1ukH2u0uH2<\sum_{k=0}^{\infty} \|u^{k+1} - u^k\|_H^2 \leq \|u^0 - u^*\|_H^2 < \infty

因此 uk+1ukH20\|u^{k+1} - u^k\|_H^2 \to 0kk \to \infty),这意味着:

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

回顾收敛目标:这恰好证明了 (6.4) 中的额外项 βAB(ykyk+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。算法最优性条件趋向于问题最优性条件。由 ffgg 均为凸函数,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(2JcAzkzk)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 = IB=IB = -Ic=0c = 0)时,ADMM 退化为对 minxf(x)+g(x)\min_x f(x) + g(x) 的求解,迭代中 xx 子问题变成 proxf\text{prox}_fyy 子问题变成 proxg\text{prox}_g,与第五章的邻近算法体系完全衔接。

6.5.8 应用实例#

LASSO 问题#

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

minx  12Axb2+αx1\min_x \; \frac{1}{2}\|Ax - b\|^2 + \alpha\|x\|_1

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

minx,y  12Axb2+αy1s.t.xy=0\min_{x, y} \; \frac{1}{2}\|Ax - b\|^2 + \alpha\|y\|_1 \quad \text{s.t.} \quad x - y = 0

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

Lβ(x,y,λ)=12Axb2+αy1+λ(xy)+β2xy2\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+1b)+λk+β(xk+1yk)=0A^\top(Ax^{k+1} - b) + \lambda^k + \beta(x^{k+1} - y^k) = 0,解得:

xk+1=(AA+βI)1(Abλ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+1yk+1)\lambda^{k+1} = \lambda^k + \beta(x^{k+1} - y^{k+1})

凸集交集中的点#

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

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

ADMM 的三步迭代为:

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

xk+1=ΠC ⁣(yk1βλ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+1yk+1)\lambda^{k+1} = \lambda^k + \beta(x^{k+1} - y^{k+1})

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

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

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

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

Φ(wk+1)Φ(wk)cwk+1wk2\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+1wk\|w^{k+1} - w^k\| 所控制。

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

第四步:收敛性与收敛率. 在前三步的基础上,利用 KL 不等式建立收敛性定理。所需条件包括序列有界、ffgg 为半代数函数(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://www.xwysyy.cn/posts/optimization/ch6/
作者
xwysyy
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0
© 2026 xwysyy. All Rights Reserved.
Powered by Astro & Firefly

文章目录