5.1 对偶
本文最后更新于120 天前,其中的信息可能已经过时,如有错误请发送邮件至 2641805259@qq.com

一、Lagrange 对偶函数

(1) Lagrange

对于标准形式的优化问题:

优化问题的最优解是,这里没有假设问题是凸优化问题。

定义该优化问题的Lagrange函数为:

其中:

  • 称为第个不等式约束对应的Lagrange乘子
  • 称为第个等式约束对应的Lagrange乘子。
  • 向量称为对偶变量或者是优化问题的Lagrange乘子向量

(2) Lagrange 对偶函数

定义Lagrange对偶函数为Lagrane函数关于取到的最小值:即对,有

如果Lagrange函数关于无下界,则对偶函数取值为。由于对偶函数是一簇关于的仿射函数的逐点下确界,所以对偶函数一定是凹函数

(3) 最优值下界

对偶函数构成了原问题最优值的下界:即对任意下式成立

是原问题中的一个可行点,即。根据假设,,我们有

因此

因此

由于每一个可行点都满足,因此不等式成立。

只有当时,对偶函数才能给出的一个非平凡下界。称满足以及对偶可行的。

(4) Lagrange 对偶函数和共轭函数

共轭函数和Lagrange对偶函数紧密相关,考虑问题

该问题的Lagrange函数为,其对偶函数为

更一般地考虑一个优化问题,具有线性不等式和等式约束,

利用的共轭函数,我们可以将优化问题的对偶函数表述为

(5) 例子

1. 标准形式 LP

Lagrange 函数为:

因此其对偶函数为:

在仿射域上是线性的,因此是凹的。

2. 等式约束范数最小化

 

3. 两向划分

二、 Lagrange 对偶问题

对于任意一组,其中,Lagrange 对偶函数给出了原优化问题的最优值的一个下界。那么一个自然的问题是:从Lagrange函数能够得到的最好下界是什么?

Lagrange对偶问题可表述为优化问题:

称解是对偶最优解或者最优解Lagrange乘子,如果它是对偶问题的最优解。

这是一个凸优化问题,因为极大化的目标函数是凹函数,且约束集合是凸集。

(1) 对偶问题的产生

1. 问题的对偶表述

  • 一个问题的等价表述可能导致非常不同的对偶
  • 当对偶难以推导或无意义时,重新表述原始问题可能得出有用的对偶问题

2. 常见的重新表述

  • 引入新的变量和等式约束
  • 将显示约束隐式化或反之
  • 替换目标函数或约束函数,例如用凸增函数代替
例题1

引入新变量和等式约束

  1. 对偶函数是常数:
  2. 具有强对偶性,但对偶问题相当无用

重新表述的问题及其对偶问题:

因此得:

故优化问题为

例题2

范数逼近问题

重新表述的问题及其对偶问题:

因此得:

其中

故优化问题为

例题3

带框约束问题

用框约束隐式化改写:

对偶函数:

对偶问题:

例题4

找出以下分段线性最小化问题的LP公式和对偶LP:

LP问题是

拉格朗日函数为:

对偶函数为:

因此对偶问题为

(2) 弱对偶性

Lagrange 对偶问题的最优值,我们用表示,根据定义这是通过 Lagrange 函数得到的原问题的最优值的最好下界。因此我们有下面简单但非常重要的不等式:

这个性质称为弱对偶性

定义差值是原问题的最优对偶问题。它给出了原问题最优值以及通过 Lagrange 对偶函数所能得到的最好上界之间的差值。

(3) 强对偶性和 Slater 约束准则

如果等式

成立,即最优对偶间隙为零,那么强对偶性成立,说明 Lagrange 对偶函数得到的最好下界是紧的。

对于一般情况,强对偶性不成立。但是如果优化问题是凸问题,即可表述成如下形式:

其中,函数是凸函数,强对偶性通常成立。强对偶性成立的条件称为约束准则

Slater约束准则

对于以下凸问题

如果它是严格可行的,即

强对偶性成立。

三、对偶问题的几何解释

四、相关例题

例题5

因此对偶函数为

问题转化为

  1. 根据条件:,如果存在对于某些
  2. 实际上,对于线性规划是基本上成立的,除非原始问题和对偶问题都是不可行的。
例题6

因此对偶函数为

对式子进行求导有:

故最优的关于的表达式为:

因此

问题转化为

  1. 根据Slater条件:,如果对于某些成立
  2. 实际上,总是成立(对于凸二次规划问题,只要原问题可行,则

五、最优性条件

(1) 次优解认证和终止准则

如果能找到一个对偶可行解,就对原问题的最优值建立了一个下界:。因此对偶可行解点为表达式的成立提供了一个证明或认证

对偶间隙

定义原问题和对偶问题目标函数的差值:

为原问题可行解和对偶可行解之间的对偶间隙。一对原对偶问题的可行点将原问题的最优值限制在一个区间上:

区间长度即为对偶间隙。

如果原对偶可行对的对偶间隙为零,即,那么是原问题最优解,且是对偶问题的最优解。此时我们可以认为是证明为最优解的一个认证。

非启发式停止准则

设某个算法给出一系列原问题可行解以及对偶问题可行解给定要求的绝对精度,那么停止准则

保证当算法终止时,次优。

给定相对精度,可以推导类似的条件保证次优。如果

成立,或者

成立,那么,且可以保证相对误差

小于等于

(2) 互补松弛性

设原问题和对偶问题的最优值都可以达到且相等,令是原问题的最优解,是对偶问题的最优解,这表明

重要结论 —— 互补松弛性

该性质对任意原问题最优解以及对偶问题最优解都成立。我们可以把互补松弛条件写成

这个式子意味着在最优点处,除了第个约束起作用的情况,最优Lagrange乘子的第项都为零。

(3) KKT最优性条件

现在假设函数是可微的,但是并不假设这些是凸函数。

以下四个条件称为 KKT 条件

  1. 原问题可行性:
  2. 对偶问题可行性:
  3. 互补松弛性条件:
  4. 一阶最优条件:

1. 非凸问题的KKT条件

是原问题的最优解,是对偶问题的最优解,对偶间隙为0。因为关于求极小在处取得最小值,因此函数在处的导数必须为零,即:

因此有

我们称上式为Karush-Kuhn-Tucker(KKT)条件

2. 凸问题的KKT条件

当原问题是凸问题时,满足KKT条件的点也是原、对偶最优解。即如果函数是凸函数,是仿射函数,是任意满足KKT条件的点,则他们是最优的:

  1. 从互补松弛性和原问题可行性:
  2. 从第四个条件(以及凸性):

因此

  • 反过来,如果满足slater条件,是最优的当且仅当存在满足KKT条件(slater条件意味着强对偶性,并且对偶最优解被达到)
  • 本质上,KKT条件推广了无约束问题的最优条件

对于一般的非凸问题,KKT条件只是必要条件,类似无约束优化中的

只表示可能是极值点,不保证是最优点。

但是对于凸问题,则满足KKT条件的点一定是最优点。

六、KKT 条件应用

题目1

写出 条件有:

因此约掉后有:

针对第四个式子,进行讨论:

,则,同时

,那么,因此

结合,确定的最优值,即

题目2

利用 KKT 条件找到下列集合中最接近的点。

该问题可转化为:

拉格朗日函数为:

因此 KKT 条件是:

  1. 原问题可行性:
  2. 对偶问题可行性:
  3. 互补松弛性:
  4. 一阶最优条件:

分四种情况讨论:

  1. ,因此根据第三个条件可得,违背原问题可行性

  2. ,因此

    因此可算得.原问题仍不可行。

  3. 因此

    可算得:。满足所有条件,故一个 KKT 点为

  4. .

    因此,故

    进一步有,违反对偶问题可行性

题目3 下面是一个强对偶性成立的非凸优化问题,如何找到最优解,唯一吗?

求拉格朗日函数为:

因此 KKT 条件为:

  1. 原问题可行性:
  2. 对偶问题可行性:
  3. 互补松弛性:
  4. 一阶最优条件:

分四种情况进行讨论:

  1. 因此,成立,值为

  2. 因此,成立,值为

  3. 有两个解:,值为,值为

  4. ,因此,值为

综上,最优解为,取得最小值为

题目4 已知下面是一个强对偶性成立的非凸优化问题。分析最优解(充分或必要)条件,以及如何寻找其最优解,可以存在多个最优解吗?

求拉格朗日函数为:

因此 条件为:

  1. 原问题可行性:

  2. 对偶问题可行性:无

  3. 互补松弛性:无

  4. 一阶最优条件:

因此

解得

四个解对应的值为:……

题目 5 求解一下优化问题

求拉格朗日函数为:

因此 KKT 条件为

  1. 原问题可行性:
  2. 对偶问题可行性:
  3. 互补松弛性:
  4. 一阶最优条件:

讨论:

  1. ,因此,原问题可行性不满足
  2. ,因此
  3. ,因此,不满足
  4. ,因此,不满足

故唯一解为。最优值为

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇