线性规划中的对偶(Duality in linear programs)

Introduction

对偶(duality)是优化中的一个重要概念,当原问题的最小值很难求解时,我们常常将其变为对偶形式,通过求解对偶问题的最大值,从而得到原问题的最优解。我们从最简单的线性规划问题入手来介绍对偶的概念。

线性规划的下界

假设我们想要寻找一个凸优化问题的下界(lower bound),即寻找Bminxf(x)B\leq \min_xf(x)
以线性规划(LP)问题为例,考虑一个简单的LP问题:
minx,y x+ysubject tox+y2x,y0 \begin{aligned} \min_{x,y}\ x+y\\ subject\ to\quad x+y\geq 2\\ x,y\geq 0 \end{aligned}

很明显,该问题的下界为B=2B=2
那么考虑更一般的形式,如:
minx,y px+qysubject tox+y2x,y0 \begin{aligned} \min_{x,y}\ px+qy\\ subject\ to\quad x+y\geq 2\\ x,y\geq 0 \end{aligned}

那么对于任意a,b,c0a,b,c\geq 0,都有px+qy=(a+b)x+(a+c)y=(ax+ay)+bx+by2apx+qy=(a+b)x+(a+c)y=(ax+ay)+bx+by\geq 2a
既然我们找到了该问题的下界,那么最小化该问题就可以转化为最大化该问题的下界。即原问题变为:
mina,b,c2asubject toa+b=pa+c=qa,b,c0 \begin{aligned} \min_{a,b,c}\quad 2a\\ subject\ to\quad a+b=p\\ a+c=q\\ a,b,c\geq 0 \end{aligned}

我们把上面的形式称为原问题(primal LP)的对偶(dual LP)。注意到对偶变量的数量等于原问题的约束条件数目(这里都为3)。

线性规划的对偶

考虑一般形式的LP问题,给定cRn,ARm×n,bRm,GRr×n,hRrc\in R^n, A\in R^{m\times n}, b\in R^m, G\in R^{r\times n}, h\in R^r
minxcTxsubject toAx=bGxh \begin{aligned} \min_{x}\quad c^Tx\\ subject\ to\quad Ax=b\\ Gx\leq h \end{aligned}

其对偶问题为:
minu,vbTuhTvsubject toATuGTv=cv0 \begin{aligned} \min_{u,v}\quad &-b^Tu-h^Tv\\ subject\ to\quad &-A^Tu-G^Tv=c\\ &v\geq 0\\ \end{aligned}

解释:对于任意uuv0v\geq 0
uT(Axb)+vT(Gxh)0(ATuGTv)TxbTuhTvu^T(Ax-b)+v^T(Gx-h)\leq 0\\ \Leftrightarrow (-A^Tu-G^Tv)^Tx\geq -b^Tu-h^Tv

所以如果令c=ATuGTvc=-A^Tu-G^Tv,那么我们就可以得到原问题的一个下界。

例子:最大流最小割(max flow and min cut)
给定一个图G=(V,E)G=(V,E),定义流(flow)fij,(i,j)Ef_{ij}, (i,j)\in E满足:

  • fij0,(i,j)Ef_{ij}\geq 0, (i,j)\in E (所有流都是正的)
  • fijcij,(i,j)Ef_{ij}\leq c_{ij}, (i,j)\in E (所有流都是有限的)
  • (i,k)Efik=(k,j)Efkj,kVs,t\sum_{(i,k)\in E}f_{ik}=\sum_{(k,j)\in E}f_{kj}, k\in V\\{s,t} (除了始末节点外,流入某个节点的所有流等于流出该节点的所有流)

最大流问题:找到从ss流向tt的所有流的最大值。这是一个LP问题:
maxfRE(s,j)Efsjsubject to0fijcijfor all (i,j)E(i,k)Efik=(k,j)Efkjfor all kV\{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}

求其对偶形式:
(i.j)E(aijfij+bij(fijcij))+kV\{s,t}xk((i,k)Efik(k,j)Efkj)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

for any aij,bij0,(i,j)E, and xk,kV\{s,t}for\ any\ a_{ij},b_{ij}\geq 0, (i,j)\in E,\ and\ x_k,k\in V\backslash\{s,t\}

重新整理可得:
(i,j)EMij(a,b,x)fij(i,j)Ebijcij\sum_{(i,j)\in E}M_{ij}(a,b,x)f_{ij}\leq \sum_{(i,j)\in E}b_{ij}c_{ij}

其中Mij(a,b,x)M_{ij}(a,b,x)表示所有与fijf_{ij}相乘的项。
那么对偶问题可以表示为:
minbRE,xRV(i,j)Ebijcijsubject tobij+xjxi0for all (i,j)Eb0, xs=1, xt=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}

假设对于所有iVi\in Vxix_i只能取0或1,那么只有在xi=1x_i=1xj=0x_j=0时,bij=1b_{ij}=1,否则为0。那么目标函数(i,j)Ebijcij\sum_{(i,j)\in E}b_{ij}c_{ij}就是在求解有哪些路径会被切断。因此原最大流问题就变成了线性规划松弛的最小割(min cut)问题:
minbRE,xRV(i,j)Ebijcijsubject tobijxixjbij,xi,xj{0,1} for all 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}
在这里插入图片描述
从上面的分析可以看出:
最大流的值\leqLP松弛的最小割问题的最优解\leq最小割的容量
而根据最大流最小割定理,通过一个网络的最大流的值就等于最小割的容量。即上面公式全部取等号。这种原问题和对偶问题有相同的最优值的情况称为强对偶(strong duality)。

LP对偶的另一种视角

对于LP问题的对偶形式的另一种更加通用的解释是:
对于任意uuv0v\geq 0
cTxcTx+uT(Axb)+vT(Gxh):=L(x,u,v)c^Tx\geq c^Tx+u^T(Ax-b)+v^T(Gx-h):=L(x,u,v)

因此如果CC表示原问题的可行域,ff^*表示原问题的最优解,那么对于任意uuv0v\geq 0
fminxCL(x,u,v)minxL(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)

g(u,v)g(u,v)ff^*的一个下界。其中,
g(u,v)={bTuhTvif c=ATuGTvotherwise g(u,v)=\left\{ \begin{aligned} &-b^Tu-h^Tv &if\ c=-A^Tu-G^Tv\\ &-\infty &otherwise \end{aligned} \right.

我们可以通过最大化g(u,v)g(u,v)来逼近原问题的最优解。

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