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)來逼近原問題的最優解。