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

总目录

一、 凸优化基础(Convex Optimization basics)

  1. 凸优化基础(Convex Optimization basics)

二、 一阶梯度方法(First-order methods)

  1. 梯度下降(Gradient Descent)
  2. 次梯度(Subgradients)
  3. 近端梯度法(Proximal Gradient Descent)
  4. 随机梯度下降(Stochastic gradient descent)

三、对偶

  1. 线性规划中的对偶(Duality in linear programs)
  2. 凸优化中的对偶(Duality in General Programs)
  3. KKT条件(Karush-Kuhn-Tucker Conditions)
  4. 对偶的应用及拓展(Duality Uses and Correspondences)
  5. 对偶方法(Dual Methods)
  6. 交替方向乘子法(Alternating Direction Method of Multipliers)

Introduction

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

线性规划的下界

假设我们想要寻找一个凸优化问题的下界(lower bound),即寻找 B ≤ min ⁡ x f ( x ) B\leq \min_xf(x) Bminxf(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+y2x,y0

很明显,该问题的下界为 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+y2x,y0

那么对于任意 a , b , c ≥ 0 a,b,c\geq 0 a,b,c0,都有 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+by2a
既然我们找到了该问题的下界,那么最小化该问题就可以转化为最大化该问题的下界。即原问题变为:
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,c0

我们把上面的形式称为原问题(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 cRn,ARm×n,bRm,GRr×n,hRr
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=bGxh

其对偶问题为:
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 tobTuhTvATuGTv=cv0

解释:对于任意 u u u v ≥ 0 v\geq 0 v0
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(Axb)+vT(Gxh)0(ATuGTv)TxbTuhTv

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

例子:最大流最小割(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满足:

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

最大流问题:找到从 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} fREmaxsubject to(s,j)Efsj0fijcijfor all (i,j)E(i,k)Efik=(k,j)Efkjfor all kV\{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(fijcij))+kV\{s,t}xk((i,k)Efik(k,j)Efkj)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,bij0,(i,j)E, and xk,kV\{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)EMij(a,b,x)fij(i,j)Ebijcij

其中 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} bRE,xRVminsubject to(i,j)Ebijcijbij+xjxi0for all (i,j)Eb0, xs=1, xt=0

假设对于所有 i ∈ V i\in V iV 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} bRE,xRVminsubject to(i,j)Ebijcijbijxixjbij,xi,xj{0,1} for all i,j
在这里插入图片描述
从上面的分析可以看出:
最大流的值 ≤ \leq LP松弛的最小割问题的最优解 ≤ \leq 最小割的容量
而根据最大流最小割定理,通过一个网络的最大流的值就等于最小割的容量。即上面公式全部取等号。这种原问题和对偶问题有相同的最优值的情况称为强对偶(strong duality)。

LP对偶的另一种视角

对于LP问题的对偶形式的另一种更加通用的解释是:
对于任意 u u u v ≥ 0 v\geq 0 v0
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) cTxcTx+uT(Axb)+vT(Gxh):=L(x,u,v)

因此如果 C C C表示原问题的可行域, f ∗ f^* f表示原问题的最优解,那么对于任意 u u u v ≥ 0 v\geq 0 v0
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) fxCminL(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)={bTuhTvif c=ATuGTvotherwise

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

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值