UA SIE545 优化理论基础4 对偶理论简介2 弱对偶与Duality Gap

上一讲我们定义了Lagrange对偶,这一讲我们介绍第一个重要结论——弱对偶定理(Weak duality theorem)。

我们先回顾一下Lagrange对偶的定义:考虑优化问题P:
min⁡f(x)s.t.g(x)≤0,h(x)=0,x∈X\min f(x) \\ s.t. \ g(x) \le 0, h(x) = 0, x \in Xminf(x)s.t. g(x)≤0,h(x)=0,x∈X

定义其对偶问题为优化D:
sup⁡u,vθ(u,v)s.t.u≥0\sup_{u,v} \theta(u,v) \\ s.t. u \ge 0u,vsup​θ(u,v)s.t.u≥0

其中
θ(u,v)=inf⁡x∈Xϕ(x,u,v)=inf⁡x∈Xf(x)+uTg(x)+vTh(x)\theta(u,v)=\inf_{x \in X}\phi(x,u,v) =\inf_{x \in X} f(x)+u^Tg(x)+v^Th(x)θ(u,v)=x∈Xinf​ϕ(x,u,v)=x∈Xinf​f(x)+uTg(x)+vTh(x)


Weak duality theorem 假设xˉ\bar xxˉ是优化问题P的可行解,(u,v)(u,v)(u,v)是优化问题D的可行解,则f(xˉ)≥θ(u,v)f(\bar x)\ge \theta(u,v)f(xˉ)≥θ(u,v)。

评注 这个结果直觉上是来自我们上一讲例1导出Lagrange对偶的过程的,我们导出对偶问题的目标是要找一个目标函数最小值的一个“有价值”的下界,所以从直觉上讲对偶问题目标函数的最优值当然比原问题的目标函数最优值更小。

证明
直接摘录上面的定义,
θ(u,v)=inf⁡x∈Xf(x)+uTg(x)+vTh(x)≤f(x)+uTg(x)+vTh(x),∀x∈X≤f(xˉ)\theta(u,v)=\inf_{x \in X} f(x)+u^Tg(x)+v^Th(x) \\ \le f(x)+u^Tg(x)+v^Th(x) ,\forall x \in X \le f(\bar x)θ(u,v)=x∈Xinf​f(x)+uTg(x)+vTh(x)≤f(x)+uTg(x)+vTh(x),∀x∈X≤f(xˉ)

最后这个不等号是因为u≥0u \ge 0u≥0, g(x)≤0g(x) \le 0g(x)≤0而h(x)=0h(x)=0h(x)=0。

证毕

可以说弱对偶定理并不是一个很令人惊叹的结果,因为我们从直觉、从定义就可以发现这个事实。但弱对偶定理还有四个有趣的推论:

推论1
inf⁡{f(x):x∈X,g(x)≤0,h(x)=0}≥sup⁡{θ(u,v):u≥0}\inf\{f(x):x \in X,g(x) \le 0,h(x)=0\} \\ \ge \sup\{\theta(u,v):u \ge 0\}inf{f(x):x∈X,g(x)≤0,h(x)=0}≥sup{θ(u,v):u≥0}

这个推论可以看成是用公式来表示的弱对偶定理,并没有提供额外的信息。

推论2
如果f(xˉ)=θ(uˉ,vˉ)f(\bar x)=\theta(\bar u,\bar v)f(xˉ)=θ(uˉ,vˉ),uˉ≥0,xˉ∈{x∈X:g(x)≤0,h(x)=0}\bar u \ge 0,\bar x \in \{x \in X:g(x) \le 0,h(x)=0\}uˉ≥0,xˉ∈{x∈X:g(x)≤0,h(x)=0},则xˉ\bar xxˉ和uˉ,vˉ\bar u,\bar vuˉ,vˉ分别是优化P与优化D的解。

这个推论可以从推论1直接得到,如果xˉ\bar xxˉ不是最优解就违背了下确界的定义,如果uˉ,vˉ\bar u,\bar vuˉ,vˉ不是最优解就违背了上确界的定义。

推论3
如果inf⁡{f(x):x∈X,g(x)≤0,h(x)=0}=−∞\inf\{f(x):x \in X,g(x) \le 0,h(x)=0\}=-\inftyinf{f(x):x∈X,g(x)≤0,h(x)=0}=−∞

则θ(u,v)=−∞,∀u≥0\theta(u,v)=-\infty,\forall u \ge 0θ(u,v)=−∞,∀u≥0。

小于负无穷大量,那就是负无穷了,这个也能直接从弱对偶定理推出。

推论4
如果sup⁡{θ(u,v):u≥0}=+∞\sup\{\theta(u,v):u \ge 0\}=+\inftysup{θ(u,v):u≥0}=+∞,则优化P没有可行解。因为根据推论1,inf⁡f\inf finff就大于无穷大量的。


推论1点出了弱对偶中“弱”这个字的内涵,因为对偶问题目标函数最优值只是原问题目标函数最优值的下界,所以它实际上能告诉我们的信息非常弱,下一讲我们会介绍强对偶定理,强对偶意味着原问题与对偶问题最优值是相等的,也就是推论1中的不等式会取等
inf⁡{f(x):x∈X,g(x)≤0,h(x)=0}=sup⁡{θ(u,v):u≥0}\inf\{f(x):x \in X,g(x) \le 0,h(x)=0\}=\sup\{\theta(u,v):u \ge 0\}inf{f(x):x∈X,g(x)≤0,h(x)=0}=sup{θ(u,v):u≥0}这样的对偶能提供的信息就非常强了。当
inf⁡{f(x):x∈X,g(x)≤0,h(x)=0}>sup⁡{θ(u,v):u≥0}\inf\{f(x):x \in X,g(x) \le 0,h(x)=0\}>\sup\{\theta(u,v):u \ge 0\}inf{f(x):x∈X,g(x)≤0,h(x)=0}>sup{θ(u,v):u≥0}

时,称二者之差为Duality gap。下面的两个例子分别是关于强对偶与Duality gap的。

例3 考虑优化问题
min⁡(x−2)2+(y−2)2s.t.x≤0,y≤0\min (x-2)^2+(y-2)^2 \\ s.t. x \le 0,y \le 0min(x−2)2+(y−2)2s.t.x≤0,y≤0

这个问题的几何含义是在第三象限内找一个距离(2,2)(2,2)(2,2)最近的点。我们先写出它的对偶问题,定义
ϕ(x,y,u1,u2)=(x−2)2+(y−2)2+2u1x+2u2y\phi(x,y,u_1,u_2)=(x-2)^2+(y-2)^2+2u_1x+2u_2yϕ(x,y,u1​,u2​)=(x−2)2+(y−2)2+2u1​x+2u2​y

选择x,yx,yx,y最小化这个函数,不难发现x=2−u1,y=2−u2x=2-u_1,y=2-u_2x=2−u1​,y=2−u2​,因此
θ(u1,u2)=−[(u1−2)2+(u2−2)2]+8\theta(u_1,u_2)=-[(u_1-2)^2+(u_2-2)^2]+8θ(u1​,u2​)=−[(u1​−2)2+(u2​−2)2]+8

对偶问题为
max⁡−[(u1−2)2+(u2−2)2]+8s.t.u1≥0,u2≥0\max -[(u_1-2)^2+(u_2-2)^2]+8 \\ s.t. u_1 \ge 0,u_2 \ge 0max−[(u1​−2)2+(u2​−2)2]+8s.t.u1​≥0,u2​≥0

我们一眼就能看出对偶问题和原问题的最优值是相同的,因此这个原问题的对偶是一个强对偶。

例4 考虑下面的线性规划
min⁡−2x1+x2s.t.x1+x2−3=0(x1,x2)∈{(0,0),(0,4),(4,4),(4,0),(1,2),(2,1)}\min -2x_1+x_2 \\ s.t. x_1+x_2-3 = 0 \\ (x_1,x_2) \in \{(0,0),(0,4),(4,4),(4,0),(1,2),(2,1)\}min−2x1​+x2​s.t.x1​+x2​−3=0(x1​,x2​)∈{(0,0),(0,4),(4,4),(4,0),(1,2),(2,1)}

因为可行域是一个有限集,我们很容易验证(2,1)(2,1)(2,1)是最优点,并且最优值为-3。下面考虑它的对偶问题,
θ(v)=min⁡x∈X{−2x1+x2+v(x1+x2−3)}={−4+5v,v≤−1−8+v,−1≤v≤2−3v,v≥2\theta(v)=\min_{x \in X}\{-2x_1+x_2+v(x_1+x_2-3)\} \\ = \begin{cases} -4+5v, v \le -1 \\ -8+v , -1 \le v \le 2 \\ -3v, v \ge 2 \end{cases}θ(v)=x∈Xmin​{−2x1​+x2​+v(x1​+x2​−3)}=⎩⎪⎨⎪⎧​−4+5v,v≤−1−8+v,−1≤v≤2−3v,v≥2​

它的最大值在v=2v=2v=2处取得,为-6,它是小于原问题的最优值-3的,它们的差值3就是Duality gap。

UA SIE545 优化理论基础4 对偶理论简介2 弱对偶与Duality Gap相关推荐

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

    UA SIE545 优化理论基础4 对偶理论简介6 求解对偶问题的梯度算法 这一讲我们介绍求解对偶问题的另一个算法--梯度算法(gradient method). 假设原问题为 min⁡x∈Xf(x) ...

  2. UA SIE545 优化理论基础4 对偶理论简介4 求解对偶问题的割平面算法

    UA SIE545 优化理论基础4 对偶理论简介4 求解对偶问题的割平面算法 这一讲我们介绍一个求解对偶问题的算法--割平面算法(cutting plane algorithm). 假设原问题为 mi ...

  3. UA SIE545 优化理论基础4 对偶理论简介3 强对偶

    UA SIE545 优化理论基础4 对偶理论简介3 强对偶 上一讲介绍了弱对偶,弱对偶满足 inf⁡{f(x):x∈X,g(x)≤0,h(x)=0}≥sup⁡{θ(u,v):u≥0}\inf\{f(x ...

  4. UA SIE545 优化理论基础4 对偶理论简介5 对偶的几何解释

    UA SIE545 优化理论基础4 对偶理论简介5 对偶的几何解释 前四讲我们建立了弱对偶与强对偶的概念与理论,这一讲我们试图从直观上理解对偶. 强对偶的几何解释 考虑下面的优化 min⁡(x−2)2 ...

  5. UA SIE545 优化理论基础4 对偶理论简介1 松弛问题与Lagrange对偶

    UA SIE545 优化理论基础4 对偶理论简介1 松弛问题与Lagrange对偶 优化理论基础第四部分介绍对偶问题(Dual problem)及其简单性质,是对偶理论的入门,后续章节会更深入地讨论对 ...

  6. UA SIE545 优化理论基础1 例题1 常见的凸集

    UA SIE545 优化理论基础1 例题1 常见的凸集 一些例题 在优化理论中,我们主要讨论下面几种凸集: 超平面:{x:pTx=β}\{x:p^Tx=\beta\}{x:pTx=β} 半空间:{x: ...

  7. UA SIE545 优化理论基础 用Farkas定理证明Farkas类的结论

    UA SIE545 优化理论基础 用Farkas定理证明Farkas类的结论 Farkas定理 AAA是一个m×nm\times nm×n的矩阵,下面两个系统有且仅有一个有解: I:Ax≤0,cTx& ...

  8. UA SIE545 优化理论基础 函数凸性的一些有趣的判断方法

    UA SIE545 优化理论基础 函数凸性的一些有趣的判断方法 Convex function f:S→Rf:S \to \mathbb{R}f:S→R where SSS is a nonempty ...

  9. UA SIE545 优化理论基础 例题 对偶函数的凸性与次梯度计算

    UA SIE545 优化理论基础 例题 对偶函数的凸性与次梯度计算 例 考虑对偶函数 θ(u1,u2)=min⁡x12+x22≤4x1(2−u1)+x2(3−u2)\theta(u_1,u_2) = ...

最新文章

  1. python server page_python web-server
  2. 前后端分离项目_七个开源的 Spring Boot 前后端分离项目,一定要收藏
  3. linux 批量创建用户和删除用户
  4. 多线程小结-----线程参数和 Invoke 机制
  5. bin文件查看器app_鸿蒙系统编译第一个APP:hello
  6. 关于绑定事件的一个疑惑
  7. Android Dialog详解
  8. [转]灯灯小程序开发手记:仿今日头条(上)
  9. 【融云分析】 IM 即时通讯之链路保活
  10. 触屏西门子plc和计算机通讯,西门子S7-200CPU之间及它们与触摸屏之间数据读取如何连接?...
  11. CRC校验算法的Verilog实现
  12. 【学习笔记】常见的激励函数和损失函数
  13. 【博客目录】成为一个优秀的数据工程师
  14. 上网行为管理软件的主要功能、并简要说明上网行为管理类的软件的原理。
  15. 国际服登陆显示服务器维护中,国际服显示服务器在维护中怎么办 教你一招解决服务器维护中什么意思...
  16. 代码覆盖率、功能覆盖率分析
  17. kubeadm 搭建 K8s
  18. snowStorm.js下雪效果
  19. java敌人发射子弹
  20. 什么是句柄、什么是自上而下、自下而上分析—编译原理

热门文章

  1. Understand Event-Driven Software Architecture
  2. 理解CSS3 transform中的Matrix(矩阵)
  3. Windows 技术篇:cmd使用过程中输入字母突然不显示光标的原因与解决方法
  4. oracle 数据库问题:“ORA-01922: 必须指定 CASCADE 以删除...“,原因及解决办法
  5. Python 技术篇 - 查看python库都包含什么方法,查看python模块某个方法的具体用法源码,查看python模块所在的物理位置,查看python库都包含哪些属性
  6. C++ leetCode 判断一个整数是否为回文数 9. 回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
  7. [YTU]_2915(Shape系列-1)
  8. [YTU]_2441( C++习题 复数类--重载运算符2+)
  9. Python open读写文件实现脚本
  10. 求二叉树中叶子结点的个数