优化问题-Lagrange对偶问题、KKT条件,对偶优化、ADMM优化

Lagrange对偶问题

优化问题对偶问题定义为:
max ⁡ ( λ , ν ) ∈ dom ⁡ g g ( λ , ν )  s.t.  λ ⪰ 0 \begin{array}{rl} \max _{(\boldsymbol{\lambda}, \boldsymbol{\nu}) \in \operatorname{dom} g} & g(\boldsymbol{\lambda}, \boldsymbol{\nu}) \\ \text { s.t. } & \boldsymbol{\lambda} \succeq \mathbf{0} \end{array} max(λ,ν)domg s.t. g(λ,ν)λ0

其最优值为: d ⋆ = sup ⁡ { g ( λ , ν ) ∣ λ ⪰ 0 , ν ∈ R p } d^{\star}=\sup \left\{g(\boldsymbol{\lambda}, \boldsymbol{\nu}) \mid \boldsymbol{\lambda} \succeq \mathbf{0}, \boldsymbol{\nu} \in \mathbb{R}^p\right\} d=sup{g(λ,ν)λ0,νRp}。根据原始问题的最优值是其对偶函数的上界可知, d ⋆ d^{\star} d是原始问题最优值 p ⋆ p^{\star} p的一个下届。

  • 弱对偶性: d ⋆ ⩽ p ⋆ d^{\star} \leqslant p^{\star} dp,即: d ⋆ = sup ⁡ λ ⪰ 0 inf ⁡ x L ( x , λ ) ⩽ inf ⁡ x sup ⁡ λ ⪰ 0 L ( x , λ ) = p ⋆ d^{\star}=\sup _{\boldsymbol{\lambda} \succeq \mathbf{0}} \inf _{\mathbf{x}} \mathcal{L}(\mathbf{x}, \boldsymbol{\lambda}) \leqslant \inf _{\mathbf{x}} \sup _{\boldsymbol{\lambda} \succeq \mathbf{0}} \mathcal{L}(\mathbf{x}, \boldsymbol{\lambda})=p^{\star} d=supλ0infxL(x,λ)infxsupλ0L(x,λ)=p
  • 强对偶性: d ⋆ = p ⋆ d^{\star}=p^{\star} d=p ,即: d ⋆ = sup ⁡ λ ⪰ 0 inf ⁡ x L ( x , λ ) = L ( x ⋆ , λ ⋆ ) = inf ⁡ x sup ⁡ λ ⪰ 0 L ( x , λ ) = p ⋆ d^{\star}=\sup _{\boldsymbol{\lambda} \succeq \mathbf{0}} \inf _{\mathbf{x}} \mathcal{L}(\mathbf{x}, \boldsymbol{\lambda})=\mathcal{L}\left(\mathbf{x}^{\star}, \boldsymbol{\lambda}^{\star}\right)=\inf _{\mathbf{x}} \sup _{\boldsymbol{\lambda} \succeq \mathbf{0}} \mathcal{L}(\mathbf{x}, \boldsymbol{\lambda})=p^{\star} d=supλ0infxL(x,λ)=L(x,λ)=infxsupλ0L(x,λ)=p(对于凸问题往往具有强对偶性,其强对偶性的充分条件:Slater条件)

对于强对偶问题,其原最优解与对偶最优解之间存在一个重要关系式:

g ( λ ⋆ , ν ⋆ ) = L ( x ⋆ , λ ⋆ , ν ⋆ ) = f 0 ( x ⋆ ) g\left(\boldsymbol{\lambda}^{\star}, \boldsymbol{\nu}^{\star}\right)=\mathcal{L}\left(\mathbf{x}^{\star}, \boldsymbol{\lambda}^{\star}, \boldsymbol{\nu}^{\star}\right)=f_0\left(\mathbf{x}^{\star}\right) g(λ,ν)=L(x,λ,ν)=f0(x)

与傅里叶变换相比,因为存在 d ⋆ ⩽ p ⋆ d^{\star} \leqslant p^{\star} dp,原问题与对偶问题更多地表现为“垂直”方向上的等价,如下:

  • 原始问题
    p ⋆ = min ⁡ { f 0 ( x ) ∣ f i ( x ) ⩽ 0 , h j ( x ) = 0 , i = 1 , … , m , j = 1 , … , p , x ∈ D } ⩾ d ⋆ p^{\star}=\min \left\{f_0(\mathbf{x}) \mid f_i(\mathbf{x}) \leqslant 0, h_j(\mathbf{x})=0, i=1, \ldots, m, j=1, \ldots, p, \mathbf{x} \in \mathcal{D}\right\} \geqslant d^{\star} p=min{f0(x)fi(x)0,hj(x)=0,i=1,,m,j=1,,p,xD}d
    ( D \mathcal{D} D 是原始问题定义域)
  • 对偶问题
    d ⋆ = max ⁡ { g ( λ , ν ) = inf ⁡ x ∈ D L ( x , λ , ν ) > − ∞ ∣ λ ⪰ 0 , λ ∈ R m , ν ∈ R p } ⩽ p ⋆ d^{\star}=\max \left\{g(\boldsymbol{\lambda}, \boldsymbol{\nu})=\inf _{\mathbf{x} \in \mathcal{D}} \mathcal{L}(\mathbf{x}, \boldsymbol{\lambda}, \boldsymbol{\nu})>-\infty \mid \boldsymbol{\lambda} \succeq \mathbf{0}, \boldsymbol{\lambda} \in \mathbb{R}^m, \boldsymbol{\nu} \in \mathbb{R}^p\right\} \leqslant p^{\star} d=max{g(λ,ν)=infxDL(x,λ,ν)>λ0,λRm,νRp}p
    ( L ( x , λ , ν ) = f 0 ( x ) + ∑ i = 1 λ i f i ( x ) + ∑ i = 1 ν i h i ( x ) \mathcal{L}(\mathbf{x}, \boldsymbol{\lambda}, \boldsymbol{\nu})=f_0(\mathbf{x})+\sum_{i=1} \lambda_i f_i(\mathbf{x})+\sum_{i=1} \nu_i h_i(\mathbf{x}) L(x,λ,ν)=f0(x)+i=1λifi(x)+i=1νihi(x))

无论原问题是否为凸,其对偶问题一定为凸;并且当原问题为凸且 f 0 ( x ) f_0(\mathbf{x}) f0(x)是闭的,所有 f i ( x ) f_i(\mathbf{x}) fi(x)都是非光滑或可谓的,则该问题的双对偶就是原问题本身

由强对偶性可以得到的几个重要结论:

  • (最大最小不等式)对于任意的 f : R n × R m , W ⊆ R n f: \mathbb{R}^n \times \mathbb{R}^m, W \subseteq \mathbb{R}^n f:Rn×Rm,WRn Z ⊆ R m Z \subseteq \mathbb{R}^m ZRm,有:
    sup ⁡ z ∈ Z inf ⁡ w ∈ W f ( w , z ) ⩽ inf ⁡ w ∈ W sup ⁡ z ∈ Z f ( w , z ) \sup _{\boldsymbol{z} \in Z} \inf _{\boldsymbol{w} \in W} f(\boldsymbol{w}, \boldsymbol{z}) \leqslant \inf _{\boldsymbol{w} \in W} \sup _{\boldsymbol{z} \in Z} f(\boldsymbol{w}, \boldsymbol{z}) zZsupwWinff(w,z)wWinfzZsupf(w,z)
    f f f是某个具有零对偶间隙的优化问题的Lagrange函数,则上述等号成立。
  • 互补松弛条件):令 x ⋆ \mathbf{x}^{\star} x ( λ ⋆ , ν ⋆ ) \left(\boldsymbol{\lambda}^{\star}, \nu^{\star}\right) (λ,ν)分别是原问题和其对偶问题的最优解,则 f i ( x ⋆ ) ⩽ 0 , i = 1 , … , m , h j ( x ⋆ ) = 0 , j = 1 , … , p f_i\left(\mathbf{x}^{\star}\right) \leqslant 0, i=1, \ldots, m, h_j\left(\mathbf{x}^{\star}\right)=0, j=1, \ldots, p fi(x)0,i=1,,m,hj(x)=0,j=1,,p, 且 λ ⋆ ⪰ 0 m \boldsymbol{\lambda}^{\star} \succeq \mathbf{0}_m λ0m 。当强对偶成立时,一定满足:
    λ i ⋆ f i ( x ⋆ ) = 0 , i = 1 , … , m \lambda_i^{\star} f_i\left(\mathbf{x}^{\star}\right)=0, i=1, \ldots, m λifi(x)=0,i=1,,m

Karush-Kuhn-Tucker(KKT)条件

假设 f 0 , f 1 , … , f m , h 1 , … , h p f_0, f_1, \ldots, f_m, h_1, \ldots, h_p f0,f1,,fm,h1,,hp可微,则优化问题(不一定为凸)的原最优解 x ⋆ \mathbf{x}^{\star} x和对偶问题最优解 ( λ ⋆ , ν ⋆ ) \left(\lambda^{\star}, \nu^{\star}\right) (λ,ν)所对应的KKT条件如下:
∇ f 0 ( x ⋆ ) + ∑ i = 1 m λ i ⋆ ∇ f i ( x ⋆ ) + ∑ i = 1 p ν i ⋆ ∇ h i ( x ⋆ ) = 0 f i ( x ⋆ ) ⩽ 0 , i = 1 , … , m h i ( x ⋆ ) = 0 , i = 1 , … , p λ i ⋆ ⩾ 0 , i = 1 , … , m λ i ⋆ f i ( x ⋆ ) = 0 , i = 1 , … , m \begin{aligned} \nabla f_0\left(\mathbf{x}^{\star}\right)+\sum_{i=1}^m \lambda_i^{\star} \nabla f_i\left(\mathbf{x}^{\star}\right)+\sum_{i=1}^p \nu_i^{\star} \nabla h_i\left(\mathbf{x}^{\star}\right) & =0 \\ f_i\left(\mathbf{x}^{\star}\right) & \leqslant 0, i=1, \ldots, m \\ h_i\left(\mathbf{x}^{\star}\right) & =0, i=1, \ldots, p \\ \lambda_i^{\star} & \geqslant 0, i=1, \ldots, m \\ \lambda_i^{\star} f_i\left(\mathbf{x}^{\star}\right) & =0, i=1, \ldots, m \end{aligned} f0(x)+i=1mλifi(x)+i=1pνihi(x)fi(x)hi(x)λiλifi(x)=00,i=1,,m=0,i=1,,p0,i=1,,m=0,i=1,,m

KKT条件在求解优化问题中的作用:

  • 对于具有强对偶性的问题:KKT条件是最优性的必要条件
  • 对于不具有强对偶性的问题:在适当假设下,KKT条件是局部最优的必要条件
  • 对于具有强对偶性的图问题:KKT条件是最优性的虫咬条件。即:当且仅当KKT条件成立时, x ⋆ \mathbf{x}^{\star} x ( λ ⋆ , ν ⋆ ) \left(\lambda^{\star}, \nu^{\star}\right) (λ,ν)分别为原最优和对偶最优。

注:如果目标函数和所有约束都是实值函数,而未知变量 x \mathbf{x} x是复数,那么KKT条件中,此时的梯度定义为· ∇ x L = 2 ∇ x ∗ L \nabla_{\mathbf{x}} \mathcal{L}=2 \nabla_{\mathbf{x}^*} \mathcal{L} xL=2xL

Lagrange的对偶优化

KKT条件是直接求解凸优化问题的主要方法,当凸问题KKT条件过于复杂而不能给出解析解时,可以通过利用对偶分解,而找到原问题的和对偶问题的最优解,该方法交替更新原变量和对偶变量直到收敛。

对于凸问题,其目标函数和所有约束条件均可可微并满足强对偶性时,如果 x ⋆ \mathbf{x}^{\star} x是原可行解,则
( x ⋆ , λ ⋆ , ν ⋆ ) = arg ⁡ { max ⁡ λ ⪰ 0 , ν min ⁡ x ∈ D L ( x , λ , ν ) } \left(\mathbf{x}^{\star}, \boldsymbol{\lambda}^{\star}, \boldsymbol{\nu}^{\star}\right)=\arg \left\{\max _{\boldsymbol{\lambda} \succeq \mathbf{0}, \boldsymbol{\nu}} \min _{\mathbf{x} \in \mathcal{D}} \mathcal{L}(\mathbf{x}, \boldsymbol{\lambda}, \boldsymbol{\nu})\right\} (x,λ,ν)=arg{λ0,νmaxxDminL(x,λ,ν)}
是一个原-对偶最优解。

  • 该式子为求解原问题的对偶分解,或对偶优化方法。对于给定的 ( λ ⪰ 0 , ν ) (\boldsymbol{\lambda} \succeq \mathbf{0}, \boldsymbol{\nu}) (λ0,ν),式中内层最小化是关于 x \mathbf{x} x的凸函数,外层最大化是关于 ( λ , ν ) (\lambda, \nu) (λ,ν)的凹函数。但,问题的规模可能会变得更大,这是在寻找原-对偶最优解需要着重考虑的一个问题。

ADMM优化

对偶优化是无线通信和网络设计分布式和协作式算法的一种有效算法,交替方向乘子法(ADMM)是一种有名的分布式凸优化技术。

考虑如下凸优化问题:
min ⁡ x ∈ R n , z ∈ R m f 1 ( x ) + f 2 ( z )  s.t.  x ∈ S 1 , z ∈ S 2 z = A x \begin{aligned} \min _{\mathbf{x} \in \mathbb{R}^n, \mathbf{z} \in \mathbb{R}^m} & f_1(\mathbf{x})+f_2(\mathbf{z}) \\ \text { s.t. } & \mathbf{x} \in \mathcal{S}_1, \mathbf{z} \in \mathcal{S}_2 \\ & \mathbf{z}=\mathbf{A} \mathbf{x} \end{aligned} xRn,zRmmin s.t. f1(x)+f2(z)xS1,zS2z=Ax

f 1 : R n ↦ R f_1: \mathbb{R}^n \mapsto \mathbb{R} f1:RnR f 2 : R m ↦ R f_2: \mathbb{R}^m \mapsto \mathbb{R} f2:RmR是凸函数, A \mathbf{A} A m × n m \times n m×n矩阵, S 1 ⊂ R n \mathcal{S}_1 \subset \mathbb{R}^n S1Rn S 2 ⊂ R m \mathcal{S}_2 \subset \mathbb{R}^m S2Rm是非空凸集。

ADMM考虑如下的惩罚增广问题:
min ⁡ x ∈ R n , z ∈ R m f 1 ( x ) + f 2 ( z ) + c 2 ∥ A x − z ∥ 2 2  s.t.  x ∈ S 1 , z ∈ S 2 z = A x \begin{aligned} \min _{\mathbf{x} \in \mathbb{R}^n, \mathbf{z} \in \mathbb{R}^m} & f_1(\mathbf{x})+f_2(\mathbf{z})+\frac{c}{2}\|\mathbf{A} \mathbf{x}-\mathbf{z}\|_2^2 \\ \text { s.t. } & \mathbf{x} \in \mathcal{S}_1, \mathbf{z} \in \mathcal{S}_2 \\ & \mathbf{z}=\mathbf{A} \mathbf{x} \end{aligned} xRn,zRmmin s.t. f1(x)+f2(z)+2cAxz22xS1,zS2z=Ax

其对偶问题为:
max ⁡ ν ∈ R m g ( ν ) \max _{\boldsymbol{\nu} \in \mathbb{R}^m} g(\boldsymbol{\nu}) νRmmaxg(ν)

对偶函数定义为: g ( ν ) = min ⁡ x ∈ S 1 , z ∈ S 2 { f 1 ( x ) + f 2 ( z ) + c 2 ∥ A x − z ∥ 2 2 + ν T ( A x − z ) } g(\boldsymbol{\nu})=\min _{\mathbf{x} \in \mathcal{S}_1, \mathbf{z} \in \mathcal{S}_2}\left\{f_1(\mathbf{x})+f_2(\mathbf{z})+\frac{c}{2}\|\mathbf{A} \mathbf{x}-\mathbf{z}\|_2^2+\boldsymbol{\nu}^{\mathrm{T}}(\mathbf{A} \mathbf{x}-\mathbf{z})\right\} g(ν)=xS1,zS2min{f1(x)+f2(z)+2cAxz22+νT(Axz)}

其中 ν \boldsymbol{\nu} ν是惩罚增广问题等式约束的对偶变量,当 ν \boldsymbol{\nu} ν固定时,对偶函数中的优化问题时关于 ( x , z ) (\mathbf{x}, \mathbf{z}) (x,z)的凸问题,对偶函数 g ( ν ) g(\boldsymbol{\nu}) g(ν)非光滑,可以通过投影次梯度方法更新对偶变量 ν \boldsymbol{\nu} ν。在标准的对偶优化问题中,通常是先更新 ( x , z ) (\mathbf{x}, \mathbf{z}) (x,z)然后更新对偶变量 ν \boldsymbol{\nu} ν

对于ADMM,在第 ( q + 1 ) (q+1) (q+1)次迭代时,求解一下两个图的子问题,以更新 ( x , z ) (\mathbf{x}, \mathbf{z}) (x,z)
z ( q + 1 ) = arg ⁡ min ⁡ z ∈ S 2 { f 2 ( z ) − ν ( q ) T z + c 2 ∥ A x ( q ) − z ∥ 2 2 } x ( q + 1 ) = arg ⁡ min ⁡ x ∈ S 1 { f 1 ( x ) + ν ( q ) T A x + c 2 ∥ A x − z ( q + 1 ) ∥ 2 2 } \begin{aligned} & \mathbf{z}(q+1)=\arg \min _{\mathbf{z} \in \mathcal{S}_2}\left\{f_2(\mathbf{z})-\boldsymbol{\nu}(q)^{\mathrm{T}} \mathbf{z}+\frac{c}{2}\|\mathbf{A} \mathbf{x}(q)-\mathbf{z}\|_2^2\right\} \\ & \mathbf{x}(q+1)=\arg \min _{\mathbf{x} \in \mathcal{S}_1}\left\{f_1(\mathbf{x})+\boldsymbol{\nu}(q)^{\mathrm{T}} \mathbf{A} \mathbf{x}+\frac{c}{2}\|\mathbf{A} \mathbf{x}-\mathbf{z}(q+1)\|_2^2\right\} \end{aligned} z(q+1)=argzS2min{f2(z)ν(q)Tz+2cAx(q)z22}x(q+1)=argxS1min{f1(x)+ν(q)TAx+2cAxz(q+1)22}
总结如下:
在这里插入图片描述

  • 对于任意大于零的惩罚参数 c c c,ADMM一定可以保证收敛到一个最优解,收敛速率与 c c c有关,但目前没有理论可以指导 c c c的选择,从而使得收敛速度加快。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值