非线性优化问题处理技术(二) Karush–Kuhn–Tucker条件

本文介绍了处理非线性优化问题的Karush-Kuhn-Tucker(KKT)条件,特别是针对二元单约束的情况。KKT条件是拉格朗日定理的推广,用于解决包含不等式约束的问题。文章详细阐述了约束在边界上和边界内的两种情况,并总结了互补松弛条件。最后,给出了完整的一般性KKT条件。
摘要由CSDN通过智能技术生成

对于只有等式约束的非线性优化问题,拉格朗日定理是可以适用的,但是当存在不等式约束时就不适用了,此时Karush–Kuhn–Tucker(KKT)条件是更为通用的处理技术,拉格朗日定理其实只是KKT条件定理的特殊情况。 KKT条件一开始称为Kuhn–Tucker条件, 因为在1951年Harold W. Kuhn 和 Albert W. Tucker发表了该定理的论文,不过人们之后又发现早在1939年一个名为William Karush的学者就在他的硕士论文中涉及了该理论,所以又把他的名字加入到了该定理的命名中。该定理名字里的"条件"的意思是这个定理描述的是最优解的必要条件,也就是是说如果一个解是优化问题的最优解,那么这个解一定满足KKT条件所叙述的各种关系;按照逻辑学的理论,原命题与逆否命题等价,那么如果一个解它不满足KKT条件,那么它肯定不是最优问题的最优解;当然,如果一个解满足KKT条件,我们不能直接说它就是最优解。

二元单约束的KKT条件

先通过一个最简单的二元单个约束的优化问题来得到它的KKT条件,然后给出扩展的一般性定理;二元单个约束方面图像描述,便于理解。问题的描述:
m a x i m i z e f ( x 1 , x 2 ) s u b j e c t   t o g ( x 1 , x 2 ) ≤ b \begin{aligned} maximize\quad& f(x_1,x_2)\\ subject\ to\quad& g(x_1,x_2)\leq b\\ \end{aligned} maximizesubject tof(x1,x2)g(x1,x2)b
如果约束是等式,可以直接应用拉格朗日定理来处理;但现在约束是不等式,无法直接应用拉格朗日定理,按照拉格朗日定理的描述,最优解是约束边界曲线与目标函数等值线的切点,但现在最优解可能出现在约束边界之内;这时我们可以这样考虑,最优解要么出现在约束区域的边界上,要么出现在边界之内,所以我们就分两种情况来分析:

情况一

先考虑最优解出现在约束边界上,那么这时原始问题就等价于:
m a x i m i z e f ( x 1 , x 2 ) s u b j e c t   t o g ( x 1 , x 2 ) = b \begin{aligned} maximize\quad& f(x_1,x_2)\\ subject\ to\quad& g(x_1,x_2)= b\\ \end{aligned} maximizesubject tof(x1,x2)g(x1,x2)=b
就是只有等式约束的优化问题,自然这个问题可以直接应用拉格朗日定理来处理
D L ( x 1 ∗ , x 2 ∗ ) = D ( f ( x 1 ∗ , x 2 ∗ ) − λ g ( x 1 ∗ , x 2 ∗ ) ) = D f ( x 1 ∗ , x 2 ∗ ) − λ D g ( x 1 ∗ , x 2 ∗ ) = ( 0 , 0 ) \begin{aligned} DL(x_1^*,x_2^*)=D(f(x_1^*,x_2^*)-\lambda g(x_1^*,x_2^*))=Df(x_1^*,x_2^*)-\lambda Dg(x_1^*,x_2^*)=(0,0) \end{aligned} DL(x1,x2)=D(f(x1,x2)λg(x1,x2))=Df(x1,x2)λDg(x1,x2)=(0,0)
可以想象其二维的图形分布如下图所示,其最优解出现在约束曲线与目标函数等值线相切的点

在这里插入图片描述

但是这时我们需要额外考虑的是 λ \lambda λ的正负性,当原始问题是等式约束时是不需要考虑 λ \lambda λ的正负的,但当原始问题是不等式约束时则必须要考虑。梯度的一个重要意义是它的方向是指向函数增长(正)最快的方向,对于上图中处于约束边界上的最优解的点,它在约束函数 g ( x 1 , x 2 ) − b g(x_1,x_2)-b g(x1,x2)b上的梯度 D g ( x 1 ∗ , x 2 ∗ ) Dg(x_1^*,x_2^*) Dg(x1,x2)应该是指向约束边界外围,因为在约束边界上 g ( x 1 ∗ , x 2 ∗ ) − b = 0 g(x_1^*,x_2^*)-b=0 g(x1,x2)b=0,而约束外围则是 g ( x 1 ∗ , x 2 ∗ ) − b > 0 g(x_1^*,x_2^*)-b>0 g(x1,x2)b>0,函数值是增大的:
在这里插入图片描述

再来考虑目标函数上的梯度 D f ( x 1 ∗ , x 2 ∗ ) Df(x_1^*,x_2^*) Df(x1,x2),它应该指向约束区域内部还是外部呢? 如果它指向约束内部,那么就意味着我们可以在约束内部找到一个更好的解,因为在约束内部的解是满足原始问题的约束的,同时它处于目标函数的梯度方向上,它的目标值也更大,这个结论将与我们的假设前提相悖;所以目标函数的梯度 D f ( x 1 ∗ , x 2 ∗ ) Df(x_1^*,x_2^*) Df(x1,x2)必须也是指向约束区域外部的;所以 D f ( x 1 ∗ , x 2 ∗ ) Df(x_1^*,x_2^*) Df(x1,x2) D g ( x 1 ∗ , x 2 ∗ ) Dg(x_1^*,x_2^*) Dg(x1,x2)应该是同向的,同向也就意味着 λ \lambda

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值