战斗包子
凸优化学习笔记:Duality 对偶问题

凸优化学习笔记:Duality 对偶问题

拉格朗日对偶函数

minimize f0(x)subject to fi(x)0,i=1,...,mhi(x)=0,i=1,...,p\begin{align}minimize\ &f_0(x)\\ subject\ to\ &f_i(x)\le 0,i=1,...,m\\ &h_i(x)=0,i=1,...,p\end{align}

假设最优值为pp^*
Lagrangian duality是将约束通过加权合并到目标函数中,L:Rn×Rm×RpRL:R^n\times R^m\times R^p\to R

L(x,λ,ν)=f0(x)+Σi=1mλifi(x)+Σi=1pνihi(x)L(x,\lambda,\nu)=f_0(x)+\Sigma_{i=1}^m\lambda_if_i(x)+\Sigma_{i=1}^p\nu_ih_i(x)

其中λi,νi\lambda_i,\nu_i为拉格朗日乘数。
拉格朗日对偶函数为

g(λ,ν)=inf L(x,λ,ν)=inf (f0(x)+Σi=1mλifi(x)+Σi=1pνihi(x))g(\lambda,\nu)=inf\ L(x,\lambda,\nu)=inf\ (f_0(x)+\Sigma_{i=1}^m\lambda_if_i(x)+\Sigma_{i=1}^p\nu_ih_i(x))

是凹的,与原问题的凹凸性无关。

最优值的下界

假设在xx^*处取的最优值f0(x)=pf_0(x)=p^*,此时由于λ0\lambda\succeq 0

Σi=1mλifi(x)\Sigma_{i=1}^m\lambda_if_i(x)小于0,虽然ν\nu的符号不确定,但是hi=0h_i=0,因此有 L(x,λ,ν)=f0(x)+Σi=1mλifi(x)+Σi=1pνihi(x)f0(x)L(x,\lambda,\nu)=f_0(x)+\Sigma_{i=1}^m\lambda_if_i(x)+\Sigma_{i=1}^p\nu_ih_i(x)\le f_0(x) g(λ,ν)L(x,λ,ν)f0(x)g(\lambda,\nu)\le L(x,\lambda,\nu)\le f_0(x)

该式对任意x成立,因此有g(λ,ν)pg(\lambda,\nu)\le p^*
g能给出下界。

拉格朗日对偶问题

对任意对(λ,ν)(\lambda,\nu),拉格朗日对偶函数都能给出一个最优值的下界。但最优的下界是什么?

maximize g(λ,ν)subject to λ0\begin{align} maximize\ &g(\lambda,\nu)\\ subject\ to\ &\lambda\succeq0 \end{align}

该问题称为原问题的拉格朗日对偶问题。原问题则称为primal problem。
dual feasible意为λ0,g(λ,ν)>\lambda\succeq 0,g(\lambda,\nu)>-\infty
该问题的最优解λ,ν\lambda^*,\nu^*被称为dual optimal或optimal Lagrange multipliers。该问题是凸问题,与原问题的凹凸性无关。

pdp^*-d^*被称为duality gap

例:QCQP的拉格朗日对偶

minimize (1/2)xTP0x+q0Tx+r0subject to (1/2)xTPix+qiTx+ri0,i=1,...,mP0S++n,PiS+n\begin{align}minimize\ &(1/2)x^TP_0x+q_0^Tx+r_0\\ subject\ to\ &(1/2)x^TP_ix+q_i^Tx+r_i\le0,i=1,...,m \\&P_0\in S_{++}^n, P_i\in S_{+}^n \end{align}

其拉格朗日函数为

L(x,λ)=(1/2)xTP0x+q0Tx+r0+Σi=1m(λi/2)xTPix+λiqiTx+λiri=(1/2)xTP(λ)x+q(λ)Tx+r(λ)P(λ)=P0+Σi=1mλiPi,q(λ)=q0+Σi=1mλiqi,r(λ)=r0+Σi=1mλiri.\begin{align}L(x,\lambda)= &(1/2)x^TP_0x+q_0^Tx+r_0+\Sigma_{i=1}^m(\lambda_i/2)x^TP_ix+\lambda_iq_i^Tx+\lambda_ir_i\\ =&(1/2)x^TP(\lambda)x+q(\lambda)^Tx+r(\lambda)\\ P(\lambda)=&P_0+\Sigma_{i=1}^m\lambda_iP_i,\\ q(\lambda)=&q_0+\Sigma_{i=1}^m\lambda_iq_i,\\ r(\lambda)=&r_0+\Sigma_{i=1}^m\lambda_ir_i. \end{align}

其取最值处应有

L=0=P(λ)x+q(λ)Tx=P1(λ)q(λ)TL(P1(λ)q(λ)T,λ)=(1/2)q(λ)TP(λ)1q(λ)+r(λ)\begin{align}\nabla L=&0\\ =&P(\lambda)x+q(\lambda)^T\\ x =& -P^{-1}(\lambda)q(\lambda)^T \\ L(-P^{-1}(\lambda)q(\lambda)^T,\lambda)=& -(1/2)q(\lambda)^TP(\lambda)^{-1}q(\lambda)+r(\lambda) \end{align} g(λ)=inf L(x,λ)=(1/2)q(λ)TP(λ)1q(λ)+r(λ)\begin{align}g(\lambda)=&{\inf}\ L(x,\lambda)\\ =&-(1/2)q(\lambda)^TP(\lambda)^{-1}q(\lambda)+r(\lambda) \end{align}

KKT优化条件

假定函数f0,...,fm,h1,...,hpf_0,...,f_m,h_1,...,h_p可微。
假设xx^*(λ,ν)(\lambda^*,\nu^*)分别是primal和对偶问题的最优解,且duality gap为0

由于xx^*L(x,λ,ν)L(x,\lambda^*,\nu^*)的极值点,该处梯度应为0。

f0(x)+Σi=1mλifi(x)+Σi=1pvihi(x)=0\nabla f_0(x^*)+\Sigma_{i=1}^m\lambda_i^*\nabla f_i(x^*)+\Sigma_{i=1}^pv_i^*\nabla h_i(x^*)=0

Karush-Kuhn-Tucker(KKT)条件即为

fi(x)0hi(x)=0λi0λifi(x)=0f0(x)+Σi=1mλifi(x)+Σi=1pvihi(x)=0\begin{align} f_i(x^*)\le 0\\ h_i(x^*)=0\\ \lambda_i^*\ge 0\\ \lambda_i^*f_i(x^*)=0\\ \nabla f_0(x^*)+\Sigma_{i=1}^m\lambda_i^*\nabla f_i(x^*)+\Sigma_{i=1}^pv_i^*\nabla h_i(x^*)=0 \end{align}

在凸优化中,如果原问题和对偶问题都具有凸形式,那么它们的最优值是相等的。这意味着原问题的最优解和对偶问题的最优解是一致的。
在任何满足以下条件的凸优化问题中:

  • 目标函数和约束函数都是可微的。
  • 强对偶性成立,即原问题和对偶问题的最优值相等。

对于这样的问题,原问题的最优解和对偶问题的最优解必须满足KKT条件。这意味着,如果一个点是原问题的最优解,那么它必须满足KKT条件;同样,如果一个点是对偶问题的最优解,它也必须满足KKT条件。

简而言之,KKT条件是强对偶性成立的一个必要条件。

其他参考资料

一个非常好的KKT解读

本文作者:战斗包子
本文链接:https://paipai121.github.io/2024/07/29/学习记录/凸优化学习笔记:Duality 对偶问题/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可