ADMM与乘子法的区别

设有如下优化问题:

m i n    f ( x ) + g ( z ) min~~f(x)+g(z) min  f(x)+g(z)
s . t      A x + B z = c s.t~~~~Ax+Bz=c s.t    Ax+Bz=c

它的增广Language形式如下:

L ρ ( x , z , λ ) = f ( x ) + g ( z ) + y T ( A x + B z − c ) + ( ρ / 2 ) ∣ ∣ A x + B z − c ∣ ∣ 2 L_ρ(x,z,λ)=f(x)+g(z)+y^T(Ax+Bz−c)+(ρ/2)||Ax+Bz−c||^2 Lρ(x,z,λ)=f(x)+g(z)+yT(Ax+Bzc)+(ρ/2)Ax+Bzc2
其中 ρ > 0 ρ>0 ρ>0为 增广Language参数。

乘子法思想:

{ x k + 1 , z k + 1 } = a r g m i n x , z L ρ ( x , z , λ k ) \{x^{k+1},z^{k+1}\}=argmin_{x,z}L_ρ(x,z,λ^k) {xk+1,zk+1}=argminx,zLρ(x,z,λk)
λ k + 1 = λ k + ρ ( A x k + 1 + B z k + 1 − c ) λ^{k+1}=λ^{k}+ρ(Ax^{k+1}+Bz^{k+1}−c) λk+1=λk+ρ(Axk+1+Bzk+1c)

ADMM思想

ADMM是乘子法的一个改进,主要区别在Alternating Direction也就是交替更新原始变量。迭代格式如下:

x k + 1 = a r g m i n x L ρ ( x , z k , λ k ) x^{k+1}=argmin_xL_ρ(x,z^k,λ^k) xk+1=argminxLρ(x,zk,λk)
z k + 1 = a r g m i n z L ρ ( x k + 1 , z , λ k ) z^{k+1}=argmin_z L_ρ(x^{k+1},z,λ^k) zk+1=argminzLρ(xk+1,z,λk)
λ k + 1 = λ k + ρ ( A x k + 1 + B z k + 1 − c ) λ^{k+1}=λ^{k}+ρ(Ax^{k+1}+Bz^{k+1}−c) λk+1=λk+ρ(Axk+1+Bzk+1c)

注意到:ADMM中 ρ ρ ρ往往取0~0.618之间(孙德峰老师提出的).

对于凸优化而言,ADMM算法的想达到的最优性条件为:
原始可行性(primal feasibility)

A x + B z = c Ax+Bz=c Ax+Bz=c,

和对偶可行性(dual feasibility):

0 ∈ ∂ f ( x ) + A T y 0\in\partial f(x)+A^Ty 0f(x)+ATy,
0 ∈ ∂ g ( z ) + B T y 0\in\partial g(z)+B^Ty 0g(z)+BTy.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yita_matrix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值