Introduction
对偶(duality)是优化中的一个重要概念,当原问题的最小值很难求解时,我们常常将其变为对偶形式,通过求解对偶问题的最大值,从而得到原问题的最优解。我们从最简单的线性规划问题入手来介绍对偶的概念。
线性规划的下界
假设我们想要寻找一个凸优化问题的下界(lower bound),即寻找B≤minxf(x)。
以线性规划(LP)问题为例,考虑一个简单的LP问题:
x,ymin x+ysubject tox+y≥2x,y≥0
很明显,该问题的下界为B=2。
那么考虑更一般的形式,如:
x,ymin px+qysubject tox+y≥2x,y≥0
那么对于任意a,b,c≥0,都有px+qy=(a+b)x+(a+c)y=(ax+ay)+bx+by≥2a。
既然我们找到了该问题的下界,那么最小化该问题就可以转化为最大化该问题的下界。即原问题变为:
a,b,cmin2asubject toa+b=pa+c=qa,b,c≥0
我们把上面的形式称为原问题(primal LP)的对偶(dual LP)。注意到对偶变量的数量等于原问题的约束条件数目(这里都为3)。
线性规划的对偶
考虑一般形式的LP问题,给定c∈Rn,A∈Rm×n,b∈Rm,G∈Rr×n,h∈Rr,
xmincTxsubject toAx=bGx≤h
其对偶问题为:
u,vminsubject to−bTu−hTv−ATu−GTv=cv≥0
解释:对于任意u和v≥0,
uT(Ax−b)+vT(Gx−h)≤0⇔(−ATu−GTv)Tx≥−bTu−hTv
所以如果令c=−ATu−GTv,那么我们就可以得到原问题的一个下界。
例子:最大流最小割(max flow and min cut)
给定一个图G=(V,E),定义流(flow)fij,(i,j)∈E满足:
- fij≥0,(i,j)∈E (所有流都是正的)
- fij≤cij,(i,j)∈E (所有流都是有限的)
- ∑(i,k)∈Efik=∑(k,j)∈Efkj,k∈Vs,t (除了始末节点外,流入某个节点的所有流等于流出该节点的所有流)
最大流问题:找到从s流向t的所有流的最大值。这是一个LP问题:
f∈R∣E∣maxsubject to(s,j)∈E∑fsj0≤fij≤cijfor all (i,j)∈E(i,k)∈E∑fik=(k,j)∈E∑fkjfor all k∈V\{s,t}
求其对偶形式:
(i.j)∈E∑(−aijfij+bij(fij−cij))+k∈V\{s,t}∑xk((i,k)∈E∑fik−(k,j)∈E∑fkj)≤0
for any aij,bij≥0,(i,j)∈E, and xk,k∈V\{s,t}
重新整理可得:
(i,j)∈E∑Mij(a,b,x)fij≤(i,j)∈E∑bijcij
其中Mij(a,b,x)表示所有与fij相乘的项。
那么对偶问题可以表示为:
b∈R∣E∣,x∈R∣V∣minsubject to(i,j)∈E∑bijcijbij+xj−xi≥0for all (i,j)∈Eb≥0, xs=1, xt=0
假设对于所有i∈V,xi只能取0或1,那么只有在xi=1且xj=0时,bij=1,否则为0。那么目标函数∑(i,j)∈Ebijcij就是在求解有哪些路径会被切断。因此原最大流问题就变成了线性规划松弛的最小割(min cut)问题:
b∈R∣E∣,x∈R∣V∣minsubject to(i,j)∈E∑bijcijbij≥xi−xjbij,xi,xj∈{0,1} for all i,j
从上面的分析可以看出:
最大流的值≤LP松弛的最小割问题的最优解≤最小割的容量
而根据最大流最小割定理,通过一个网络的最大流的值就等于最小割的容量。即上面公式全部取等号。这种原问题和对偶问题有相同的最优值的情况称为强对偶(strong duality)。
LP对偶的另一种视角
对于LP问题的对偶形式的另一种更加通用的解释是:
对于任意u和v≥0,
cTx≥cTx+uT(Ax−b)+vT(Gx−h):=L(x,u,v)
因此如果C表示原问题的可行域,f∗表示原问题的最优解,那么对于任意u和v≥0,
f∗≥x∈CminL(x,u,v)≥xminL(x,u,v):=g(u,v)
即g(u,v)是f∗的一个下界。其中,
g(u,v)={−bTu−hTv−∞if c=−ATu−GTvotherwise
我们可以通过最大化g(u,v)来逼近原问题的最优解。