交替方向乘子法(Alternating Direction Multiplier Method,ADMM)

交替方向乘子法(Alternating Direction Multiplier Method,ADMM)是一种求解具有可分结构的凸优化问题的重要方法,其最早由Gabay和Mercier于1967年提出。ADMM是结合对偶上升法的可分离特性以及ALM松弛收敛条件,所形成的一种改进方法,该算法在大规模数据分析处理领域因处理速度快,收敛性能好而备受关注[1]。

一、对偶上升法(Dual Ascent Algorithm)

  对偶上升法是通过对偶变量的更新获得原问题最优解的一种方法。考虑具有等式约束的优化问题:

(1)minxf(x), s.t. Ax=b,

其中xRnARm×nf:RnR为凸函数。

  引入对偶变量(或拉格朗日乘子)yRm,,通过定义拉格朗日函数L(x,y),可以将含约束的优化问题(1)转化为无约束优化问题。L(x,y)定义为:

(2)L(x,y)=f(x)+yT(Axb)

  定义拉格朗日对偶函数g(y)为关于原变量x取得的最小值:g(y)=infx L(x,y)。则问题(1)的对偶问题为:maximize g(y)。原问题与对偶问题最优值相等时称该问题具有强对偶性。根据强对偶性得到:原问题的最小化等价于对偶问题的最大化;原问题在最优解x下的值f(x)和对偶问题在最优解y下的值g(y)是相同的。因此可以根据所获得对偶问题的最优解y来获得原问题的最优解x,即存在关系式:

(3)x=arg min L(x,y)

  (3)式表明:对偶变量y逼近最优解y时,原变量x也在逼近最优解x。当g(y)可微分时,可以通过利用梯度上升法获得对偶变量y的更新公式:yk+1=yk+αk(Axk+1b),其中αk>0为迭代步长,使y沿着g(y)值增大速度最快的方向移动,从而保证g(yk+1)>g(yk),这也是该方法被称作对偶上升法的原因。因此,采用对偶上升法求解原问题(1)最优解的迭代公式为:

(4)xk+1=argminx L(x,yk),yk+1=yk+αk(Axk+1b),

  对偶上升法的迭代过程分为两部分:第一步,固定对偶变量yk,最小化拉格朗日函数L(x,yk),求得更新后的xk+1;第二步,固定xk+1,采用梯度上升法,最大化拉格朗日对偶函数g(y)来获得对偶变量y的更新yk+1。原问题(1)通过与其对偶问题的交替迭代,同时达到最优。

  对偶上升升法可以应用于f(x)可分离的情况,即:f(x)=i=1nfi(xi),其中x=(x1,,xn)xiRnA=[A1,,An], Ax=i=1nAixi 此时所对应的拉格朗日函数L(x,y)为:

(5)L(x,y)=i=1n Li(xi,y)= i=1n(f(xi)+yT(Aixi)(yTb)/n)

  由式(4)可以看出,拉格朗日方程对变量来说也是可分离的,则对于求解可分离的目标函数的对偶上升法的迭代公式变为:

(6)xik+1=argminxi L(xi,yk),yk+1=yk+αk(Axk+1b),

  对偶上升法的优点是:当目标函数f(x)可分离时,变量x可以分块进行更新,从而减小了问题的复杂程度。然而,对偶上升法也存在缺点,该方法适用条件非常苛刻,要求原问题函数f(x)必须是严格凸且有界的,因此限制了对偶上升法的应用范围。针对对偶上升法对目标函数f(x)要求比较苛刻的缺点,扩展拉格朗日法松弛了收敛条件,使得目标函数即可以是非严格凸的,也可以是非有界的。

二、扩展拉格朗日乘子法

  扩展拉格朗日函数是通过在问题(1)中的拉格朗日函数中加入一个惩罚项得到:

(7)Lλ(x,y)=f(x)+yT(Axb)+λ/2Axb22

其中,λ为惩罚参数,λ>02l2范数。

  同样扩展拉格朗日函数(7)的对偶函数g(y)为:g(y)=infx Lλ(x,y)。将对偶上升法应用到扩展拉格朗日函数(7)的最优求解上,可以通过交替更新原变量x和对偶变量y来获得其最优解,并可得扩展拉格朗日法的迭代公式为:

(8)xik+1=argminxi L(xi,yk),yk+1=yk+λk(Axk+1b),

  扩展拉格朗日法和对偶上升法一个区别是,扩展拉格朗日法用惩罚参数λ代替了对偶上升法中的步长αk;另一个区别是,扩展拉格朗日法基于扩展拉格朗日函数,该函数是在拉格朗日函数后增加了惩罚项λ/2Axb22得到的。惩罚项的加入好处是松弛了收敛条件,即:使f(x)在非严格凸或者非有界条件下该算法仍然成立。扩展拉格朗日法的缺点是,加入的惩罚项λ/2Axb22x而言是不可分离的,不能用于解决目标函数f(x)可分离的情况。

三、交替方向乘子法

  交替方向乘子法(ADMM)算法整合了对偶上升法可分离性和扩展拉格朗日法松弛的收敛特性,可用于解决具有两个目标函数的凸优化问题:

(9)minxf(x)+g(z), s.t. Ax+Bz=c,

其中,xRn,为目标函数f(x)的自变量;zRm,为目标函数g(z)的自变量;ARp×nBRp×mcRpfg为凸函数。

  增广拉格朗日函数为:

(10)Lλ(x,z,y)=f(x)+g(z)+yT(Ax+Bzc)+λ/2Ax+Bzc22

其中,y称为拉格朗日乘子,yRpλ>0为惩罚参数。同时,我们可以进行简化变形,将一次项yT(Ax+Bzc)与二次项λ/2Ax+Bzc22合并,具体的,令u=y/λ,可以扩展拉格朗日函数被化简为:

(11)Lλ(x,z,y)=f(x)+g(z)+λ/2Ax+Bzc+u22

此时求解问题(9)的优化问题,变为最小化(11)的问题。ADMM的思想就是利用两个目标函数f(x)g(z),通过分别对其变量xz的交替更新,得到问题(9)的最优解,迭代公式为:

(12){xk=argminxX{fk1Tx+α2Ax+Bzk1cuk122},zk=argminzZ{g(z)+α2Axk+Bzcuk122},uk=uk1(Axk+Bzkc),

  值得注意的是:ADMM只是一种求解优化问题的计算框架,将大的全局问题分解为多个较小、较容易求解的子问题,并通过协调子问题的解而得到全局问题的解。每一个子问题(12a)和(12b)如何有效求解,需要根据和具体形式来确定。

四、在线临近梯度-交替方向乘子法

  离线和在线的区别就在于ADMM框架中是否存在 一个临近项,即对于当前要估计状态和上一时刻估计状态的约束项。这种约束项在卡尔曼滤波等在线估计器中是常见的。

The optimization problem of separable objective functions with linear constraints is of the form:

(13)minimizexX,zZf(x)+g(z)s.t.Ax+Bz=c,

where xRn and zRm are the decision variables; ARp×n,BRp×m,cRp; f and g are convex closed and proper functions; X and Z are closed convex sets.

For the purpose of online estimation, we leverage the computational framework OPG-ADMM for solving problem (13) that was proposed in [2]. The algorithm comprises two steps: 1) using the augmented Lagrangian for (13):

(14)L(x,z,λ)=f(x)+g(z)+(α/2)Ax+Bzcλ/α22,

where λRp is the Lagrangian multiplier, α>0 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 f and g; 2) utilizing OPG method as the update rule for f-sub-problem (i.e., using subgradient to linearize f and perform a proximal gradient update). 

At the k-th instant, OPG-ADMM solves two separate sub-problems over x and z, respectively, then updates the Lagrange multiplier λ. The iterates are given by:

(15){xk=argminxX{fk1Tx+α2Ax+Bzk1cλk1/α22+(1/2ηk)xxk1Pk2},zk=argminzZ{g(z)+α2Axk+Bzcλk1/α22},λk=λk1α(Axk+Bzkc),

where fk1f(x)|x=xk1 is a subgradient of f(x) at xk1; ηk>0 is the proximal gradient step size; P2 is defined via xP2:=xTPx, where P 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

 

posted @   kkzhang  阅读(1915)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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吧
点击右上角即可分享
微信分享提示