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)=0x∈Xmin?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)u≥0max?θ(u,v)=u≥0max?x∈Xmin?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ˉ=x∈Xargmin?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?+4≤0x1?+2x2??8≤0
假設初始值為(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 求解对偶问题的梯度算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UA SIE545 优化理论基础4 对偶
- 下一篇: UA MATH563 概率论的数学基础