有约束优化方法

对偶问题

拉格朗日函数
L ( x , u , v ) = f ( x ) + u T g ( x ) + v T h ( x )   , u ≥ 0 L\left( x,u,v\right)=f\left( x\right) +u^{T}g\left( x\right) +v^{T}h\left( x\right) \ ,u\geq 0 L(x,u,v)=f(x)+uTg(x)+vTh(x) ,u0
拉格朗日对偶函数
θ ( u , v ) = inf ⁡ x L ( x , u , v ) = inf ⁡ x ( f ( x ) + u T g ( x ) + v T h ( x ) )   , u ≥ 0 \begin{array}{l}\theta \left( u,v\right) =\inf\limits_x L\left( x,u,v\right) =\inf\limits_{x}\left( f\left( x\right) +u^{T}g\left( x\right) +v^{T}h\left( x\right) \right)\ ,u\geq 0 \end{array} θ(u,v)=xinfL(x,u,v)=xinf(f(x)+uTg(x)+vTh(x)) ,u0
对偶问题的最优值给出了原问题最优值的一个下界,并且对于某些凸规划问题(满足强对偶定理条件),可以通过求解对偶问题得到原问题的最优解

弱对偶定理

弱对偶定理: 对于任意的 u , v u,v u,v,拉格朗日对偶函数给出了原优化问题最优值的一个下界,拉格朗日对偶问题的最优值给出了原问题最优值的最好下界。

x ~ \tilde{x} x~是原问题的可行解,即
∀ x ~ ∈ { x ∣ x ∈ X , g ( x ) ⩽ 0 , h ( x ) = 0 } L ( x ~ , u , v ) = f ( x ~ ) + u T g ( x ~ ) + v T h ( x ~ ) ⩽ f ( x ~ ) θ ( u , v ) = inf ⁡ x L ( x , u , v ) ⩽ L ( x ~ , u , v ) ⩽ f ( x ~ ) \begin{array}{l} \forall \tilde{x}\in \{x|x\in X,g(x) \leqslant 0,h\left( x\right) =0\}\\ L\left( \tilde{x},u,v\right) =f\left( \tilde{x}\right) +u^{T}g\left( \tilde{x}\right) +v^{T}h\left( \tilde{x}\right) \leqslant f\left( \tilde{x}\right) \\ \theta \left( u,v\right) =\inf\limits_{x}L\left( x,u,v\right) \leqslant L\left( \tilde{x},u,v\right) \leqslant f\left( \tilde{x}\right) \end{array} x~{xxX,g(x)0,h(x)=0}L(x~,u,v)=f(x~)+uTg(x~)+vTh(x~)f(x~)θ(u,v)=xinfL(x,u,v)L(x~,u,v)f(x~)
x ~ \tilde{x} x~的任意性可得 θ ( u , v ) ⩽ f ( x ∗ ) \theta(u,v)\leqslant f(x^*) θ(u,v)f(x) x ∗ x^* x为原问题的最优解。

强对偶定理

强对偶定理: 在目标函数 f ( x ) f(x) f(x)与不等式约束条件 g ( x ) g(x) g(x)为凸函数,等式约束条件 h ( x ) h(x) h(x)为仿射函数时,且在可行域内存在一点 x ^ \hat{x} x^使不等式约束严格成立 g ( x ^ ) < 0 g(\hat{x})<0 g(x^)<0,则原问题与对偶问题的最优值相同。
inf ⁡ { f ( x ) : x ∈ X , g ( x ) ⩽ 0 , h ( x ) = 0 } = sup ⁡ { θ ( u , v ) : u ⩾ 0 } \inf\{f(x):x\in X,g(x)\leqslant 0,h(x)=0\}=\sup\{\theta(u,v):u\geqslant 0\} inf{f(x):xX,g(x)0,h(x)=0}=sup{θ(u,v):u0}
且如果下确界是有限值,则在 ( u ˉ ⩾ 0 , v ˉ ) (\bar{u}\geqslant 0,\bar{v}) (uˉ0,vˉ)点达到 sup ⁡ { θ ( u , v ) : u ⩾ 0 } \sup\{\theta(u,v):u\geqslant 0\} sup{θ(u,v):u0}

如果下确界在 x ˉ \bar{x} xˉ点达到,则 u ˉ T g ( x ˉ ) = 0 \bar{u}^T g(\bar{x})=0 uˉTg(xˉ)=0

强对偶定理说明对偶间隙为0,从对偶问题得到的原问题的最优下界是紧的,对偶问题的最优值即是原问题最优值

约束最优化方法

可行方向法

问题P: min ⁡ f ( x ) , g ( x ) ⩽ 0 \min f(x),g(x)\leqslant 0 minf(x),g(x)0,设其可行域为 X X X,给定可行点 x k x_k xk,为求其极小点,则应在点 x k x_k xk处的可行下降方向中选取方向 d k d_k dk,然后采用线搜索求步长,产生新的迭代点
{ x k + 1 = x k + λ k d k f ( x k + 1 ) < f ( x k ) \begin{cases}x_{k+1}=x_{k}+\lambda _{k}d_{k}\\ f\left( x_{k+1}\right) <f\left( x_{k}\right) \end{cases} {xk+1=xk+λkdkf(xk+1)<f(xk)
然后判断新点是否满足精度要求,满 足,则停止;不满足,则继续迭代或者迭代次数超过预定 次数也停止

增广拉格朗日法

增广拉格朗日法的解是原问题的解

原问题
min ⁡ f ( x ) s . t .   c ( x ) = 0 \begin{array}{c} \min f\left( x\right) \\ s. t.\ c\left( x\right) =0 \end{array} minf(x)s.t. c(x)=0
其KKT点
L 1 ( x , λ ) = f ( x ) + λ T c ( x ) ∇ x L 1 ( x 1 ∗ , λ 1 ∗ ) = ∇ f ( x 1 ∗ ) + A ( x 1 ∗ ) λ 1 ∗ = 0 ( 1 ) 其中 A ( x ) = [ ∇ c 1 ( x ) … ∇ c m ( x ) ] \begin{array}{l} \\L_{1}\left( x ,\lambda \right) =f\left( x\right) +\lambda ^{T}c\left( x\right) \\ \nabla _{x}L_{1}\left( x^{\ast }_1,\lambda ^{\ast }_1\right) =\nabla f\left( x ^{\ast }_1\right) +A\left( x ^{\ast }_1\right) \lambda^{\ast }_1=0 & (1)\\ 其中A\left( x\right) =\begin{bmatrix} \nabla c_{1}\left( x\right) &\ldots &\nabla c_{m}\left( x\right) \end{bmatrix} \end{array} L1(x,λ)=f(x)+λTc(x)xL1(x1,λ1)=f(x1)+A(x1)λ1=0其中A(x)=[c1(x)cm(x)](1)
增广拉格朗日函数对应的问题:
min ⁡ f ( x ) + σ 2 ∥ c ( x ) ∥ 2 2 s . t .   c ( x ) = 0 \begin{array}{c}\min f\left( x\right) +\dfrac{\sigma }{2}\left\| c\left( x\right) \right\| _{2}^{2}\\ s. t.\ c\left( x\right) =0 \end{array} minf(x)+2σc(x)22s.t. c(x)=0
其KKT点
L 2 ( x , λ ) = f ( x ) + σ 2 c T ( x ) c ( x ) + λ T c ( x ) ∇ x L 2 ( x 2 ∗ , λ 2 ∗ ) = ∇ f ( x 2 ∗ ) + A ( x 2 ∗ ) λ 2 ∗ + σ A ( x 2 ∗ ) c ( x 2 ∗ ) = ∇ f ( x 2 ∗ ) + A ( x 2 ∗ ) ( λ 2 ∗ + σ c ( x 2 ∗ ) ) = 0 ( 2 ) \begin{array}{l} L_{2}\left( x,\lambda \right) =f\left( x\right) +\dfrac{\sigma }{2}c^{T}\left( x\right) c\left( x\right) +\lambda ^{T}c\left( x\right) \\ \nabla _{x} L_{2}\left( x^{\ast }_2,\lambda ^{\ast }_2\right) =\nabla f\left( x ^{\ast }_2\right) +A\left( x^{\ast}_2\right) \lambda ^{\ast }_2+\sigma A\left( x^{\ast }_2\right) c\left( x^{\ast }_2\right) \\= \nabla f\left( x ^{\ast }_2\right) +A\left( x^{\ast}_2\right) \left(\lambda ^{\ast }_2+\sigma c\left( x^{\ast }_2\right)\right)=0&(2)\end{array} L2(x,λ)=f(x)+2σcT(x)c(x)+λTc(x)xL2(x2,λ2)=f(x2)+A(x2)λ2+σA(x2)c(x2)=f(x2)+A(x2)(λ2+σc(x2))=0(2)
因为对于可行点 c ( x ∗ ) = 0 c(x^*)=0 c(x)=0,故两个问题的KKT条件相同,比较上下式可得
{ x 1 ∗ = x 2 ∗ λ 1 ∗ = λ 2 ∗ \begin{cases} x_1^*=x_2^*\\ \lambda_1^*=\lambda_2^* \end{cases} {x1=x2λ1=λ2
比较(1)式和(2)式得 λ ∗ = λ k + σ k c ( x k ) \lambda^*=\lambda_k+\sigma_kc(x^k) λ=λk+σkc(xk)
x k + 1 = arg ⁡ min ⁡ x L 2 ( x , λ k ) λ k + 1 = λ k + σ c ( x k + 1 ) \begin{array}{l} x^{k+1}=\arg \min\limits_x L_{2}\left( x,\lambda ^{k}\right) \\ \lambda ^{k+1}=\lambda ^{k}+\sigma c\left( x^{k+1}\right) \end{array} xk+1=argxminL2(x,λk)λk+1=λk+σc(xk+1)

ADMM法

经典的ADMM法适用于求解N-Block的凸优化问题

以2-Block为例
min ⁡ f ( x ) + g ( z ) s . t .   A x + B z = c \begin{array}{c} \min f\left( x\right)+g(z) \\ s. t.\ A x+Bz =c \end{array} minf(x)+g(z)s.t. Ax+Bz=c
Block指我们可以将决策域分块,分成两组变量,对于每组变量分别求最优,不断迭代下降。这样就将一个大规模求解问题分解为多个小规模问题分别求解,这样的性质使得ADMM算法容易进行并行计算。
x k + 1 = arg ⁡ min ⁡ x L ( x , z k , y k ) z k + 1 = arg ⁡ min ⁡ z L ( x k + 1 , z , y k ) y k + 1 = y k + ρ ( A x k + 1 + B z k + 1 − c ) x^{k+1}=\arg\min_x L(x,z^k,y^k)\\ z^{k+1}=\arg\min_zL(x^{k+1},z,y^k)\\ y^{k+1}=y^k+\rho(Ax^{k+1}+Bz^{k+1}-c) xk+1=argxminL(x,zk,yk)zk+1=argzminL(xk+1,z,yk)yk+1=yk+ρ(Axk+1+Bzk+1c)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shilong Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值