欢迎访问 生活随笔!

生活随笔

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

编程问答

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

发布时间:2025/4/14 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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)=0xXminf(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)=u0maxxXminf(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ˉ=xXargminf(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ˉ+λdu0,λ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_1z1满足
−∇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 0uθ(uˉ,vˉ)z1=0vθ(uˉ,vˉ)=0z1Tuˉ=0,z10

因为dv=0d_v=0dv=0,我们知道∇vθ(uˉ,vˉ)=h(xˉ)=0\nabla_v \theta(\bar u,\bar v)=h(\bar x)=0vθ(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 0uθ(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+x22s.t.x1+x2+40x1+2x280

假设初始值为(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(x1x2+4)+u2(x1+2x28)}

第一次循环:(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 求解对偶问题的梯度算法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。