本文用以介绍和分析带有约束的优化命题的对偶性(Duality),给出对偶命题的推导方面,并举例说明。主要参考的是Jorge Nocedal 和 Stephen J. Wright 的 Numerical Optimization 一书(第二版)。
对偶命题的定义
考察如下的只含不等式约束的一般性优化命题:
针对上面的式子,我们定义如下的对偶目标函数(dual objective function)
因此,我们可以定义命题(1)的对偶命题(Dual Problem)如下(这里
对偶命题的性质
性质 1 (Weak Duality)
对于任意满足(1)式中约束的x¯ 以及任意的λ¯≥0 ,有q(λ¯)≤f(x¯) 。
其实这条性质的意思就是通过对q(λ) 的估计我们可以估计出原始优化命题的解的一个下界。性质 2
这里我们首先明确一下原命题(1)的KKT条件如下:
如果∇f(x¯)−∇c(x¯)λ¯c(x¯)λ¯λ¯ici(x¯)=0≥0≥0=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∗,λ∗) 处取得。
举例
线性规划
考虑如下的线性规划命题:
凸二次规划
考虑如下的二次规划:
这里举一个简单的一维二次规划的例子来说明上面的内容,令(7)式中的
当我们讲约束设定为
可以看出,对偶的目标函数在
从上图可以看出,目标函数确实在
然后,我们改变约束条件,令约束条件为
从图中可以看出,当对偶目标函数取得最大值时,对偶变量
可以看出,对偶函数的最大值为
从上面一个例子我们也可以感受到,原始命题只有一个决策变量,其实很好求解;而对偶命题有两个决策变量,相对来说较难求解。也就是说,当我们面对一个问题时,其决策变量数和约束条数从某种程度上说明了求解其原始命题和对偶命题求解的相对难易程度。我们可以选择求解原始命题或求解其对偶命题,这也是一些对偶算法的由来。
但是我们也应该意识到,在从对偶命题的方向求解时,我们在迭代过程中的点返回到原始命题中往往是不可行的(infeasible),也就是说,对偶的方法往往要在最后一步才能给出一个可行解,而且这个可行解就是最优的,但如果让算法提前终止迭代的话,我们就要冒着拿到一个不可行解的风险,而这个风险在原始算法中往往是不存在的。