拉格朗日对偶性

拉格朗日对偶性

在约束最优化的问题中,常常需要利用拉格朗日对偶性(Language duality)将原始问题转为对偶问题,通过解决对偶问题来得到原始问题的解。

拉格朗日乘数法

拉格朗日乘数法是用来求条件极值的,极值问题可以分为两类:

  1. 求函数在给定区间上的极值,对自变量没有其他的要求,这种极值称为无条件极值。
  2. 对自变量有一些附加的约束条件限制下的极值,称为条件极值

比如给定椭球 x 2 a 2 + y 2 b 2 + z 2 c 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} + \frac{z^2}{c^2} = 1 a2x2+b2y2+c2z2=1,求这个椭球内接长方体的最大体积,这个问题实际上就是条件极值问题,即在条件:
x 2 a 2 + y 2 b 2 + z 2 c 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} + \frac{z^2}{c^2} = 1 a2x2+b2y2+c2z2=1
下,求 f ( x , y , z ) = 8 x y z f(x,y,z)=8xyz f(x,y,z)=8xyz的最大值
这个问题实际上可以先根据条件消去z,然后代入转化为无条件极值问题来处理。但有时候这样做很困难,甚至是做不到的,这时候就需要用到拉格朗日乘数法了。如下描述:
求函数z=f(x,y)在满足 φ ( x , y ) = 0 \varphi (x,y)=0 φ(x,y)=0下的条件极值,可以转化为函数 F ( x , y , λ ) = f ( x , y ) + λ φ ( x , y ) F(x,y, \lambda)=f(x,y)+\lambda \varphi(x,y) F(x,y,λ)=f(x,y)+λφ(x,y)的无条件极值问题,如果 ( x 0 , y 0 , λ 0 ) (x_0,y_0,\lambda_0) (x0,y0,λ0)是函数 F ( x , y λ ) F(x,y\lambda) F(x,yλ)的驻点,则 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)就是条件极值的嫌疑点

条件极值问题可以转换为无条件极值问题求解,但有些条件关系比较复杂,代换和运算很复杂,而相对来说,拉格朗日乘数法不需要代换,运算简单,这就是优势!

广义拉格朗日乘数法

为了求如下约束的最优问题:
min ⁡ x f ( x ) , s . t . g ( x ) ≤ 0 , h ( x ) = 0 \mathop{\min}\limits_{x}f(x), s.t.g(x) \leq 0, h(x)=0 xminf(x),s.t.g(x)0,h(x)=0
引入广义拉格朗日函数:
L ( x , λ , η ) = f ( x ) + λ g ( x ) + η h ( x ) , λ ≥ 0 L(x,\lambda , \eta) = f(x) + \lambda g(x) + \eta h(x), \lambda \geq 0 L(x,λ,η)=f(x)+λg(x)+ηh(x),λ0
这里的 L ( x , λ , η ) L(x, \lambda, \eta) L(x,λ,η)叫做拉格朗日函数, λ , η \lambda, \eta λ,η叫做拉格朗日乘子。有时也可以把 λ \lambda λ叫做KKT乘子
首先需要证明:
min ⁡ x f ( x ) , s . t . g ( x ) ≤ 0 , h ( x ) = 0 ⇔ min ⁡ x max ⁡ λ , η : λ ≥ 0 L ( x , λ , η ) \mathop{\min}\limits_{x}f(x), s.t.g(x) \leq 0,h(x)=0 \Leftrightarrow \mathop{\min}\limits_{x} \mathop{\max}\limits_{\lambda ,\eta : \lambda \geq 0} L(x, \lambda , \eta) xminf(x),s.t.g(x)0,h(x)=0xminλ,η:λ0maxL(x,λ,η)

证明过程如下:

  1. 首先将 max ⁡ λ , η : λ ≥ 0 L ( x , λ , η ) \mathop{\max}\limits_{\lambda ,\eta : \lambda \geq 0} L(x, \lambda , \eta) λ,η:λ0maxL(x,λ,η)记住函数 P ( x ) P(x) P(x)

    1. 假定设定某个违反原始问题约束条件的 x x x,即存在某个x使得 g ( x ) > 0 g(x) >0 g(x)>0 h ( x ) ≠ 0 h(x) \neq 0 h(x)=0

      • g ( x ) > 0 g(x) >0 g(x)>0,可以令 λ → + ∞ \lambda \rightarrow + \infty λ+,使得 P ( x ) =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值