ADMM算法
算法迭代过程
1. 典型优化问题形式
x1,x2minf1(x1)+f2(x2)s.t.A1x1+A2x2=b(1)
2. 迭代过程
增广拉格朗日函数
Lp(x1,x2,y)=f1(x1)+f2(x2)+yT(A1x1+A2x2−b)+2ρ∥A1x1+A2x2−b∥22.(2)
ADMM迭代
x1k+1=argx1minLρ(x1,x2k,yk),(3)x2k+1=argx2minLρ(x1k+1,x2,yk),(4)yk+1=yk+τρ(A1x1k+1+A2x2k+1−b).(5)
其中 τ 为步长, 通常取 (0,21+5)
3. 收敛准则
0∈∂x1L(x1∗,x2∗,y∗)0∈∂x2L(x1∗,x2∗,y∗)A1x1∗+A2x2∗=∂f1(x1∗)+A1Ty∗,(6a)=∂f2(x2∗)+A2Ty∗,(6b)=b(6c)
x2k=argxmin{f2(x)+2ρA1x1k+A2x−b+ρyk−12},⇒0∈∂f2(x2k)+A2T[yk−1+ρ(A1x1k+A2x2k−b)]
由 x1 的更新:
x1k=argxmin{f1(x)+2ρA1x+A2x2k−1−b+ρyk−12},⇒0∈∂f1(x1k)+A1T[ρ(A1x1k+A2x2k−1−b)+yk−1].
算法收敛理论
基本假设
- f1,f2 适当闭凸函数,ADMM 子问题 (3),(4) 有唯一解;
- 原问题 (1) 最优解集非空, 且Slater条件成立, 即: ∃(x1,x2)∈int(domf1×domf2)使得A1x1+A2x2=b.
收敛性
若基本假设成立且 A1,A2 列满秩,取 τ∈(0,21+5) ,则ADMM 算法产生的迭代点列 {(x1k,x2k,yk)} 收敛到原问题 (1) 的一个KKT点对.
分析:
- 证明点列收敛: 即 (x1k−x1∗,x2k−x2∗,yk−y∗)→0
- 证明原始可行性: 即 A1(x1k−x1∗)+A2(x2k−x2∗)→0
- 证明对偶可行性(KKT条件): 即 ∃uk∈∂f1(x1k),vk∈∂f2(x2k) 使得, uk→−A1Ty∗,vk→−A2Ty∗
Proof.
ukvkΨkΦk(e1k,e2k,eyk)= def (x1k,x2k,yk)−(x1∗,x2∗,y∗),=−A1T[yk+(1−τ)ρ(A1e1k+A2e2k)+ρA2(x2k−1−x2k)],=−A2T[yk+(1−τ)ρ(A1e1k+A2e2k)],=τρ1eyk2+ρA2e2k2,=Ψk+max(1−τ,1−τ−1)ρA1e1k+A2e2k2.
其中 (x1∗,x2∗,y∗) 是一个KKT点对,即其满足:
0∈∂x1L(x1∗,x2∗,y∗)0∈∂x2L(x1∗,x2∗,y∗)A1x1∗+A2x2∗=∂f1(x1∗)+A1Ty∗,(6a)=∂f2(x2∗)+A2Ty∗,(6b)=b(6c)
- 先证明: 设 {(x1k,x2k,yk)} 为ADMM产生一个迭代序列,则 ∀k≥1 有uk∈∂f1(x1k),vk∈∂f2(x2k) 和
Φk−Φk+1≥min(τ,1+τ−τ2)ρA2(x2k−x2k+1)2+min(1,1+τ−1−τ)ρA1e1k+1+A2e2k+12.(9)
Proof.
- 先证 uk+1∈∂f1(x1k+1) : 对 x1k+1 ,由子问题(3)的最优性条件可知, 0∈∂f1(x1k+1)+A1Tyk+ρA1T(A1x1k+1+A2x2k−b). 将 yk=yk+1−τρ(A1x1k+1+A2x2k+1−b) 代入前式得,−A1T(yk+1+(1−τ)ρ(A1x1k+1+A2x2k+1−b)+ρA2(x2k−x2k+1))∈∂f1(x1k+1). 根据 uk+1 的定义以及 b=A1x1∗+A2x2∗ 可知: uk+1∈∂f1(x1k+1) .
- 再证 vk+1∈∂f2(x2k+1) : 对 x2k+1 ,由子问题 (4) 的最优性条件可知, 0∈∂f2(x2k+1)+A2Tyk+ρA2T(A1x1k+1+A2x2k+1−b), 又由 yk=yk+1−τρ(A1x1k+1+A2x2k+1−b) 知−A2T(yk+1+(1−τ)ρ(A1x1k+1+A2x2k+1−b))∈∂f2(x2k+1). 根据 vk+1 的定义以及 b=A1x1∗+A2x2∗,vk+1∈∂f2(x2k+1) . 故第一个命题得证.
- 然后证明 {Φk} 的下降性. 由第一个命题结论, 以及 x∗ 是KKT点有以下四式成立:
uk+1−A1Ty∗vk+1−A2Ty∗∈∂f1(x1k+1)∈∂f1(x1∗)∈∂f2(x2k+1)∈∂f2(x2∗)
由于 f1,f2 是凸函数, 于是他们的次微分算子具有单调性, 即若有 u∈∂f(x),v∈∂f(x) 则有 ⟨u−v,x−y⟩≥0 因此:
⟨uk+1+A1Ty∗,x1k+1−x1∗⟩≥0⟨vk+1+A2Ty∗,x2k+1−x2∗⟩≥0.
将 uk+1,vk+1,eyk+1 的定义代入,得到
⟨A1T(−eyk+1−(1−τ)ρ(A1e1k+1+A2e2k+1)−ρA2(x2k−x2k+1)),e1k+1⟩≥0,⟨A2T(−eyk+1−(1−τ)ρ(A1e1k+1+A2e2k+1),e2k+1)⟩≥0.
再由等式 ⟨ATx,y⟩=⟨x,Ay⟩ 知:
⟨−eyk+1−(1−τ)ρ(A1e1k+1+A2e2k+1)−ρA2(x2k−x2k+1),A1e1k+1⟩≥0,⟨−eyk+1−(1−τ)ρ(A1e1k+1+A2e2k+1),A2e2k+1⟩≥0.
上面两式相加得到:
⟨eyk+1,−(A1e1k+1+A2e2k+1)⟩−(1−τ)ρA1e1k+1+A2e2k+12+ρ⟨−A2(x2k−x2k+1),A1e1k+1⟩≥0
由 yk+1 的定义知有恒等式:
A1e1k+1+A2e2k+1=A1x1k+1+A2x2k+1−b=(τρ)−1(yk+1−yk)=(τρ)−1(eyk+1−eyk)
代入上不等式可得:
τρ1⟨eyk+1,eyk−eyk+1⟩−(1−τ)ρA1x1k+1+A2x2k+1−b2+ρ⟨A2(x2k+1−x2k),A1x1k+1+A2x2k+1−b⟩−ρ⟨A2(x2k+1−x2k),A2e2k+1⟩≥0.(7)
接下来, 估计 ρ⟨A2(x2k+1−x2k),A1x1k+1+A2x2k+1−b⟩. 的上界. 引入新符号:
νk+1Mk+1:=yk+1+(1−τ)ρ(A1x1k+1+A2x2k+1−b),:=(1−τ)ρ⟨A2(x2k+1−x2k),A1x1k+A2x2k−b⟩,
由 vk 的定义知: −A2Tνk+1∈∂f2(x2k+1),−A2Tνk∈∂f2(x2k) . 因 f2 凸,由其次微分算子的单调性知:
⟨−A2T(νk+1−νk),x2k+1−x2k⟩≥0.
即:
⟨νk+1−νk,A2(x2k+1−x2k)⟩≤0.
从而有
ρ⟨A2(x2k+1−x2k),A1x1k+1+A2x2k+1−b⟩=(1−τ)ρ⟨A2(x2k+1−x2k),A1x1k+1+A2x2k+1−b⟩+⟨A2(x2k+1−x2k),yk+1−yk⟩=Mk+1+⟨νk+1−νk,A2(x2k+1−x2k)⟩≤Mk+1.
因此, 不等式 (7) 可以放缩成:
τρ1⟨eyk+1,eyk−eyk+1⟩−(1−τ)ρA1x1k+1+A2x2k+1−b2+Mk+1−ρ⟨A2(x2k+1−x2k),A2e2k+1⟩≥0.
利用恒等式 ⟨a,b⟩=21(∥a+b∥2−∥a∥2−∥b∥2), 可得:
2⟨eyk+1,eyk−eyk+1⟩=eyk2−eyk+12−eyk−eyk+12=eyk2−eyk+12−(τρ)2A1x1k+1+A2x2k+1−b22⟨A2(x2k+1−x2k),A2e2k+1⟩=A2(x2k+1−x2k)2+A2e2k+12−A2e2k2
从而:
τρ1(eyk2−eyk+12)−(2−τ)ρA1x1k+1+A2x2k+1−b2+2Mk+1−ρA2(x2k+1−x2k)2−ρA2e2k+12+ρA2e2k2≥0.(8)
将目标不等式按照定义展开得:
τρ1(∥eyk−eyk+1∥)−(max(1−τ,1−τ−1)+min(1,1+τ−1−τ))ρA1x1k+1+A2x2k+1−b2−min(τ,1+τ−τ2)ρA2(x2k+1−x2k)2−ρA2e2k+12+ρA2e2k2+max(1−τ,1−τ−1)ρA1x1k+A2x2k−b2≥0
除了 Mk+1 中的项,其余项均出现在 (8) 中
下面分两种情形讨论:
- τ∈(0,1] : 此时 1−τ≥0 ,根据基本不等式
(1−τ)ρ2Mk+1=2⟨A2(x2k+1−x2k),A1x1k+A2x2k−b⟩≤A2(x2k+1−x2k)2+A1x1k+A2x2k−b2.
代入 (8) 得:
τρ1eyk2+ρA2e2k2+(1−τ)ρA1e1k+A2e2k2−[τρ1eyk+12+ρA2e2k+12+(1−τ)ρA1e1k+1+A2e2k+12]≥ρA1x1k+1+A2x2k+1−b2+τρA2(x2k+1−x2k)2.
- τ>1 : 此时 1−τ<0 ,根据基本不等式
−2⟨A2(x2k+1−x2k),A1x1k+A2x2k−b⟩≤τA2(x2k+1−x2k)2+τ1A1x1k+A2x2k−b2.
同样代入不等式 (8) 可以得到
τρ1eyk2+ρA2e2k2+(1−τ1)ρA1e1k+A2e2k2−[τρ1eyk+12+ρA2e2k+12+(1−τ1)ρA1e1k+1+A2e2k+12]≥(1+τ1−τ)ρA1x1k+1+A2x2k+1−b2+(1+τ−τ2)ρA2(x2k+1−x2k)2.
综合两种情况知,原命题得证.
- 再证明全序列收敛到一个KKT点
由 {Φk} 序列下降性可知 {Φk} 是有界序列,结合 Φk 的定义式
Φk=τρ1eyk2+ρA2e2k2+max(1−τ,1−τ−1)ρA1e1k+A2e2k2
可知 eyk,A2e2k,A1e1k+A2e2k 均有界. 根据三角不等式A1e1k≤A1e1k+A2e2k+A2e2k,
可推出 {A1e1k} 也是有界序列.
由于 A1,A2 是列满秩矩阵, 于是 A1TA1≻0,A2TA2≻0 ,即 λmin(A1TA1)>0,λmin(A2TA2)>0 . 结合
λmin(A1TA1)e1k2≤A1e1k2,λmin(A2TA2)e2k2≤A2e2k2
可得 {(x1k−x1∗,x2k−x2∗)} 有界. 再由 eyk=yk−y∗ 有界,可知 {(x1k,x2k,yk)} 是有界序列.
考虑到 {Φk} 序列下降性以及 {Φk} 有界,可知:
k=0∑∞A1e1k+A2e2k2<∞,k=0∑∞A2(x2k+1−x2k)2<∞
这表明
A1e1k+A2e2k=A1x1k+A2x2k−b→0,A2(x2k+1−x2k)→0.(10)
由于 {(x1k,x2k,yk)} 是有界序列,因此存在一个收敛子列,设 (x1kj,x2kj,ykj)→(x1∞,x2∞,y∞) .
由 {uk} 与 {vk} 的定义式
ukvk=−A1⊤[yk+(1−τ)ρ(A1e1k+A2e2k)+ρA2(x2k−1−x2k)],=−A2⊤[yk+(1−τ)ρ(A1e1k+A2e2k)]
再由结论 (10) 可知 {uk} 与 {vk} 相应的子列也收敛。从而
u∞=defj→∞limukj=−A1⊤y∞,v∞=j→∞limvkj=−A2⊤y∞.
由 uk∈∂f1(x1k),vk∈∂f2(x2k) 知,由次梯度映射的图像是闭集可知
−A1⊤y∞∈∂f1(x1∞),−A2⊤y∞∈∂f2(x2∞).
由 (10) 可知 limj→∞∥A1x1kj+A2x2kj−b∥=∥A1x1∞+A2x2∞−b∥=0. 这表明((x1∞,x2∞,y∞) 是原问题 的一个 KKT 对。因此上述分析中的 (x1∗,x2∗,y∗) 均可替换为 (x1∞,x2∞,y∞) .
注意到 {Φk} 是单调下降的,并且对子列 {Φkj} 有
j→∞limΦkj=j→∞lim(τρ1∥eykj∥2+ρ∥A2e2kj∥2+max{1−τ,1−τ1}ρ∥A1e1kj+A2e2kj∥2)=0.
进一步由 (10) 知:
0≤k→∞limsup∥A1e1k∥≤k→∞lim(∥A2e2k∥+∥A1e1k+A2e2k∥)=0.
注意到 A1⊤A1>0,A2⊤A2>0 ,再运用:
λmin(A1TA1)e1k2≤A1e1k2,λmin(A2TA2)e2k2≤A2e2k2
故全序列 {(x1k,x2k,yk)} 收敛到KKT点 (x1∞,x2∞,y∞) 。