Optimization Algorithms - Dual Algorithms & ALM & ADMM & BCD

本文是《最优化算法》课程的学习笔记,内容主要包括对偶算法和增广Lagrange乘子法。
对偶算法
对于复合优化问题,许多实际问题的原始问题有时候比较难以处理,这时候一个非常重要的技巧是考虑它的对偶问题。这里将介绍两种算法:一种是把前面提到的算法应用到对偶问题上,例如对偶近似点梯度法;另一种是同时把原始问题和对偶问题结合起来考虑,例如原始–对偶混合梯度类的算法。我们将看到这两种算法的思想将极大地丰富求解问题的手段。
对偶邻近点下降法
尽管一般对偶问题具有比原始问题更简单的形式,但有时候对偶问题仍然难以求解,例如在一些情况下对偶函数可能不可微,或者定义域可能非平凡等。为了克服这些问题,可以尝试以下方法:
- 对原始函数添加较小的强凸项,将对偶函数光滑化;
- 使用要求较低的次梯度法求解,但其速度较慢,且步长选择困难;
- 如果对偶函数可微,则可以使用梯度法;
- 使用邻近点下降法(PPA)求解对偶问题;
- …
本节我们介绍最后一种方法,即对偶邻近点下降法。该方法适用于对偶函数可被分裂成两项,且其中一项是梯度Lipschitz连续函数,另一项是易于计算其邻近点映射的函数的情况。确切地说,设
其中
考虑上述问题的Lagrange函数:
于是使用Lagrange函数可以将原问题(P)转化为以下等价形式
交换最小化和最大化的顺序,我们可以得到以下对偶问题:
注意到内层的最小化问题可以使用共轭函数来简化,即
其中
分别是函数
回忆共轭函数的性质可由原函数导出,即以下定理成立。
定理 设
因此当原问题(P)中的目标函数满足定理中的条件时,对偶问题(D)中的目标函数也具有较好的性质,因此可以使用各种梯度方法来求解。下面我们分不同的约束种类来介绍如何使用对偶邻近点下降法求解凸约束问题。
等式约束 考虑以下带有等式约束的凸优化问题:
该问题的Lagrange函数为
注意到
于是对偶问题为
现在可以使用次梯度算法来计算这一对偶问题的解,即令
其中
另一方面,根据次梯度的计算法则可知
目标函数
该问题的Lagrange函数为
其中
经过直接计算可知
因此对偶问题可以简化为
该对偶问题可使用与之前类似的次梯度算法来求解。使用
由于
下面我们要求目标函数具有更好的光滑性,此时可以使用梯度法来代替次梯度法求解对偶问题。
注意到为了在对偶问题上使用近似点梯度法,函数
一般地,对于本节开头的问题
在其对偶问题上应用近似点梯度法的更新格式形如
需要注意由于对偶问题是一个极大化问题,因此邻近算子内部应当取上升方向。当进一步引入辅助变量
Remark. 如果
一般约束 最后我们考察使用对偶邻近点下降法求解一般约束问题:
首先我们通过引入示性函数
该问题的Lagrange函数为
重复之前的分析可得
于是对偶问题为
上式中第一项相对容易得到次梯度,第二项容易计算邻近点算子,因此可以使用对偶邻近点下降法来求解对偶问题。具体地,针对第一项我们有
而第二项中的示性函数
其中
即集合
再由邻近算子的性质可得
因此对偶邻近点下降法的更新格式为
整理上式可得
其中
原始-对偶混合算法
令
根据之前的分析,通过引入Lagrange函数
又由于
所以原问题也等价于下述形式的min-max问题:
这一形式相较
如果Hessian矩阵
PDHG的核心思想在于分别对两类变量使用近似点梯度法来进行迭代。具体地,我们使用下述更新格式来迭代求解
即
其中
需要注意的是,PDHG的收敛性需要比较强的条件,依赖于原始问题和对偶问题的强对偶性,在一些情形下未必收敛。
另外一种常用的求解鞍点问题的方法是Chambolle-Pock算法,相比原始的PDHG,Chambolle-Pock算法在每次迭代中添加了一次外推以加速收敛。具体地,Chambolle-Pock算法的迭代格式为
收敛性
下面我们简要说明Chambolle-Pock算法的收敛性。记
设
则称
对任意子集
不难验证,如果鞍点
且在
反之,可以证明如果点
在以上分析的基础上,我们有以下收敛性定理。
-
令常数
,则 有上界,且对于任意 都有 其中 是 的一个鞍点。 -
记
, ,则对任意 都有 并且序列 的聚点为问题 的一个鞍点。 -
存在
的一个鞍点 ,使得
增广Lagrange乘子法
增广Lagrange乘子法是一种用于求解一般的带有等式约束与不等约束的优化问题的迭代方法。它的核心思想是通过构造增广Lagrange函数,将原问题转化为一个更易求解的形式,并通过迭代更新乘子和变量来逼近原问题的最优解。不过当可行域直接由凸集
考虑如下形式的等式约束问题
当
然而这种方法的缺点在于罚函数的参数
对比原问题的KKT条件
为使两者的解尽量一致,需要各项的系数相近,即
为保证
增广Lagrange法的每步都需要构造增广Lagrange函数。根据不同的约束, 增广Lagrange函数的形式也不同, 因此我们下面分别论述。
不同约束
等式约束 对于本节开头的等式约束问题,定义其Lagrange函数为
即在Lagrange函数的基础上添加了一个等式约束对应的二次罚项。根据以上定义,在第
回忆这一问题的KKT条件,
对比上述梯度条件,为了保证两式在最优解处的一致性,我们要求各项的系数相近,于是对充分大的
这等价于要求
根据上述要求,自然的改进想法是
- 通过合理更新乘子,控制
而不仅仅是增大 来使 接近 ; - 基于上一条,我们可以使用
与 的差值来更新乘子 ,使其接近 ,即令
根据上述讨论,增广Lagrange乘子法的基本流程见下图所示:

在每次迭代确定
不应增长过快。这是因为一方面随着罚因子 的增大, 关于 的Hessian矩阵 的条件数将增大,使得求解 的子问题变得困难;另一方面,罚因子 与 接近时, 可以作为求解 的初始点以加速收敛。 不应增长过慢,否则算法整体的收敛速度将因惩罚不足而变慢。
因此在实际中, 我们应该控制
一般约束 考虑一般形式的约束优化问题
对于上述问题,我们首先针对不等约束引入松弛变量
保留其中的非负约束,可以构造以下Lagrange函数
而原问题中等式约束的二次罚函数为
于是可以定义增广Lagrange函数为
其中
与前述等式约束类似,增广Lagrange乘子法进行第
以得到
由于上述目标函数是关于
现在将上述
当
上述问题可以使用梯度类方法来求解。
下面我们需要更新乘子
而子问题
这等价于
与之前的KKT条件对比,令各项系数相同可得以下乘子更新格式
综上,ALM的迭代格式为
其中罚因子
不等约束的凸优化问题 考虑以下仅含不等约束的凸优化问题
根据之前的分析可得其增广Lagrange函数为
现在任给一列单调递增的罚因子
定义其中的
然而由于
故此时只需验证下式以保证非精确条件成立:
下面我们不加证明地给出增广Lagrange乘子法的收敛性定理。
设
进一步地,如果存在某一
与邻近点下降法的关系
现在我们回过头来再次考虑下述形式的复合优化问题
其中
对偶问题为
下面我们说明使用近似点梯度法求解对偶问题
回忆使用近似点梯度法求解对偶问题
上式等价于
其中
我们下面说明上式给出的
首先将
接着对约束
于是根据增广Lagrange乘子法理论,最优点所要满足的稳定性条件为
现在消去
带入约束
上式即
另一方面,如果
综上所述,使用近似点梯度法求解对偶问题
交替方向乘子法
交替方向乘子法(Alternating Direction Method of Multipliers, ADMM)是增广Lagrange乘子法的一种变体,主要用于求解大规模的凸优化问题。ADMM的核心思想是将一个复杂的优化问题分解为多个简单的子问题,通过交替地求解这些子问题来逐步逼近原问题的最优解。
现在考虑如下问题:
其中
- 可被分为两块的无约束问题
,它可被转化为 - 带线性变换的无约束优化问题
,它可被转化为 - 凸集
上的约束优化问题 , ,这一问题可被转化为 - 全局一致性问题
可被转化为
对于标准形式的问题
经典的增广Lagrange乘子法需要在每次迭代中求解以下最小化问题
之后在对乘子
其中
为了解决上述问题,ADMM将
其中
现在考察ADMM的收敛性,当
根据最优性条件,
其中前两个条件为对偶可行性条件,第三个条件为原始可行性条件。
注意到根据
根据次梯度的最优性条件,
而由
因此
类似地,
同样根据次梯度的最优性条件,
依然在
对比KKT条件可知,只需检测多出来的
刻画。
综上,当
分块坐标下降法
现在我们考虑如下形式的问题:
其中
该问题目标函数
在使用分块坐标下降法(Block Coordinate Descent, BCD)求解上述问题时,需要首先按照
为了说明BCD的具体更新格式,我们定义以下变量划分之后的第
并定义辅助函数
则BCD的第
交替极小化方法:
该格式严格保证了整个迭代过程的目标函数值是下降的,然而由于 的形式复杂,子问题求解难度较大。在收敛性方面,该格式在强凸问题上可保证目标函数收敛到极小值,但在非光滑或非凸问题上不一定收敛。交替近似极小化方法:
该格式不保证迭代过程目标函数的单调性,但可以改善收敛性结果。使用这一格式可使得算法收敛性在函数 为非严格凸时有所改善。交替近似线性极小化方法:
其中 常采用外推定义
这里 是外推的权重, 是外推点处的梯度。在该式中取权重 即可得到不带外推的更新格式,此时该更新格式等价于进行一次近似点梯度法的更新。一般地,使用外推可以一定程度上加快分块坐标下降法的收敛速度。该格式本质上基于目标函数的一阶泰勒展开近似,在一些测试问题上有更好的表现,可能的原因是使用一阶近似可以避开一些局部极小值点。此外,这一格式的计算量很小,比较容易实现.而且收敛条件很弱,对于非凸或非光滑(可分时)问题均可收敛。
一般地,分块坐标下降法的基本流程如下所示:

References
- 最优化讲义,陈士祥
- 最优化与建模,文再文
- Title: Optimization Algorithms - Dual Algorithms & ALM & ADMM & BCD
- Author: Gypsophila
- Created at : 2025-06-10 23:31:53
- Updated at : 2025-06-18 13:54:24
- Link: https://chenx.space/2025/06/10/DualAlgorithm/
- License: This work is licensed under CC BY-NC-SA 4.0.