本讲我们将介绍优化问题中的另一个重要概念——对偶性(duality)。利用对偶性可以将优化问题转化为对偶问题,不仅可以为原始问题的最优值提供下界,还能将非凸问题的求解转化为凸问题的求解。

对偶性(Duality)

拉格朗日函数(Lagrangian)

  • 在阐述对偶性理论之前,我们需要先定义拉格朗日函数。考虑下述原始优化问题: P:minxRnf0(x)s.t.fi(x)0,i=1,2,,mhj(x)=0,j=1,2,,p\begin{aligned} \mathcal{P}:\quad \min_{\vec{x}\in\R^n}\quad &f_0(\vec{x})\\ \text{s.t.}\quad &f_i(\vec{x})\leq 0,\quad i=1,2,\cdots,m\\ &h_j(\vec{x})=0,\quad j=1,2,\cdots,p \end{aligned} 我们希望将约束条件融入进目标函数中。对此,设约束条件对应的可行域为Ω\Omega,我们考虑引入示性函数: 1{C(x)}={0,C(x)为真+,C(x)为假\mathbf{1}_{\{C(\vec{x})\}}=\begin{cases} 0, &C(\vec{x})\text{为真}\\ +\infty,&C(\vec{x})\text{为假} \end{cases} 那么目标函数就可以转化为 minxΩf0(x)=minxRn{f0(x)+1{xΩ}}=minxRn{f0(x)+i=1m1{fi(x)0}+j=1p1{hj(x)=0}}.\begin{aligned} \min_{\vec{x} \in \Omega} f_0(\vec{x})&= \min_{\vec{x} \in \mathbb{R}^n} \bigl\{ f_0(\vec{x}) + \mathbf{1}_{\{\vec{x} \in \Omega\}} \bigr\} \\ &= \min_{\vec{x} \in \mathbb{R}^n} \left\{ f_0(\vec{x}) + \sum_{i=1}^m \mathbf{1}_{\{f_i(\vec{x}) \le 0\}} + \sum_{j=1}^p \mathbf{1}_{\{h_j(\vec{x}) = 0\}}\right\}. \end{aligned} 将转化后的目标函数记作F0(x)F_0(\vec{x}),那么当x∉Ω\vec{x}\not\in\Omega时,F0(x)=F_0(\vec{x})=\infty
  • 这样我们就将约束优化问题转化为了无约束优化问题。然而,由于示性函数不可微,我们仍然无法直接使用无约束优化方法(如梯度下降)求解。于是我们考虑使用可微函数近似表示示性函数。具体而言,我们使用以下转换: 1{fi(x)0}=maxλiR+λifi(x)1{hj(x)=0}=maxνjRνjhj(x)\begin{aligned} \mathbf{1}_{\{f_i(\vec{x}) \le 0\}}&=\max_{\lambda_i\in\R^+}\lambda_if_i(\vec{x})\\ \mathbf{1}_{\{h_j(\vec{x}) = 0\}}&=\max_{\nu_j\in\R}\nu_jh_j(\vec{x}) \end{aligned} 为什么这个转换成立呢?以第一个式子为例:若fi(x)>0f_i(\vec{x})>0,因为λifi(x)\lambda_i f_i(\vec{x})要尽量大,所以λi\lambda_i会趋向++\infty;若fi(x)0f_i(\vec{x})\leq 0,要让λifi(x)\lambda_if_i(\vec{x})尽量大,λi\lambda_i最终会取00。【第二个式子同理】
    • 这样我们就可以将上述问题进一步转化为 minxΩf0(x)=minxRn{f0(x)+i=1mmaxλiR+λifi(x)+j=1pmaxνjRνjhj(x)}=minxRn{f0(x)+maxλR+mi=1mλifi(x)+maxνRpj=1pνjhj(x)}=minxRnmaxλR+mνRp{f0(x)+i=1mλifi(x)+j=1pνjhj(x)}.\begin{aligned} \min_{\vec{x} \in \Omega} f_0(\vec{x})&= \min_{\vec{x} \in \mathbb{R}^n} \left\{ f_0(\vec{x}) + \sum_{i=1}^m \max_{\lambda_i \in \mathbb{R}_+} \lambda_i f_i(\vec{x}) + \sum_{j=1}^p \max_{\nu_j \in \mathbb{R}} \nu_j h_j(\vec{x}) \right\} \\ &= \min_{\vec{x} \in \mathbb{R}^n} \left\{ f_0(\vec{x}) + \max_{\vec{\lambda} \in \mathbb{R}_+^m} \sum_{i=1}^m \lambda_i f_i(\vec{x}) + \max_{\vec{\nu} \in \mathbb{R}^p} \sum_{j=1}^p \nu_j h_j(\vec{x}) \right\} \\ &= \min_{\vec{x} \in \mathbb{R}^n} \max_{\substack{\vec{\lambda} \in \mathbb{R}_+^m\\[3pt]\vec{\nu} \in \mathbb{R}^p}} \left\{ f_0(\vec{x}) + \sum_{i=1}^m \lambda_i f_i(\vec{x}) + \sum_{j=1}^p \nu_j h_j(\vec{x}) \right\}.\\ \end{aligned} 这便得到了拉格朗日函数L:Rn×Rm×RpRL:\R^n\times\R^m\times\R^p\to\RL(x,λ,ν)=f0(x)+i=1mλifi(x)+j=1pνjhj(x)L(\vec{x},\vec{\lambda},\vec{\nu})=f_0(\vec{x}) + \sum_{i=1}^m \lambda_i f_i(\vec{x}) + \sum_{j=1}^p \nu_j h_j(\vec{x}) 其中λi,νj\lambda_i,\nu_j也称为拉格朗日乘子。
    • 拉格朗日函数相比原来带指示函数的目标函数更容易处理(虽然增加了两个优化参数,稍后我们会介绍如何处理)。实际上,拉格朗日乘子的引入相当于对超出约束的解进行惩罚,但相比示性函数这种“硬边界”更加柔和。
  • 拉格朗日函数具有下述性质:对任意给定xRn\vec{x}\in\R^n(λ,ν)(\vec{\lambda},\vec{\nu})L(x,λ,ν)L(\vec{x},\vec{\lambda},\vec{\nu})的函数是仿射函数,进而也是凹函数。【这会在后续对偶性理论中起到重要作用】

btw,关于拉格朗日函数,也可以参考国内《数学分析》或类似课程的多元微积分条件极值相关内容。

弱对偶性(Weak Duality)

  • 我们对对偶性的讨论从下述拉格朗日函数优化问题开始: p=minxRnmaxλR+mνRpL(x,λ,ν)p^*=\min_{\vec{x} \in \mathbb{R}^n} \max_{\substack{\vec{\lambda} \in \mathbb{R}_+^m\\[3pt]\vec{\nu} \in \mathbb{R}^p}}L(\vec{x},\vec{\lambda},\vec{\nu}) 将上式中的min\minmax\max对调,就得到了对偶问题形式: d=maxλR+mνRpminxRnL(x,λ,ν)d^*=\max_{\substack{\vec{\lambda} \in \mathbb{R}_+^m\\[3pt]\vec{\nu} \in \mathbb{R}^p}}\min_{\vec{x} \in \mathbb{R}^n}L(\vec{x},\vec{\lambda},\vec{\nu}) 其正式定义如下:考虑上述原始优化问题P\mathcal{P},那么它的对偶问题D\mathcal{D}定义为 D:d=maxλRmνRp  g(λ,ν)s.t.λi0,i=1,2,,m\begin{aligned} \mathcal{D}:\quad d^*=\max_{\substack{\vec{\lambda} \in \mathbb{R}^m\\[3pt]\vec{\nu} \in \mathbb{R}^p}}\;&g(\vec{\lambda},\vec{\nu})\\ \text{s.t.}\quad &\lambda_i\geq 0,\quad i=1,2,\cdots,m \end{aligned} 其中g:R+m×RpRg:\R_+^m\times\R^p\to\R为对偶函数,表达式为g(λ,ν)=minxRnL(x,λ,ν)g(\vec{\lambda},\vec{\nu})=\displaystyle\min_{\vec{x} \in \mathbb{R}^n}L(\vec{x},\vec{\lambda},\vec{\nu})
    • 由此可知gg函数的解可由一个无约束优化问题得到,且由上述拉格朗日函数性质可知,gg函数一定是凹函数(gg可看作一系列拉格朗日函数的逐点最小值)。
    • 也就是说,无论原始问题P\mathcal{P}的形式如何,对偶问题D\mathcal{D}一定是一个凸优化问题。
  • 接下来我们将讨论对偶问题的解与原始问题解的关系,以说明将原始问题转化为对偶问题求解的策略是可行的。
    • 具体而言,函数f0,gf_0,g与最优解p,dp^*,d^*之间具有如下不等式关系:设xΩ,λR+m,νRp\vec{x}\in\Omega,\vec{\lambda}\in\R^m_+,\vec{\nu}\in\R^p,那么有 f0(x)p,  g(λ,v)df0(x)L(x,λ,v)g(λ,v)f0(x)d,  g(λ,v)p\begin{align} &f_0(\vec{x}) \geq p^*,\; g(\vec{\lambda}, \vec{v}) \leq d^* \tag{a} \\ &f_0(\vec{x}) \geq L(\vec{x}, \vec{\lambda}, \vec{v}) \geq g(\vec{\lambda}, \vec{v}) \tag{b} \\ &f_0(\vec{x}) \geq d^*,\; g(\vec{\lambda}, \vec{v}) \leq p^* \tag{c} \end{align} 推导如下: p=minxΩf0(x)f0(x)d=maxλR+mνRpg(λ,ν)g(λ,ν)g(λ,v)=minxΩL(x,λ,v)L(x,λ,v)maxλR+mνRpL(x,λ,v)=f0(x)f0(x)g(λ,ν)λR+m,  νRpf0(x)maxλR+mg(λ,ν)=df0(x)g(λ,ν)xΩp=minxΩf0(x)g(λ,ν).\begin{align*} p^* &= \min_{\vec{x}' \in \Omega} f_0(\vec{x}') \leq f_0(\vec{x}) \\ d^* &= \max_{\substack{\vec{\lambda}' \in \mathbb{R}^m_+\\[3pt]\vec{\nu}' \in \mathbb{R}^p}} g(\vec{\lambda}', \vec{\nu}') \geq g(\vec{\lambda}, \vec{\nu}) \tag{a}\\ g(\vec{\lambda}, \vec{v}) &= \min_{\vec{x}' \in \Omega} L(\vec{x}', \vec{\lambda}, \vec{v}) \leq L(\vec{x}, \vec{\lambda}, \vec{v})\leq \max_{\substack{\vec{\lambda}' \in \mathbb{R}^m_+\\[3pt]\vec{\nu}' \in \mathbb{R}^p}} L(\vec{x}, \vec{\lambda}', \vec{v}') =f_0(\vec{x}) \tag{b}\\ f_0(\vec{x}) &\geq g(\vec{\lambda}, \vec{\nu}) \quad \forall \vec{\lambda} \in \mathbb{R}_+^m,\; \forall \vec{\nu} \in \mathbb{R}^p \Longrightarrow f_0(\vec{x}) \geq \max_{\vec{\lambda}' \in \mathbb{R}_+^m} g(\vec{\lambda}', \vec{\nu}') = d^* \\ f_0(\vec{x}) &\geq g(\vec{\lambda}, \vec{\nu}) \quad \forall \vec{x} \in \Omega \Longrightarrow p^* = \min_{\vec{x}' \in \Omega} f_0(\vec{x}') \geq g(\vec{\lambda}, \vec{\nu}). \tag{c} \end{align*}
  • 由上述关系可知,g(λ,ν){p,d}f0(x)g(\vec{\lambda}, \vec{\nu})\leq\{p^*,d^*\}\leq f_0(\vec{x}),然而p,dp^*,d^*之间的大小关系仍未确定。实际上,它们之间的关系与对偶性本身密切相关。具体而言:
    1. 若上述问题中pdp^*\geq d^*,我们称其满足弱对偶性(weak duality);
    2. 若上述问题中p=dp^*= d^*,我们称其满足强对偶性(strong duality);
    3. 定义pdp^*-d^*为对偶间隙(duality gap)。
  • 接下来我们给出一个重要命题:对于任意优化问题,弱对偶性总是成立,即对偶间隙一定非负。
    • 实际上这一命题可看作下述极大极小不等式(minimax inequality)的一个推论:设XXYY为任意集合,F:X×YRF:X\times Y\to\R为任意函数,那么有 minxXmaxyYF(x,y)maxyYminxXF(x,y)\min_{x\in X}\max_{y\in Y}F(x,y)\geq \max_{y\in Y}\min_{x\in X}F(x,y) 简单证明如下:因为 F(x,y)minxXF(x,y)F(x,y)\geq \min_{x'\in X}F(x',y) 两边对yy取最大值得 maxyYF(x,y)maxyYminxXF(x,y)\max_{y\in Y}F(x,y)\geq \max_{y\in Y}\min_{x\in X}F(x,y) 由于上式右边为常数,故对左侧关于xx取最小值不等号仍然成立,原命题得证。

      注:上式两边对yy取最大值时取的yy可能不同,但不影响不等式结果。

    • 那么如何理解这个不等式呢?可以用玩家博弈的先后手理解:
      • 设玩家XX希望对函数FF最小化,而玩家YY希望对FF最大化。
      • 他们分别选择对变量xxyy操作,而min\minmax\max的先后顺序对应了先后手(靠左侧为先手,靠右侧为后手,因为函数变量从左到右进行固定)。
      • 对于玩家XX,选择后手(先max\maxmin\min)比先手(先min\minmax\max)得到的结果更好(即函数更小)。【玩家YY视角同理】
  • 那么如何利用弱对偶性呢?根据上述推导,我们可得对于任意xΩ,(λ,ν)R+m×Rp\vec{x}\in\Omega,(\vec{\lambda}, \vec{\nu})\in\R^m_+\times\R^p,有 f0(x)pdg(λ,ν)    f0(x)g(λ,ν)f0(x)p.f_0(\vec{x}) \geq p^* \geq d^* \geq g(\vec{\lambda}, \vec{\nu}) \implies f_0(\vec{x}) - g(\vec{\lambda}, \vec{\nu}) \geq f_0(\vec{x}) - p^*. 于是,我们就能通过解函数与对偶函数之差得到解与最优解之间差距的上界。这可以作为优化算法迭代停止的依据。【这也被称作最优性证书(certificate of optimality)】

强对偶性(Strong Duality)

  • 上面介绍的弱对偶性虽然具有普遍性,但只依赖弱对偶性无法精确计算最优解。此时我们就需要借助强对偶性,虽然它并不总是成立。
  • 强对偶性成立的条件有很多,下面我们介绍一种简单且广泛适用的条件:Slater条件。其具体表述如下:
    • 设原始问题的可行域为Ω\Omega,考虑原始问题约束条件中的函数f1,,fmf_1,\cdots,f_m(均为凸函数)和h1,,hph_1,\cdots,h_p(均为仿射函数)。如果存在xrelint(Ω)\vec{x}\in\text{relint}(\Omega)(即严格可行),使得对于任意fi,i{1,2,,m}f_i,i\in\{1,2,\cdots,m\},当fif_i为仿射函数时fi(x)0f_i(\vec{x})\leq 0,不是仿射函数时fi(x)<0f_i(\vec{x})< 0,那么就称原始问题P\mathcal{P}具有强对偶性,即对偶间隙为00

      注:这个条件实际上是精细Slater条件,与标准Slater条件的唯一区别在于后者对所有不等式约束函数都要求严格小于00

    • 关于Slater条件的证明在此作略,可参见Boyd的《凸优化》5.3.2节或知乎文章。【使用了分离超平面定理】
    • 从直观上理解,Slater条件的本质是如果可行域的内部具有一个严格可行解,那么强对偶性就成立。
  • 下面我们给出两个用对偶问题求解原问题最优解的具体示例:
    1. 最小范数问题(可参见Chapter 1):原始问题形式为

      P:p=minxRnx22s.t.Ax=y\begin{aligned} \mathcal{P}:\quad p^*=\min_{\vec{x}\in\R^n}\|\vec{x}\|_2^2\\ \text{s.t.}\quad A\vec{x}=\vec{y} \end{aligned}

      其中ARp×nA\in\R^{p\times n}。由于问题只有等式约束,因此拉格朗日函数为

      L(x,ν)=x22+j=1pνj(Axy)j=x22+ν(Axy).L(\vec{x},\vec{\nu})=\|\vec{x}\|_2^2+\sum_{j=1}^p\nu_j(A\vec{x}-\vec{y})_j=\|\vec{x}\|_2^2+\vec{\nu}^\top(A\vec{x}-\vec{y}).

      从而得到对偶函数

      g(ν)=minxRnL(x,ν)=minxRn{x22+ν(Axy)}g(\vec{\nu})=\min_{\vec{x}\in\R^n}L(\vec{x},\vec{\nu})=\min_{\vec{x}\in\R^n}\left\{\|\vec{x}\|_2^2+\vec{\nu}^\top(A\vec{x}-\vec{y})\right\}

      因为拉格朗日函数为凸函数,所以直接将其对x\vec{x}求偏导取零值:

      xL(x,ν)=2x+Aν=0x=12Aν\nabla_{\vec{x}}L(\vec{x},\vec{\nu})=2\vec{x}+A^\top\vec{\nu}=\vec{0}\Longrightarrow \vec{x}^*=-\frac{1}{2}A^\top\vec{\nu}

      代回拉格朗日函数得到

      g(ν)=(12Aν)212νAAννy=14νAAννyg(\nu)=\left(-\frac{1}{2}A^\top\vec{\nu}\right)^2-\frac{1}{2}\vec{\nu}^\top AA^\top\vec{\nu}-\vec{\nu}^\top\vec{y}=-\frac{1}{4}\vec{\nu}^\top AA^\top\vec{\nu}-\vec{\nu}^\top\vec{y}

      于是对偶问题即为

      d=maxνRp{14νAAννy}=minνRp{14νAAν+νy}d^*=\max_{\nu\in\R^p}\left\{-\frac{1}{4}\vec{\nu}^\top AA^\top\vec{\nu}-\vec{\nu}^\top\vec{y}\right\}=\min_{\nu\in\R^p}\left\{\frac{1}{4}\vec{\nu}^\top AA^\top\vec{\nu}+\vec{\nu}^\top\vec{y}\right\}

      这同样是一个凸优化问题,依旧使用求偏导取零点得到

      g(ν)=12AAν+yν=2(AA)1y\nabla g(\vec{\nu})=\frac{1}{2}AA^\top\vec{\nu}+\vec{y}\Longrightarrow \vec{\nu}^*=-2(AA^\top)^{-1}\vec{y}

      由于原始问题是凸优化问题且约束函数是仿射函数,因此只要约束条件Ax=yA\vec{x}=\vec{y}有解,问题就满足强对偶性。此时

      x=12Aν=A(AA)1y\vec{x}^*=-\frac{1}{2}A^\top\vec{\nu}^*=A(AA^\top)^{-1}\vec{y}

      便是原始问题的全局最优解。

    2. 影子价格问题(拉格朗日乘子的经济学解释):假设我们有两种原料AABB,分别有200200千克和300300千克,将它们混合制作成商品,有两种方案:

      • 44千克原料AA11千克原料BB,加工成一份价值2020的商品;
      • 22千克原料AA33千克原料BB,加工成一份价值1515的商品;

      我们希望总销售额最大。具体而言,假设两种商品分别制作q1q_1份和q2q_2份,对应的优化问题即为

      p=maxq1,q2R20q1+15q2s.t.4q1+2q2200q1+3q2300q10q20.\begin{aligned} p^* = \max_{q_1, q_2 \in \mathbb{R}} \quad & 20q_1 + 15q_2 \\ \text{s.t.} \quad & 4q_1 + 2q_2 \leq 200 \\ & q_1 + 3q_2 \leq 300 \\ & q_1 \geq 0 \\ & q_2 \geq 0. \end{aligned}

      这实际上可以看作一个线性规划(linear programming)问题(虽然最终参数解一般取整数)。我们考虑包含前两个约束条件的拉格朗日函数

      maxq1,q2R+{20q1+15q2+λ1(2004q12q2)+λ2(300q13q2)}=maxq1,q2R+{(204λ1λ2)q1+(152λ13λ2)q2+200λ1+300λ2}.\begin{aligned} \max_{q_1, q_2 \in \mathbb{R}_+} \bigl\{ 20q_1 + 15q_2 + \lambda_1 (200 - 4q_1 - 2q_2) + \lambda_2 (300 - q_1 - 3q_2) \bigr\} \\ = \max_{q_1, q_2 \in \mathbb{R}_+} \bigl\{ (20 - 4\lambda_1 - \lambda_2)q_1 + (15 - 2\lambda_1 - 3\lambda_2)q_2 + 200\lambda_1 + 300\lambda_2 \bigr\}. \end{aligned}

      其中λ1\lambda_1λ2\lambda_2可以理解为11千克原料AABB的“内部估值”。接着我们可以再考虑下述原料总估值的最小化问题:

      minλ1,λ2R+200λ1+300λ2s.t.204λ1λ20152λ13λ20\begin{aligned} \min_{\lambda_1,\lambda_2\in\R_+}&200\lambda_1+300\lambda_2\\ \text{s.t.}\quad &20 - 4\lambda_1 - \lambda_2\leq 0\\ &15 - 2\lambda_1 - 3\lambda_2\leq 0 \end{aligned}

      其中约束条件可以理解为每种商品的售价都不超过其所耗原料的内部估值。

      • 实际上,这也是上述优化问题的对偶问题,且显然满足强对偶性条件。【给全部原料给出的最小总估值,恰好等于原问题能够达到的最大总销售额】
      • λi\lambda_i也被称为影子价格(shadow prices),反映了我们愿意为违反约束条件付出的代价。

Karush-Kuhn-Tucker(KKT)条件

下面我们再介绍另一个与强对偶性有关的重要条件,即KKT条件。其具体形式如下:

  • (x,λ,v)Rn×Rm×Rp(\vec{x}, \vec{\lambda}, \vec{v}) \in \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R}^p为决策变量和拉格朗日乘子,目标函数f0f_0以及约束函数f1,,fm,h1,,hpf_1, \ldots, f_m, h_1, \ldots, h_p均可微。若(x,λ,v)(\vec{x}, \vec{\lambda}, \vec{v})满足:

    1. x\vec{x}为原始问题P\mathcal{P}的可行解,即 fi(x)0,i=1,2,,mhj(x)=0,j=1,2,,p\begin{aligned} f_i(\vec{x}) \leq 0, \quad i=1,2,\cdots,m\\ h_j(\vec{x}) = 0, \quad j=1,2,\cdots,p \end{aligned}
    2. (λ,v)(\vec{\lambda}, \vec{v})为对偶问题D\mathcal{D}的可行解,即 λi0,i=1,2,,m\vec{\lambda}_i \geq 0, \quad i=1,2,\cdots,m
    3. 互补松弛条件:【实际上,这个条件可理解为筛选出活跃约束(将非活跃约束乘子取00)】 λifi(x)=0,i=1,2,,m\vec{\lambda}_i f_i(\vec{x}) = 0, \quad i=1,2,\cdots,m
    4. 平稳性(也称一阶条件): 0=xL(x,λ,v)=f(x)+i=1mλifi(x)+j=1pvjhj(x)\vec{0} = \nabla_{\vec{x}} L(\vec{x}, \vec{\lambda}, \vec{v}) = \nabla f(\vec{x}) + \sum_{i=1}^m \vec{\lambda}_i \nabla f_i(\vec{x}) + \sum_{j=1}^p \vec{v}_j \nabla h_j(\vec{x})

    则称其满足KKT条件。

  • 实际上,如果原始问题P\mathcal{P}满足强对偶性,且对应的目标函数与约束函数可微,(x,λ,ν)(\vec{x}^*,\vec{\lambda}^*,\vec{\nu}^*)为原始问题与对偶问题的最优解,那么它就满足KKT条件。【KKT条件是强对偶性的必要条件】

    • 简单证明:由上述前提可知

      λifi(x)0,i=1,2,,mνjhj(x)=0,j=1,2,,p\begin{aligned} \lambda_i^*f_i(\vec{x}^*)\leq 0,\quad i=1,2,\cdots,m\\ \nu_j^*h_j(\vec{x}^*)=0,\quad j=1,2,\cdots,p \end{aligned}

      而根据之前对弱对偶性的推导可知:

      d=g(λ,ν)=minxRnL(x,λ,ν)L(x,λ,ν)=f0(x)+i=1mλifi(x)+j=1pνjhj(x)f0(x)=pd^* = g(\vec{\lambda}^*, \vec{\nu}^*) = \min_{\vec{x} \in \mathbb{R}^n} L(\vec{x}, \vec{\lambda}^*, \vec{\nu}^*) \leq L(\vec{x}^*, \vec{\lambda}^*, \vec{\nu}^*) = f_0(\vec{x}^*) + \sum_{i=1}^m \lambda_i^* f_i(\vec{x}^*) + \sum_{j=1}^p \nu_j^* h_j(\vec{x}^*) \leq f_0(\vec{x}^*) = p^*

      又根据强对偶性,d=pd^*=p^*,故中间所有不等号都可去等。于是:

      • 第一个不等号取等:x\vec{x}^*为拉格朗日函数关于x\vec{x}的最小值点,故xL(x,λ,v)=0\nabla_{\vec{x}} L(\vec{x}, \vec{\lambda}, \vec{v})=\vec{0}
      • 第二个不等号去等:i=1mλifi(x)\displaystyle\sum_{i=1}^m \lambda_i^* f_i(\vec{x}^*)必须为00,因此λifi(x)\lambda_i^* f_i(\vec{x}^*)对任意ii均成立(即互补松弛条件)。

      而前两个条件显然成立,因此KKT条件成立。

  • 那么KKT条件能否推出强对偶性呢?在凸性条件下是可以的。具体而言,设原始问题P\mathcal{P}中目标函数f0f_0与约束函数f1,,fm,h1,,hpf_1,\cdots,f_m,h_1,\cdots,h_p均可微,f0,f1,,fmf_0,f_1,\cdots,f_m为凸函数,h1,,hph_1,\cdots,h_p为仿射函数,如果(x~,λ~,ν~)(\tilde{\vec{x}},\tilde{\vec{\lambda}},\tilde{\vec{\nu}})满足KKT条件,那么原始问题就是凸优化问题,满足强对偶性,且(x~,λ~,ν~)(\tilde{\vec{x}},\tilde{\vec{\lambda}},\tilde{\vec{\nu}})就是原始问题和对偶问题的最优解。

    • 也就是说,对于凸优化问题,KKT条件与强对偶性是相互等价的。【同时满足KKT条件的解一定是最优解】
  • 综合上述推导,我们就能得到利用KKT条件解决凸优化问题的策略:

    1. 设原始问题为P\mathcal{P},验证P\mathcal{P}的目标函数与约束条件函数均满足凸性条件且可微;
    2. 验证P\mathcal{P}满足Slater条件或P\mathcal{P}D\mathcal{D}满足强对偶性;
    3. 计算P\mathcal{P}D\mathcal{D}对应的KKT条件,由此得到最优解参数。

    然而,由KKT条件构造方程组得到的解不一定就是全局最优解。此时可以考虑对原始问题进行简化(如引入松弛变量),或者生成多个候选解,再代回KKT条件进行验证。

锥对偶性(Cone Duality)

拉格朗日函数与对偶性还可以推广到约束条件为广义不等式的优化问题中。广义不等式的定义如下:

  • KRnK\subseteq\R^n为一个正常锥,int(K)\text{int}(K)KK的内部。那么对于任意两个向量u,vRn\vec{u},\vec{v}\in\R^n,它们之间的关系可以用KK诱导出的不等关系K\succ_KK\succeq_K)表示。具体而言,

    • uvK\vec{u}-\vec{v}\in K,则称uKv\vec{u}\succeq_K\vec{v}vKu\vec{v}\preceq_K\vec{u}
    • uvint(K)\vec{u}-\vec{v}\in \text{int}(K),则称uKv\vec{u}\succ_K\vec{v}vKu\vec{v}\prec_K\vec{u}

    特别地,如果代入0\vec{0}向量,可以得到:

    uKuK0vKvK0uint(K)uK0vint(K)vK0\begin{aligned} \vec{u}\in K\Longrightarrow \vec{u}\succeq_K\vec{0}\\ -\vec{v}\in K\Longrightarrow \vec{v}\preceq_K\vec{0}\\ \vec{u}\in \text{int}(K)\Longrightarrow \vec{u}\succ_K\vec{0}\\ -\vec{v}\in \text{int}(K)\Longrightarrow \vec{v}\prec_K\vec{0}\\ \end{aligned}

    注:当uv∉K\vec{u}-\vec{v}\not\in K时,u,v\vec{u},\vec{v}之间就无法用KK诱导的不等关系表述。

  • 实际上,之前我们已经接触过一些广义不等式。比如,在定义半正定矩阵的时候,使用A0A\succeq 0就是由正常锥S+n\mathbb{S}_+^n诱导出的关系。

  • 对之前的优化问题,我们也可以用广义不等式简化表示。比如,对于下述优化问题

    minxRnf0(x)s.t.fi(x)0,i=1,,m.\begin{aligned} \min_{\vec{x} \in \mathbb{R}^n} \quad & f_0(\vec{x}) \\ \text{s.t.} \quad & f_i(\vec{x}) \leq 0, \quad i =1, \cdots, m. \end{aligned}

    考虑正常锥K=R+m={xRmxi0,i=1,,m}K=\R^m_+=\{\vec{x}\in\R^m\mid x_i\geq 0,i=1,\cdots,m\},定义函数f:RnRm\vec{f}:\R^n\to\R^m

    f(x)=[f1(x)fm(x)]\vec{f}(\vec{x})=\begin{bmatrix}f_1(\vec{x})\\\vdots\\f_m(\vec{x})\end{bmatrix}

    那么这个优化问题可以简写为

    minxRnf0(x)s.t.f(x)K0,i=1,,m.\begin{aligned} \min_{\vec{x} \in \mathbb{R}^n} \quad & f_0(\vec{x}) \\ \text{s.t.} \quad & \vec{f}(\vec{x}) \preceq_K \vec{0}, \quad i =1, \cdots, m. \end{aligned}
  • 广义不等式具有传递性:对于指定正常锥KK,若v1Kv2\vec{v}_1\succeq_K\vec{v}_2v2Kv3\vec{v}_2\succeq_K\vec{v}_3,那么有v1Kv3\vec{v}_1\succeq_K\vec{v}_3。(其他不等号同理)

  • 利用上述定义与推导,我们可以得到广义约束优化问题的形式:

    • 设目标函数f0:RnRf_0:\R^n\to\Rfi:RnRdi,i=1,2,,m\vec{f}_i:\R^n\to\R^{d_i},i=1,2,\cdots,m为向量值不等式约束函数,KRdiK\subseteq\R^{d_i}为正常锥(也被称为约束锥),记d=i=1mdi\displaystyle d=\sum_{i=1}^md_i。另设hj:RnR,j=1,,ph_j:\R^n\to\R,j=1,\cdots,p为等式约束函数。那么我们就得到广义约束优化问题: P:p=minxRnf0(x)s.t.fi(x)Ki0,i=1,,mhj(x)=0,j=1,,p.\begin{aligned} \mathcal{P}: \quad p^* = \min_{\vec{x} \in \mathbb{R}^n} \quad & f_0(\vec{x}) \\ \text{s.t.} \quad & \vec{f}_i(\vec{x}) \preceq_{K_i} \vec{0}, \quad i=1,\cdots,m \\ & h_j(\vec{x}) = 0, \quad j =1,\cdots,p. \end{aligned}
  • 下面对这个优化问题的对偶问题进行推导。首先引入示性函数:

    p=minxRn[f0(x)+i=1m1{fi(x)Ki0}+j=1p1{hj(x)=0}].p^* = \min_{\vec{x} \in \mathbb{R}^n} \left[ f_0(\vec{x}) + \sum_{i=1}^m \mathbf{1}_{\{\vec{f}_i(\vec{x}) \preceq_{K_i} \vec{0}\}} + \sum_{j=1}^p \mathbf{1}_{\{h_j(\vec{x}) = 0\}}\right].

    尝试将指示函数替换为拉格朗日乘子,我们得到

    1{fi(x)Ki0}=maxλiRdiλiKi0λifi(x),1{hj(x)=0}=maxνjRνjhj(x)\begin{aligned} \mathbf{1}_{\{\vec{f}_i(\vec{x}) \preceq_{K_i} \vec{0} \}} &= \max_{\substack{\vec{\lambda}_i \in \mathbb{R}^{d_i} \\ \vec{\lambda}_i \succeq_{K_i^*}\vec{0}}} \vec{\lambda}_i^\top \vec{f}_i(\vec{x}),\\ \mathbf{1}_{\{h_j(\vec{x}) = 0\}}&=\max_{\nu_j\in\R}\nu_jh_j(\vec{x}) \end{aligned}

    其中KiK_i^*表示KiK_iRdi\R^{d_i}上的对偶锥。【可以通过定义证明】

    注:这里的λifi(x)\vec{\lambda}_i^\top \vec{f}_i(\vec{x})可以替换为广义内积λi,fi(x)\langle\vec{\lambda}_i,\vec{f}_i(\vec{x})\rangle

    由此我们可以得到优化问题的拉格朗日函数形式:

    p=minxRn  maxλRdνRpλiKi0,i=1,,m.[f0(x)+i=1mλifi(x)+j=1pνjhj(x)]p^*= \min_{\vec{x} \in \mathbb{R}^n} \; \max_{\substack{ \vec{\lambda} \in \mathbb{R}^d \\ \vec{\nu} \in \mathbb{R}^p\\ \vec{\lambda}_i \succeq_{K_i^*} \vec{0},\;i=1,\cdots,m. }} \left[ f_0(\vec{x}) + \sum_{i=1}^m \vec{\lambda}_i^\top \vec{f}_i(\vec{x}) + \sum_{j=1}^p \nu_j h_j(\vec{x}) \right]

    其中拉格朗日函数定义为

    L(x,λ,ν)f0(x)+i=1mλifi(x)+j=1pνjhj(x)L(\vec{x},\vec{\lambda},\vec{\nu})\coloneqq f_0(\vec{x}) + \sum_{i=1}^m \vec{\lambda}_i^\top \vec{f}_i(\vec{x}) + \sum_{j=1}^p \nu_j h_j(\vec{x})

    因此对偶函数定义为

    g(λ,ν)minxRnL(x,λ,ν)g(\vec{\lambda},\vec{\nu})\coloneqq\min_{\vec{x} \in \mathbb{R}^n}L(\vec{x},\vec{\lambda},\vec{\nu})

    从而对偶问题可表示为

    D:d=maxλRmνRp  g(λ,ν)s.t.λiKi0,i=1,2,,m\begin{aligned} \mathcal{D}:\quad d^*=\max_{\substack{\vec{\lambda} \in \mathbb{R}^m\\[3pt]\vec{\nu} \in \mathbb{R}^p}}\;&g(\vec{\lambda},\vec{\nu})\\ \text{s.t.}\quad &\vec{\lambda}_i\succeq_{K_i} \vec{0},\quad i=1,2,\cdots,m \end{aligned}

    其弱对偶性仍然满足。

  • 那么广义不等式体系中是否仍然有Slater条件呢?有的,只需要引入广义凸性概念:设f:RnRd\vec{f}: \mathbb{R}^n \to \mathbb{R}^d,且KRdK \subseteq \mathbb{R}^d为一个正常锥,

    • 若对任意α[0,1]\alpha \in [0, 1]x,yRn\vec{x}, \vec{y} \in \mathbb{R}^n,有 f(αx+(1α)y)Kαf(x)+(1α)f(y)\vec{f}(\alpha \vec{x} + (1 - \alpha) \vec{y}) \preceq_K \alpha \vec{f}(\vec{x}) + (1 - \alpha) \vec{f}(\vec{y}) 则称f\vec{f}KK-凸函数。
    • 若对任意α(0,1)\alpha \in (0, 1)x,yRn\vec{x}, \vec{y} \in \mathbb{R}^nxy\vec{x} \neq \vec{y},有 f(αx+(1α)y)Kαf(x)+(1α)f(y)\vec{f}(\alpha \vec{x} + (1 - \alpha) \vec{y}) \prec_K \alpha \vec{f}(\vec{x}) + (1 - \alpha) \vec{f}(\vec{y})f\vec{f}KK-严格凸函数。

    这样我们就能得到广义Slater条件:对于下述优化问题

    P:p=minxRnf0(x)s.t.fi(x)Ki0,i=1,,mhj(x)=0,j=1,,p.\begin{aligned} \mathcal{P}: \quad p^* = \min_{\vec{x} \in \mathbb{R}^n} \quad & f_0(\vec{x}) \\ \text{s.t.} \quad & \vec{f}_i(\vec{x}) \preceq_{K_i} \vec{0}, \quad i=1,\cdots,m \\ & h_j(\vec{x}) = 0, \quad j =1,\cdots,p. \end{aligned}

    如果:

    • f0:RnRf_0 : \mathbb{R}^n \to \mathbb{R}是凸函数;
    • fi:RnRdi,  i=1,,m\vec{f}_i : \mathbb{R}^n \to \mathbb{R}^{d_i},\;i =1, \cdots, mKiK_i-凸函数,其中KiRdiK_i \subseteq \mathbb{R}^{d_i}是一个正常锥;
    • hj:RnR,  j=1,,ph_j : \mathbb{R}^n \to \mathbb{R},\;j=1,\cdots,p是仿射函数;
    • 存在某个点xrelint(Ω)\vec{x} \in \text{relint}(\Omega)是严格可行的,即满足: fi(x)Ki0,i=1,,mhj(x)=0,j=1,,p\begin{aligned} &\vec{f}_i(\vec{x}) \prec_{K_i} \vec{0},\quad i =1, \cdots, m\\ &h_j(\vec{x}) = 0,\quad j=1,\cdots,p \end{aligned}

    那么原问题P\mathcal{P}及其对偶问题D\mathcal{D}满足强对偶性,即对偶间隙为00