日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UA SIE545 优化理论基础4 对偶理论简介6 求解对偶问题的梯度算法

發布時間:2025/4/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UA SIE545 优化理论基础4 对偶理论简介6 求解对偶问题的梯度算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UA SIE545 優化理論基礎4 對偶理論簡介6 求解對偶問題的梯度算法

這一講我們介紹求解對偶問題的另一個算法——梯度算法(gradient method)。

假設原問題為
min?x∈Xf(x)s.t.g(x)≤0,h(x)=0\min_{x \in X}f(x) \ \ s.t. \ \ g(x) \le 0,h(x)=0xXmin?f(x)??s.t.??g(x)0,h(x)=0

假設f,g,hf,g,hf,g,h是連續函數,XXX是緊集。根據定義,這個優化的對偶問題是
max?u≥0θ(u,v)=max?u≥0min?x∈Xf(x)+uTg(x)+vTh(x)\max_{u \ge 0} \theta(u,v)=\max_{u \ge 0}\min_{x \in X} f(x)+u^Tg(x)+v^Th(x)u0max?θ(u,v)=u0max?xXmin?f(x)+uTg(x)+vTh(x)

假設θ\thetaθ可微。考慮對偶問題可行域中的點(uˉ,vˉ)(\bar u,\bar v)(uˉ,vˉ),記
xˉ=arg?min?x∈Xf(x)+uˉTg(x)+vˉTh(x)\bar x = \argmin_{x \in X}f(x)+\bar u^Tg(x)+\bar v^Th(x)xˉ=xXargmin?f(x)+uˉTg(x)+vˉTh(x)


?θ(uˉ,vˉ)=[g(xˉ),h(xˉ)]T\nabla \theta(\bar u,\bar v) = [g(\bar x), \ h(\bar x)]^T?θ(uˉ,vˉ)=[g(xˉ),?h(xˉ)]T

引理 如果(du,dv)(d_u,d_v)(du?,dv?)非零,則它是一個feasible ascent direction,其中
(du,dv)=[g^(xˉ),h(xˉ)]T,g^i(xˉ)={gi(xˉ),uˉi>0max?(0,gi(xˉ)),uˉi=0(d_u,d_v)=[\hat g(\bar x), \ h(\bar x)]^T,\ \hat g_i(\bar x) = \begin{cases} g_i(\bar x), \bar u_i>0 \\ \max(0,g_i(\bar x)),\bar u_i = 0\end{cases}(du?,dv?)=[g^?(xˉ),?h(xˉ)]T,?g^?i?(xˉ)={gi?(xˉ),uˉi?>0max(0,gi?(xˉ)),uˉi?=0?

評注
i)我們先從直覺上理解一下這個結果,如果uˉ\bar uuˉ每一個分量都滿足uˉi>0\bar u_i>0uˉi?>0,那么(du,dv)(d_u,d_v)(du?,dv?)就是θ\thetaθ的梯度,這時算法思路就是無約束優化的梯度下降;如果uˉi=0\bar u_i=0uˉi?=0,說明當前位置已經位于可行域的邊界了,我們必須限制這個feasible ascent direction使它不會把我們帶到uˉi<0\bar u_i<0uˉi?<0的區域,因此需要定義g^i(xˉ)=max?(0,gi(xˉ))\hat g_i(\bar x)=\max(0,g_i(\bar x))g^?i?(xˉ)=max(0,gi?(xˉ))

ii)與梯度下降類似,在有了這個feasible ascent direction之后,我們可以用line search的思路去找最優的下降步長,
max?λ{θ(uˉ+λdu,vˉ+λdv):uˉ+λdu≥0,λ≥0}\max_{\lambda} \{\theta(\bar u+\lambda d_u,\bar v + \lambda d_v):\bar u + \lambda d_u \ge 0 ,\lambda \ge 0\}λmax?{θ(uˉ+λdu?,vˉ+λdv?):uˉ+λdu?0,λ0}

獲得下一組(uˉ,vˉ)(\bar u,\bar v)(uˉ,vˉ)然后重復這個過程,下面證明的第一部分給出了最優值的判定準則。

證明

i)如果(du,dv)(d_u,d_v)(du?,dv?)為零向量,則(uˉ,vˉ)(\bar u,\bar v)(uˉ,vˉ)就已經是對偶問題的解了。

因為對偶問題的目標函數是concave function,所以對偶問題的KKT point就是最優解,我們只需說明(uˉ,vˉ)(\bar u,\bar v)(uˉ,vˉ)滿足KKT條件即可,也就是?z1\exists z_1?z1?滿足
??uθ(uˉ,vˉ)?z1=0??vθ(uˉ,vˉ)=0z1Tuˉ=0,z1≥0-\nabla_u \theta(\bar u,\bar v)-z_1=0 \\ -\nabla_v \theta(\bar u,\bar v)=0 \\ z^T_1\bar u = 0,z_1 \ge 0??u?θ(uˉ,vˉ)?z1?=0??v?θ(uˉ,vˉ)=0z1T?uˉ=0,z1?0

因為dv=0d_v=0dv?=0,我們知道?vθ(uˉ,vˉ)=h(xˉ)=0\nabla_v \theta(\bar u,\bar v)=h(\bar x)=0?v?θ(uˉ,vˉ)=h(xˉ)=0,并且為了使du=0d_u=0du?=0,需要?uθ(uˉ,vˉ)=g(xˉ)≤0\nabla_u \theta(\bar u,\bar v)=g(\bar x)\le 0?u?θ(uˉ,vˉ)=g(xˉ)0,以及g(xˉ)Tz1=0g(\bar x)^Tz_1=0g(xˉ)Tz1?=0,因此存在z1=?g(xˉ)z_1=-g(\bar x)z1?=?g(xˉ)滿足上述條件,所以(uˉ,vˉ)(\bar u,\bar v)(uˉ,vˉ)是對偶問題的解。

ii)如果(du,dv)(d_u,d_v)(du?,dv?)非零,在評注i)中我們已經說明了(du,dv)(d_u,d_v)(du?,dv?)是一個feasible direction,下面我們說明它也是一個ascent direction,計算
?θ(uˉ,vˉ)Td=?uθ(uˉ,vˉ)Tdu+?vθ(uˉ,vˉ)Tdv=gT(xˉ)g^(xˉ)+h(xˉ)Th(xˉ)\nabla \theta(\bar u,\bar v)^T d=\nabla_u \theta(\bar u,\bar v)^T d_u+\nabla_v \theta(\bar u,\bar v)^T d_v \\ = g^T(\bar x)\hat g(\bar x)+h(\bar x)^Th(\bar x)?θ(uˉ,vˉ)Td=?u?θ(uˉ,vˉ)Tdu?+?v?θ(uˉ,vˉ)Tdv?=gT(xˉ)g^?(xˉ)+h(xˉ)Th(xˉ)

顯然它是大于零的。因此它是一個feasible ascent direction。


用梯度方法求解下列優化的對偶問題
min?x12+x22s.t.?x1+x2+4≤0x1+2x2?8≤0\min x_1^2+x_2^2 \\ s.t. -x_1+x_2 + 4 \le 0 \\ x_1+2x_2-8 \le 0minx12?+x22?s.t.?x1?+x2?+40x1?+2x2??80

假設初始值為(u1,u2)=(0,0)(u_1,u_2)=(0,0)(u1?,u2?)=(0,0)


我們先寫出對偶問題的目標函數
θ(u1,u2)=min?{x12+x22+u1(?x1?x2+4)+u2(x1+2x2?8)}\theta(u_1,u_2) = \min\{x_1^2+x_2^2+u_1(-x_1-x_2+4) \\ +u_2(x_1+2x_2-8)\}θ(u1?,u2?)=min{x12?+x22?+u1?(?x1??x2?+4)+u2?(x1?+2x2??8)}

第一次循環:(u1,u2)=(0,0)(u_1,u_2)=(0,0)(u1?,u2?)=(0,0)
θ(u1,u2)=θ(0,0)=0\theta(u_1,u_2) = \theta(0,0)=0θ(u1?,u2?)=θ(0,0)=0,此時x1=x2=0x_1=x_2=0x1?=x2?=0,因此
(d1,d2)=(max?(0,4),max?(0,?8))=(4,0)(d_1,d_2) = (\max(0,4),\max(0,-8)) = (4,0)(d1?,d2?)=(max(0,4),max(0,?8))=(4,0)

此時
θ(u1+λd1,u2+λd2)=?8λ2+16λ\theta(u_1+\lambda d_1,u_2+\lambda d_2)=-8\lambda^2+16\lambdaθ(u1?+λd1?,u2?+λd2?)=?8λ2+16λ

λ=1\lambda=1λ=1時上式取最大值,因此下一次迭代使用(u1,u2)=(4,0)(u_1,u_2)=(4,0)(u1?,u2?)=(4,0)

第二次循環:(u1,u2)=(4,0)(u_1,u_2)=(4,0)(u1?,u2?)=(4,0)
類似第一次循環的操作,可以計算出(d1,d2)=(0,0)(d_1,d_2)=(0,0)(d1?,d2?)=(0,0),因此(4,0)(4,0)(4,0)是對偶問題的最優解。

總結

以上是生活随笔為你收集整理的UA SIE545 优化理论基础4 对偶理论简介6 求解对偶问题的梯度算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。