交替方向乘子法(Alternating Direction Multiplier Method,ADMM)是一种求解具有可分结构的凸优化问题的重要方法,其最早由Gabay和Mercier于1967年提出。ADMM是结合对偶上升法的可分离特性以及ALM松弛收敛条件,所形成的一种改进方法,该算法在大规模数据分析处理领域因处理速度快,收敛性能好而备受关注[1]。
一、对偶上升法(Dual Ascent Algorithm)
对偶上升法是通过对偶变量的更新获得原问题最优解的一种方法。考虑具有等式约束的优化问题:
其中,,为凸函数。
引入对偶变量(或拉格朗日乘子),,通过定义拉格朗日函数,可以将含约束的优化问题转化为无约束优化问题。定义为:
定义拉格朗日对偶函数为关于原变量取得的最小值:。则问题的对偶问题为:。原问题与对偶问题最优值相等时称该问题具有强对偶性。根据强对偶性得到:原问题的最小化等价于对偶问题的最大化;原问题在最优解下的值和对偶问题在最优解下的值是相同的。因此可以根据所获得对偶问题的最优解来获得原问题的最优解,即存在关系式:
式表明:对偶变量逼近最优解时,原变量也在逼近最优解。当可微分时,可以通过利用梯度上升法获得对偶变量的更新公式:,其中为迭代步长,使沿着值增大速度最快的方向移动,从而保证,这也是该方法被称作对偶上升法的原因。因此,采用对偶上升法求解原问题最优解的迭代公式为:
对偶上升法的迭代过程分为两部分:第一步,固定对偶变量,最小化拉格朗日函数,求得更新后的;第二步,固定,采用梯度上升法,最大化拉格朗日对偶函数来获得对偶变量的更新。原问题通过与其对偶问题的交替迭代,同时达到最优。
对偶上升升法可以应用于可分离的情况,即:,其中,,, 此时所对应的拉格朗日函数为:
由式可以看出,拉格朗日方程对变量来说也是可分离的,则对于求解可分离的目标函数的对偶上升法的迭代公式变为:
对偶上升法的优点是:当目标函数可分离时,变量可以分块进行更新,从而减小了问题的复杂程度。然而,对偶上升法也存在缺点,该方法适用条件非常苛刻,要求原问题函数必须是严格凸且有界的,因此限制了对偶上升法的应用范围。针对对偶上升法对目标函数要求比较苛刻的缺点,扩展拉格朗日法松弛了收敛条件,使得目标函数即可以是非严格凸的,也可以是非有界的。
二、扩展拉格朗日乘子法
扩展拉格朗日函数是通过在问题中的拉格朗日函数中加入一个惩罚项得到:
其中,为惩罚参数,,为范数。
同样扩展拉格朗日函数的对偶函数为:。将对偶上升法应用到扩展拉格朗日函数的最优求解上,可以通过交替更新原变量和对偶变量来获得其最优解,并可得扩展拉格朗日法的迭代公式为:
扩展拉格朗日法和对偶上升法一个区别是,扩展拉格朗日法用惩罚参数代替了对偶上升法中的步长;另一个区别是,扩展拉格朗日法基于扩展拉格朗日函数,该函数是在拉格朗日函数后增加了惩罚项得到的。惩罚项的加入好处是松弛了收敛条件,即:使在非严格凸或者非有界条件下该算法仍然成立。扩展拉格朗日法的缺点是,加入的惩罚项对而言是不可分离的,不能用于解决目标函数可分离的情况。
三、交替方向乘子法
交替方向乘子法(ADMM)算法整合了对偶上升法可分离性和扩展拉格朗日法松弛的收敛特性,可用于解决具有两个目标函数的凸优化问题:
其中,,为目标函数的自变量;,为目标函数的自变量;,,,和为凸函数。
增广拉格朗日函数为:
其中,称为拉格朗日乘子,,为惩罚参数。同时,我们可以进行简化变形,将一次项与二次项合并,具体的,令,可以扩展拉格朗日函数被化简为:
此时求解问题的优化问题,变为最小化的问题。ADMM的思想就是利用两个目标函数和,通过分别对其变量和的交替更新,得到问题的最优解,迭代公式为:
值得注意的是:ADMM只是一种求解优化问题的计算框架,将大的全局问题分解为多个较小、较容易求解的子问题,并通过协调子问题的解而得到全局问题的解。每一个子问题(12a)和(12b)如何有效求解,需要根据和具体形式来确定。
四、在线临近梯度-交替方向乘子法
离线和在线的区别就在于ADMM框架中是否存在 一个临近项,即对于当前要估计状态和上一时刻估计状态的约束项。这种约束项在卡尔曼滤波等在线估计器中是常见的。
The optimization problem of separable objective functions with linear constraints is of the form:
where and are the decision variables; ; and are convex closed and proper functions; and are closed convex sets.
For the purpose of online estimation, we leverage the computational framework OPG-ADMM for solving problem that was proposed in [2]. The algorithm comprises two steps: 1) using the augmented Lagrangian for :
where is the Lagrangian multiplier, is the penalty parameter, and we have used completion of squares to obtain a compact form of the augmented Lagrangian), the original problem is split into two separate subproblems with respect to and ; 2) utilizing OPG method as the update rule for -sub-problem (i.e., using subgradient to linearize and perform a proximal gradient update).
At the -th instant, OPG-ADMM solves two separate sub-problems over and , respectively, then updates the Lagrange multiplier . The iterates are given by:
where is a subgradient of at ; is the proximal gradient step size; is defined via , where is a positive definite matrix.
Reference:
[1]:Zhang Jiao-jiao等. "进一步改进的交替方向乘子法及其在量子态估计的应用." 第17届中国系统仿真技术及其应用学术年会论文集(17th CCSSTA 2016) 中国自动化学会;中国系统仿真学会, 2016.
[2] T. Suzuki, “Dual averaging and proximal gradient descent for online alternating direction multiplier method,” International Conference on Machine Learning, pp. 392–400, 2013
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧