ADMM算法框架(未完待续 持续更新)
生活随笔
收集整理的這篇文章主要介紹了
ADMM算法框架(未完待续 持续更新)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先給出ADMM計算框架。背景知識查閱網絡,這里不做贅述。實際是為了“分布式”地解決一類問題。
問題表述:
min?f(x)+g(z)????s.t.?Ax+Bz=c????(1)minf(x)+g(z)s.t.Ax+Bz=c(1)其中: x∈Rn,?z∈Rm,?A∈Rp×n,?B∈Rp×m,?c∈Rp,?f:Rn→R,?g:Rm→R.x∈Rn,z∈Rm,A∈Rp×n,B∈Rp×m,c∈Rp,f:Rn→R,g:Rm→R.
xx 和 zz 是優化問題的自變量, min?f(x)+g(z)minf(x)+g(z) 是目標函數, Ax+Bz=cAx+Bz=c 是約束條件(的合集)。
其增廣拉格朗日函數:
所謂拉格朗日法,就是多設一個自變量 yy,稱為拉格朗日算子(又稱對偶變量),所謂增廣,就是添加了懲罰函數(帶ρρ 那項)。
然后就是ADMM計算框架的核心步驟了,根據以下步驟重復迭代:
又設 u=(1/ρ)yu=(1/ρ)y,對 Ax+Bz?cAx+Bz?c 配方,可以得到更便于計算的形式:
xk+1zk+1uk+1:=argminx(f(x)+(ρ/2)∥Ax+Bzk?c+uk∥22):=argminz(g(z)+(ρ/2)∥Axk+1+Bz?c+uk∥22):=uk+(Axk+1+Bzk+1?c)xk+1:=arg?minx(f(x)+(ρ/2)‖Ax+Bzk?c+uk‖22)zk+1:=arg?minz(g(z)+(ρ/2)‖Axk+1+Bz?c+uk‖22)uk+1:=uk+(Axk+1+Bzk+1?c)
這就是ADMM算法的主要內容了 1。不做過多解釋,更多資料查閱參見腳注。
在工程實際中就是套用不同的f(x),?g(x)f(x),g(x) 以及約束條件Ax+Bz=cAx+Bz=c 而已。
其次是一致性和收斂性的問題
(未完待續)
總結
以上是生活随笔為你收集整理的ADMM算法框架(未完待续 持续更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redhat6 删除mysql_Red
- 下一篇: java 几个实用的小工具