优化命题的对偶性(Duality)

本文用以介绍和分析带有约束的优化命题的对偶性(Duality),给出对偶命题的推导方面,并举例说明。主要参考的是Jorge Nocedal 和 Stephen J. Wright 的 Numerical Optimization 一书(第二版)。

对偶命题的定义

考察如下的只含不等式约束的一般性优化命题:

minxRnf(x)subject to c(x)0(1)
针对这一命题的Lagrangian函数为:
L(x,λ)=f(x)λTc(x)
其中,λRm 是Lagrangian乘子。

针对上面的式子,我们定义如下的对偶目标函数(dual objective function)q 如下:

q(λ):=infxL(x,λ)(2)
也就是针对不同的 λ 参数确定一组 x 使得 q(λ) 最小。同时,这里我们只考虑最小值不会是 的情况。这里我们要求取的是 L(x,λ) 的全局最小值,但是当 f(x) 为凸函数,且 c(x) 为凹函数(比如线性约束)的时候,L(x,λ) 是凸函数,因此任何一个局部最小都是全局最小。

因此,我们可以定义命题(1)的对偶命题(Dual Problem)如下(这里 λ 被称为对偶变量):

maxλRmq(λ)subject to λ0(3)

对偶命题的性质

  • 性质 1 (Weak Duality)
    对于任意满足(1)式中约束的 x¯ 以及任意的 λ¯0 ,有 q(λ¯)f(x¯)
    其实这条性质的意思就是通过对 q(λ) 的估计我们可以估计出原始优化命题的解的一个下界。

  • 性质 2
    这里我们首先明确一下原命题(1)的KKT条件如下:

    f(x¯)c(x¯)λ¯c(x¯)λ¯λ¯ici(x¯)=000=0,i=1,2,...,m(4a)(4b)(4c)(4d)
    如果 x¯ 是原命题(1)的一个解,且 f(x)c(x) 都是凸函数,且在 x¯ 处二阶可导。那么满足上面(4)式的KKT条件的 λ¯ 就是对偶命题(3)的解。
    从这条性质我们可以看出,原始命题的解与对偶命题的解通过KKT条件建立了某种联系。
  • 性质 3
    假设f(x)c(x) 都是凸函数,且在 Rn 上二阶可导。假设 x¯ 是原命题(1)的解且在 x¯ 处约束相互独立。假设 λ^ 是对偶命题(3)的解且最小值在 x^ 取得。进一步假设 L(,λ^) 是严格凸函数。那么 x¯=x^ ,且 f(x¯)=L(x^,λ^)
    从这条性质可以进一步看出原命题与对偶命题的关系,即在满足一系列条件的情况下,原始命题的最小值和对偶命题的最大值在同一组参数 (x,λ) 处取得。

举例

线性规划

考虑如下的线性规划命题:

minxcTxsubject to Axb0,(5)
其对偶目标函数为:
q(λ)=infx[cTxλT(Axb)]=infx[(cATλ)Tx+bTλ]
如果 cATλ0 那么下界显然是 , 因此我们考虑的范围就局限于 cATλ=0 的情况(因为 显然不会是下界中的最大值)。因此,上面线性规划命题的对偶命题就是:
maxλbTλsubject to ATλ=c,λ0(6)

凸二次规划

考虑如下的二次规划:

min12xTGx+cTxsubject to Axb0,(7)
这里 G=GT,G0 。其对偶目标函数为:
q(λ)=infx[12xTGx+cTxλT(Axb)]
这里Lagrangian函数是凸函数,因此在最小值出导数为0,即
Gx+cATλ=0
,将这里的 xλ 的关系代入可以得到对偶命题为:
maxλ12(ATλc)TG1(ATλc)+bTλsubject to λ0(8)


这里举一个简单的一维二次规划的例子来说明上面的内容,令(7)式中的 G=2,c=2 ,函数图像如下:

这里写图片描述

当我们讲约束设定为 5x5 时,可以从图中看出,应该在 x=1 处取得最小值 1 。这个时候的对偶命题的图像为:

这里写图片描述

可以看出,对偶的目标函数在 (0,0) 处取得最大值,在各处具体的函数值见下图:(注意 q 阵中的行和列对应的座标都是以 0.5 为单位从 0 向上递增)

这里写图片描述

从上图可以看出,目标函数确实在 (0,0) 点处取得最大值。为什么是 (0,0) 点呢,因为约束为在原命题中的约束 5x5 时,最优点处的两条约束都没有激活(active),所以两条约束对应的对偶变量都是0.

然后,我们改变约束条件,令约束条件为 6x2 时,对偶命题的函数图象为:

这里写图片描述

从图中可以看出,当对偶目标函数取得最大值时,对偶变量 λ1=0,λ20 ,这也很好理解因为此时在原命题的最优点处第一条约束没有激活而第二条约束被激活了。关于具体的最大值和 λ2 的值。 具体内容见下图:(注意 q 阵中的行和列对应的座标都是以 0.5 为单位从 0 向上递增)

这里写图片描述

可以看出,对偶函数的最大值为 8 ,等于原始函数的最小值,此时λ2=6 .

从上面一个例子我们也可以感受到,原始命题只有一个决策变量,其实很好求解;而对偶命题有两个决策变量,相对来说较难求解。也就是说,当我们面对一个问题时,其决策变量数和约束条数从某种程度上说明了求解其原始命题和对偶命题求解的相对难易程度。我们可以选择求解原始命题或求解其对偶命题,这也是一些对偶算法的由来。

但是我们也应该意识到,在从对偶命题的方向求解时,我们在迭代过程中的点返回到原始命题中往往是不可行的(infeasible),也就是说,对偶的方法往往要在最后一步才能给出一个可行解,而且这个可行解就是最优的,但如果让算法提前终止迭代的话,我们就要冒着拿到一个不可行解的风险,而这个风险在原始算法中往往是不存在的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章