对偶(duality)是优化中的一个重要概念,当原问题的最小值很难求解时,我们常常将其变为对偶形式,通过求解对偶问题的最大值,从而得到原问题的最优解。我们从最简单的线性规划问题入手来介绍对偶的概念。
假设我们想要寻找一个凸优化问题的下界(lower bound),即寻找 B ≤ min x f ( x ) B\leq \min_xf(x) B≤minxf(x)。
以线性规划(LP)问题为例,考虑一个简单的LP问题:
min x , y x + y s u b j e c t t o x + y ≥ 2 x , y ≥ 0 \begin{aligned} \min_{x,y}\ x+y\\ subject\ to\quad x+y\geq 2\\ x,y\geq 0 \end{aligned} x,ymin x+ysubject tox+y≥2x,y≥0
很明显,该问题的下界为 B = 2 B=2 B=2。
那么考虑更一般的形式,如:
min x , y p x + q y s u b j e c t t o x + y ≥ 2 x , y ≥ 0 \begin{aligned} \min_{x,y}\ px+qy\\ subject\ to\quad x+y\geq 2\\ x,y\geq 0 \end{aligned} x,ymin px+qysubject tox+y≥2x,y≥0
那么对于任意 a , b , c ≥ 0 a,b,c\geq 0 a,b,c≥0,都有 p x + q y = ( a + b ) x + ( a + c ) y = ( a x + a y ) + b x + b y ≥ 2 a px+qy=(a+b)x+(a+c)y=(ax+ay)+bx+by\geq 2a px+qy=(a+b)x+(a+c)y=(ax+ay)+bx+by≥2a。
既然我们找到了该问题的下界,那么最小化该问题就可以转化为最大化该问题的下界。即原问题变为:
min a , b , c 2 a s u b j e c t t o a + b = p a + c = q a , b , c ≥ 0 \begin{aligned} \min_{a,b,c}\quad 2a\\ subject\ to\quad a+b=p\\ a+c=q\\ a,b,c\geq 0 \end{aligned} a,b,cmin2asubject toa+b=pa+c=qa,b,c≥0
我们把上面的形式称为原问题(primal LP)的对偶(dual LP)。注意到对偶变量的数量等于原问题的约束条件数目(这里都为3)。
考虑一般形式的LP问题,给定 c ∈ R n , A ∈ R m × n , b ∈ R m , G ∈ R r × n , h ∈ R r c\in R^n, A\in R^{m\times n}, b\in R^m, G\in R^{r\times n}, h\in R^r c∈Rn,A∈Rm×n,b∈Rm,G∈Rr×n,h∈Rr,
min x c T x s u b j e c t t o A x = b G x ≤ h \begin{aligned} \min_{x}\quad c^Tx\\ subject\ to\quad Ax=b\\ Gx\leq h \end{aligned} xmincTxsubject toAx=bGx≤h
其对偶问题为:
min u , v − b T u − h T v s u b j e c t t o − A T u − G T v = c v ≥ 0 \begin{aligned} \min_{u,v}\quad &-b^Tu-h^Tv\\ subject\ to\quad &-A^Tu-G^Tv=c\\ &v\geq 0\\ \end{aligned} u,vminsubject to−bTu−hTv−ATu−GTv=cv≥0
解释:对于任意 u u u和 v ≥ 0 v\geq 0 v≥0,
u T ( A x − b ) + v T ( G x − h ) ≤ 0 ⇔ ( − A T u − G T v ) T x ≥ − b T u − h T v u^T(Ax-b)+v^T(Gx-h)\leq 0\\ \Leftrightarrow (-A^Tu-G^Tv)^Tx\geq -b^Tu-h^Tv uT(Ax−b)+vT(Gx−h)≤0⇔(−ATu−GTv)Tx≥−bTu−hTv
所以如果令 c = − A T u − G T v c=-A^Tu-G^Tv c=−ATu−GTv,那么我们就可以得到原问题的一个下界。
例子:最大流最小割(max flow and min cut)
给定一个图 G = ( V , E ) G=(V,E) G=(V,E),定义流(flow) f i j , ( i , j ) ∈ E f_{ij}, (i,j)\in E fij,(i,j)∈E满足:
最大流问题:找到从 s s s流向 t t t的所有流的最大值。这是一个LP问题:
max f ∈ R ∣ E ∣ ∑ ( s , j ) ∈ E f s j s u b j e c t t o 0 ≤ f i j ≤ c i j f o r a l l ( i , j ) ∈ E ∑ ( i , k ) ∈ E f i k = ∑ ( k , j ) ∈ E f k j f o r a l l k ∈ V \ { s , t } \begin{aligned} \max_{f\in R^{|E|}}\quad &\sum_{(s,j)\in E}f_{sj}\\ subject\ to\quad &0\leq f_{ij}\leq c_{ij}\quad for\ all\ (i,j)\in E\\ &\sum_{(i,k)\in E}f_{ik}=\sum_{(k,j)\in E}f_{kj}\quad for\ all\ k\in V\backslash \{s,t\}\\ \end{aligned} 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 ( − a i j f i j + b i j ( f i j − c i j ) ) + ∑ k ∈ V \ { s , t } x k ( ∑ ( i , k ) ∈ E f i k − ∑ ( k , j ) ∈ E f k j ) ≤ 0 \sum_{(i.j)\in E}(-a_{ij}f_{ij}+b_{ij}(f_{ij}-c_{ij}))+\sum_{k\in V\backslash\{s,t\}}x_k(\sum_{(i,k)\in E}f_{ik}-\sum_{(k,j)\in E}f_{kj})\leq 0 (i.j)∈E∑(−aijfij+bij(fij−cij))+k∈V\{s,t}∑xk((i,k)∈E∑fik−(k,j)∈E∑fkj)≤0
f o r a n y a i j , b i j ≥ 0 , ( i , j ) ∈ E , a n d x k , k ∈ V \ { s , t } for\ any\ a_{ij},b_{ij}\geq 0, (i,j)\in E,\ and\ x_k,k\in V\backslash\{s,t\} for any aij,bij≥0,(i,j)∈E, and xk,k∈V\{s,t}
重新整理可得:
∑ ( i , j ) ∈ E M i j ( a , b , x ) f i j ≤ ∑ ( i , j ) ∈ E b i j c i j \sum_{(i,j)\in E}M_{ij}(a,b,x)f_{ij}\leq \sum_{(i,j)\in E}b_{ij}c_{ij} (i,j)∈E∑Mij(a,b,x)fij≤(i,j)∈E∑bijcij
其中 M i j ( a , b , x ) M_{ij}(a,b,x) Mij(a,b,x)表示所有与 f i j f_{ij} fij相乘的项。
那么对偶问题可以表示为:
min b ∈ R ∣ E ∣ , x ∈ R ∣ V ∣ ∑ ( i , j ) ∈ E b i j c i j s u b j e c t t o b i j + x j − x i ≥ 0 f o r a l l ( i , j ) ∈ E b ≥ 0 , x s = 1 , x t = 0 \begin{aligned} \min_{b\in R^{|E|},x\in R^{|V|}}\quad &\sum_{(i,j)\in E}b_{ij}c_{ij}\\ subject\ to\quad &b_{ij}+x_j-x_i\geq 0\quad for\ all\ (i,j)\in E\\ &b\geq 0,\ x_s=1,\ x_t=0\\ \end{aligned} 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 i\in V i∈V, x i x_i xi只能取0或1,那么只有在 x i = 1 x_i=1 xi=1且 x j = 0 x_j=0 xj=0时, b i j = 1 b_{ij}=1 bij=1,否则为0。那么目标函数 ∑ ( i , j ) ∈ E b i j c i j \sum_{(i,j)\in E}b_{ij}c_{ij} ∑(i,j)∈Ebijcij就是在求解有哪些路径会被切断。因此原最大流问题就变成了线性规划松弛的最小割(min cut)问题:
min b ∈ R ∣ E ∣ , x ∈ R ∣ V ∣ ∑ ( i , j ) ∈ E b i j c i j s u b j e c t t o b i j ≥ x i − x j b i j , x i , x j ∈ { 0 , 1 } f o r a l l i , j \begin{aligned} \min_{b\in R^{|E|},x\in R^{|V|}}\quad &\sum_{(i,j)\in E}b_{ij}c_{ij}\\ subject\ to\quad &b_{ij}\geq x_i-x_j\\ &b_{ij}, x_i, x_j\in \{0,1\}\ for\ all\ i,j\\ \end{aligned} b∈R∣E∣,x∈R∣V∣minsubject to(i,j)∈E∑bijcijbij≥xi−xjbij,xi,xj∈{0,1} for all i,j
从上面的分析可以看出:
最大流的值 ≤ \leq ≤LP松弛的最小割问题的最优解 ≤ \leq ≤最小割的容量
而根据最大流最小割定理,通过一个网络的最大流的值就等于最小割的容量。即上面公式全部取等号。这种原问题和对偶问题有相同的最优值的情况称为强对偶(strong duality)。
对于LP问题的对偶形式的另一种更加通用的解释是:
对于任意 u u u和 v ≥ 0 v\geq 0 v≥0,
c T x ≥ c T x + u T ( A x − b ) + v T ( G x − h ) : = L ( x , u , v ) c^Tx\geq c^Tx+u^T(Ax-b)+v^T(Gx-h):=L(x,u,v) cTx≥cTx+uT(Ax−b)+vT(Gx−h):=L(x,u,v)
因此如果 C C C表示原问题的可行域, f ∗ f^* f∗表示原问题的最优解,那么对于任意 u u u和 v ≥ 0 v\geq 0 v≥0,
f ∗ ≥ min x ∈ C L ( x , u , v ) ≥ min x L ( x , u , v ) : = g ( u , v ) f^*\geq \min_{x\in C}L(x,u,v)\geq \min_x L(x,u,v):=g(u,v) f∗≥x∈CminL(x,u,v)≥xminL(x,u,v):=g(u,v)
即 g ( u , v ) g(u,v) g(u,v)是 f ∗ f^* f∗的一个下界。其中,
g ( u , v ) = { − b T u − h T v i f c = − A T u − G T v − ∞ o t h e r w i s e g(u,v)=\left\{ \begin{aligned} &-b^Tu-h^Tv &if\ c=-A^Tu-G^Tv\\ &-\infty &otherwise \end{aligned} \right. g(u,v)={−bTu−hTv−∞if c=−ATu−GTvotherwise
我们可以通过最大化 g ( u , v ) g(u,v) g(u,v)来逼近原问题的最优解。