凸优化学习笔记 11:对偶原理

前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了。通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问题是很有用的。

1. 拉格朗日函数

考虑凸优化问题
 minimize f0(x) subject to fi(x)0,i=1,,mhi(x)=0,i=1,,p \begin{aligned} \text { minimize } \quad& f_{0}(x)\\ \text { subject to } \quad& f_{i}(x) \leq 0, \quad i=1, \ldots, m\\ &h_{i}(x)=0, \quad i=1, \ldots, p \end{aligned}
假设 xRnx\in R^n,定义域为 D\mathcal{D},最优解为 pp^\star

我们定义**拉格朗日函数(Lagrangian)**为 L:Rn×Rm×RpRL:R^n\times R^m\times R^p\to RdomL=D×Rm×Rp\text{dom}L=\mathcal{D}\times R^m\times R^p
L(x,λ,ν)=f0(x)+λTf(x)+νTh(x) L(x,\lambda,\nu)=f_0(x)+\lambda^Tf(x)+\nu^Th(x)

再取下确界得到拉格朗日对偶函数(Lagrange dual function) g:Rm×RpRg:R^m\times R^p\to R
g(λ,ν)=infxD(f0(x)+λTf(x)+νTh(x)) g(\lambda,\nu)=\inf_{x\in\mathcal{D}}\left(f_0(x)+\lambda^Tf(x)+\nu^Th(x)\right)

这个拉格朗日对偶函数可不得了啦!他有两个很重要的性质:

  1. g(λ,ν)g(\lambda,\nu)凹函数(不论原问题是否为凸问题)
  2. 如果 λ0\lambda\succeq 0,那么 g(λ,ν)pg(\lambda,\nu)\le p^\star(对任意 λ0,ν\lambda\succeq0,\nu 都成立)

Remarks:上面两个性质为什么重要呢?首先由于 g(λ,ν)pg(\lambda,\nu)\le p^\star,这可以给出原问题最优解的一个不平凡下界,这意味着如果原问题很难求解的时候,我们可以转变思路,求解一个新的优化问题:
 maximize g(λ,ν) subject to λ0 \begin{aligned} \text { maximize } \quad& g(\lambda,\nu)\\ \text { subject to } \quad& \lambda\succeq0 \end{aligned}

另一方面,由于不论原函数是否为凸优化问题,新的问题都是凸的,因此可以方便求解。下面举几个例子。

例子 1:原问题为
 maximize xTx subject to Ax=b \begin{aligned} \text { maximize } \quad& x^Tx\\ \text { subject to } \quad& Ax=b \end{aligned}

那么可以很容易得到拉格朗日函数为 L(x,ν)=xTx+νT(Axb)L(x,\nu)=x^Tx+\nu^T(Ax-b),对偶函数为 g(ν)=(1/4)νTAATνbTνg(\nu)=-(1/4)\nu^TAA^T\nu-b^T\nu,也即

pg(ν)p^\star\ge g(\nu)

例子 2:标准形式的线性规划(LP)
 maximize cTx subject to Ax=b,x0 \begin{aligned} \text { maximize } \quad& c^Tx\\ \text { subject to } \quad& Ax=b,\quad x\succeq0 \end{aligned}

按照定义容易得到对偶问题为
 maximize bTν subject to ATν+c0 \begin{aligned} \text { maximize } \quad& -b^T\nu\\ \text { subject to } \quad& A^T\nu+c\succeq0 \end{aligned}

例子 3:原问题为最小化范数
 maximize x subject to Ax=b \begin{aligned} \text { maximize } \quad& \Vert x\Vert\\ \text { subject to } \quad& Ax=b \end{aligned}

对偶函数为
g(ν)=infx(x+νT(bAx))={bTνATν1o.w. g(\nu)=\inf_{x} (\Vert x\Vert+\nu^T(b-Ax)) =\begin{cases}b^T\nu & \Vert A^T\nu\Vert_* \le1 \\ -\infty & o.w.\end{cases}

这个推导过程中用到了共轭函数的知识。实际上上面三个例子都是线性等式约束,这种情况下,我们应用定义推导过程中可以很容易联想到共轭函数。(实际上加上线性不等式约束也可以)

例子 4:(原问题非凸)考虑 Two-way partitioning (不知道怎么翻译了…)
 maximize xTWx subject to xi2=1,i=1,...,n \begin{aligned} \text { maximize } \quad& x^TWx\\ \text { subject to } \quad& x_i^2=1,\quad i=1,...,n \end{aligned}

对偶函数为
g(ν)=infx(xT(W+diag(ν))x)1Tν={1TνW+diag(ν)0 otherwise  \begin{aligned} g(\nu)=\inf_{x}\left( x^{T}(W+\operatorname{diag}(\nu)) x \right)-\mathbf{1}^{T} \nu =\left\{\begin{array}{ll} -\mathbf{1}^{T} \nu & W+\operatorname{diag}(\nu) \succeq 0 \\ -\infty & \text { otherwise } \end{array}\right. \end{aligned}

于是可以给出原问题最优解的下界为 p1Tνp^\star\ge-\mathbf{1}^{T} \nu if W+diag(ν)0W+\operatorname{diag}(\nu) \succeq 0。这个下界是不平凡的,比如可以取 ν=λmin(W)1\nu=-\lambda_{\min}(W)\mathbf{1},可以给出 pnλmin(W)p^\star\ge n\lambda_{\min}(W)

2. 对偶问题

上面已经多次提到**对偶问题(Lagrange dual problem)**了
 maximize g(λ,ν) subject to λ0 \begin{aligned} \text { maximize } \quad& g(\lambda,\nu)\\ \text { subject to } \quad& \lambda\succeq0 \end{aligned}

假如对偶问题的最优解为 d=maxg(λ,ν)d^\star=\max g(\lambda,\nu),那么我们有 pdp^\star \ge d^\star

现在我们当然想知道什么情况下可以取等号,也即 p=dp^\star = d^\star,此时我们只需要求解对偶问题就可以获得原问题的最优解了。在此之前,我们先引入两个概念:强对偶和弱对偶。

弱对偶(weak duality):满足 pdp^\star \ge d^\star,原问题不论是否为凸,弱对偶总是成立;

强对偶(strong duality):满足 p=dp^\star = d^\star,强对偶并不总是成立,如果原问题为凸优化问题,一般情况下都成立。在凸优化问题中,保证强对偶成立的条件为被称为 constraint qualifications

有很多种不同的 constraint qualifications,常用到的一种为 Slater’s constraint qualification(SCQ),其表述为

SCQ:对于凸优化问题
 minimize f0(x) subject to fi(x)0,i=1,,mAx=b \begin{aligned} \text { minimize } \quad& f_{0}(x)\\ \text { subject to } \quad& f_{i}(x) \leq 0, \quad i=1, \ldots, m\\ &Ax=b \end{aligned}

如果存在可行解 xintDx\in\text{int}\mathcal{D},使得
Ax=b,fi(x)<0,,i=1,...,m Ax=b,\quad f_i(x)<0,\quad,i=1,...,m

那么就能保证强对偶性。

Remarks

  • 由于存在线性等式约束,因此实际定义域可能不存在内点,可以将这一条件放松为相对内点 xrelintDx\in\text{relint}\mathcal{D}
  • 如果不等式约束中存在线性不等式,那么他也不必严格小于0。也即如果 fi(x)=CTx+df_i(x)=C^Tx+d,则只需要满足 fi(x)0f_i(x)\le0 即可。

下面再举几个例子,看一看他们的 SCQ 条件是什么。

例子 1:还是考虑线性规划(LP) 或者二次规划(QP)
 minimize cTx( or xTPx) subject to Axb \begin{aligned} \text { minimize } \quad& c^Tx \quad(\text{ or }x^TPx)\\ \text { subject to } \quad& Ax\preceq b \end{aligned}

那么根据 SCQ 可以得到,如果想得到强对偶性,应该有 x, s.t. Axb\exist x, \text{ s.t. } Ax\preceq b

例子 2:(原问题非凸) Trust Region Methods
 minimize xTAx+2bTx subject to xTx1 \begin{aligned} \text { minimize } \quad& x^TAx+2b^Tx\\ \text { subject to } \quad& x^Tx\le1 \end{aligned}

其中 A0A\nsucceq 0,因此原问题不是凸的。他的对偶函数就是
g(λ)=infx(xT(A+λI)x+2bTxλ)={bT(A+λI)bλA+λI0,bR(A+λI)o.w. g(\lambda)=\inf_x\left(x^T\left(A+\lambda I\right)x+2b^Tx-\lambda\right) =\begin{cases}-b^T(A+\lambda I)^\dagger b-\lambda & A+\lambda I\succeq0,b\in \mathcal{R}(A+\lambda I) \\ -\infty & o.w. \end{cases}

注意如果不满足 A+λI0A+\lambda I\succeq0bR(A+λI)b\in \mathcal{R}(A+\lambda I),则 g(λ)g(\lambda)\to-\infty。那么就可以得到对偶问题为
maximizebT(A+λI)bλsubject toA+λI0bR(A+λI) \begin{aligned} \text {maximize} \quad& -b^{T}(A+\lambda I)^{\dagger} b -\lambda\\ \text {subject to} \quad& A+\lambda I \succeq 0\\ &b \in \mathcal{R}(A+\lambda I) \end{aligned}

也可以等价转换为 SDP
maximizetλsubject to[A+λIbbTt]0 \begin{aligned} \text {maximize} \quad& -t-\lambda\\ \text {subject to}\quad& \left[\begin{array}{cc}A+\lambda I & b \\ b^{T} & t\end{array}\right] \succeq 0 \end{aligned}

Remarks:这里用到了舒尔补(Schur complement)的知识。考虑矩阵
X=[ABBTC] X = \left[\begin{array}{cc}A & B \\ B^{T} & C\end{array}\right]

其中 detA0,S=CBTA1B\det A\ne0,S=C-B^TA^{-1}B。那么有以下及条性质:

  • X0    A0,S0X\succ0 \iff A\succ0,S\succ0
  • A0A\succ0,则 X0    S0X\succeq0 \iff S\succeq 0
  • X0    A0,(IAA)B=0,S=CBTAB0X\succeq0 \iff A\succeq0,(I-AA^\dagger)B=0,S=C-B^TA^{\dagger}B\succeq0

关于第 3 条中的第二个要求 (IAA)B=0(I-AA^\dagger)B=0,对 AA 进行奇异值分解,有 A=UΣVA=U\Sigma V,那么我们对任意 vv,有 (IAA)Bv=(IUUT)Bv=0(I-AA^\dagger)Bv=(I-UU^T)Bv=0,而 UUTUU^T 实际上就是向 R(A)\mathcal{R}(A) 的投影矩阵,因此就要求 BvR(A)Bv\in\mathcal{R}(A)

3. SCQ 几何解释

前面给出的是 SCQ 的代数描述,那么如何证明呢?另外如何从几何角度直观理解呢?

首先我们可以考虑最简单的优化问题
 minimize f0(x) subject to f1(x) \begin{aligned} \text { minimize } \quad& f_0(x)\\ \text { subject to } \quad& f_1(x) \end{aligned}

定义集合 G={(f1(x),f0(x))xD}\mathcal{G}=\{(f_1(x),f_0(x))|x\in\mathcal{D}\},那么对偶函数为
g(λ)=inf(u,t)G(t+λu) g(\lambda)=\inf_{(u,t)\in\mathcal{G}}(t+\lambda u)

如果我们画出下面这张图,阴影部分就是可行区域 G\mathcal{G},而 (λ,1)T(\lambda,1)^T 则正好定义了一个支撑超平面,g(λ)g(\lambda) 就等于 tt 轴的交点。通过取不同的 λ\lambda 我们就可以得到不同的支撑超平面,也可以得到不同的 g(λ)g(\lambda),最终会有某一个 λ\lambda^\star 对应的是 d=g(λ)d^\star=g(\lambda^\star)。还需要注意这里的支撑超平面永远不可能是竖直的。

凸优化学习笔记 11:对偶原理 凸优化学习笔记 11:对偶原理
(λ,1)T(\lambda,1)^T 正好定义了一个支撑超平面 每个 λ\lambda 对应一个支撑超平面

那么 pp^\star 体现在哪个点呢?由于对于原优化问题,我们有 f1(x)0f_1(x)\le0,因此体现在这个图里面就是 u0u\le0,也就是上面左图当中的红色区域,而 p=minf0(x)=mintp^\star=\min f_0(x)=\min t

理解了这张图,我们现在开始证明两件事:

  1. 证明弱对偶性,也即 pdp^\star \ge d^\star
  2. 证明强对偶性条件 SCQ。

注:在此之前,我们不妨加入等式约束,也即 g(λ,μ)=inf(u,v,t)G(t+λTu+μTv)g(\lambda,\mu)=\inf_{(u,v,t)\in\mathcal{G}}(t+\lambda^T u+\mu^T v)

弱对偶性的证明:我们有 λ0\lambda\ge0
p=inf{t(u,v,t)G,u0,v=0}inf{t+λTu+μTv(u,v,t)G,u0,v=0}inf{t+λTu+μTv(u,v,t)G}=g(λ,μ) \begin{aligned} p^\star &= \inf\{t|(u,v,t)\in\mathcal{G},u\le0,v=0\} \\ &\ge \inf\{t+\lambda^Tu+\mu^Tv|(u,v,t)\in\mathcal{G},u\le0,v=0\} \\ &\ge \inf\{t+\lambda^Tu+\mu^Tv|(u,v,t)\in\mathcal{G}\} \\ &= g(\lambda,\mu) \end{aligned}

强对偶性条件 SCQ 的证明:由 g(λ,μ)=inf(u,v,t)G(t+λTu+μTv)g(\lambda,\mu)=\inf_{(u,v,t)\in\mathcal{G}}(t+\lambda^T u+\mu^Tv) 可以得到
(λ,μ,1)T(u,v,t)g(λ,μ),(u,v,t)G (\lambda,\mu,1)^T(u,v,t)\ge g(\lambda,\mu),\quad \forall (u,v,t)\in\mathcal{G}

这实际上定义了 G\mathcal{G} 的一个超平面。特别的有 (0,0,p)bdG(0,0,p^\star)\in\text{bd}\mathcal{G},因此也有
(λ,μ,1)T(0,0,p)g(λ,μ) (\lambda,\mu,1)^T(0,0,p^\star)\ge g(\lambda,\mu)

这个不等式可以自然地导出弱对偶性,当“=”成立时则可以导出强对偶性。那么什么时候取等号呢?点 (0,0,p)(0,0,p^\star)支撑点的时候!也就是说

如果在边界点 (0,0,p)(0,0,p^\star) 处存在一个非竖直的支撑超平面,那么我们就可以找到 λ,μ\lambda,\mu 使得上面的等号成立,也就是得到了强对偶性。

注意前面的分析中我们并没有提到 SCQ,那么 SCQ 是如何保证强对偶性的呢?注意 SCQ 要求存在 xDx\in\mathcal{D} 使得 f(x)<0f(x)<0,这也就意味着 G\mathcal{G}u<0u< 0 半平面上有点,因此如果支撑超平面存在的话,就一定不是垂直的。

但这又引出另一个问题,那就是支撑超平面一定存在吗?答案是一定存在,这是由原问题的凸性质决定的。为了证明这一点,我们可以引入一个类似于 epigraph 的概念:
A=G+(R+m×{0}×R+)={(u,v,t) xD,s.t.f(x)u,h(x)=v,f0(x)t} \begin{aligned} \mathcal{A} &= \mathcal{G} + (R^m_+\times \{0\}\times R_+) \\ &= \left\{(u,v,t) |\ \exist x\in\mathcal{D},s.t. f(x)\le u,h(x)=v,f_0(x)\le t\right\} \end{aligned}

由于原优化问题为凸的,可以应用定义证明集合 A\mathcal{A} 也是凸的,同时 (0,0,p)bdA(0,0,p^\star)\in\text{bd}\mathcal{A},那么集合 A\mathcal{A}(0,0,p)(0,0,p^\star) 点就一定存在一个支撑超平面。又由 SCQ 可知这个支撑超平面一定不是竖直的,因此就可以得到强对偶性了。

注:(λ,μ,1)T(u,v,t)g(λ,μ),(u,v,t)A(\lambda,\mu,1)^T(u,v,t)\ge g(\lambda,\mu),\quad \forall (u,v,t)\in\mathcal{A} 也成立。

最后给我的博客打个广告,欢迎光临
https://glooow1024.github.io/
https://glooow.gitee.io/