KKT条件--不等式约束最优性条件

原创 2013年12月26日 19:13:34

KKT条件是不等式约束的最优化问题的最优性条件。


所谓的最优性条件就是最优解的性质。

我们通过最优性条件的研究,能够对于优化的步骤,以及迭代求解时的结束条件有很大帮助。

最优化问题常见的有无约束优化,等式约束优化,不等式约束优化。

上一篇blog讨论过等式约束的最优性条件(http://blog.csdn.net/ice110956/article/details/17557795),这里我们讨论如下的不等式约束最优化,其最优解满足怎样的性质。

 


可行方向与下降方向:

下降方向:

我们知道,在最优化求解的过程中,我们常常使用某种逼近的方法,如梯度下降法等等。那么使得目标函数f(x)变小的方向,也就是下降方向。

根据微积分的知识,我们知道,取梯度的反方向,可得下降方向。也就是,P* <0,则P是一个下降方向。

可行方向:

一般来说,对于目标函数,有一定的约束条件,也就是我们的可行域,我们要在可行域允许的范围内求解。我们求解的方向在可行方位内,则称为可行方向。

同样的,根据微积分的知识,我们也可以推导得到P* >0为可行方向。

可行下降方向:

现在我们要得到即可行,又下降的方向来求解问题,也就是要求得可行下降方向。

综上,可行下降方向p满足条件为:


其中f(x)表法向量,ci(x)表大于零的约束条件法向量。


最优解性质:

那么,如果X已经是极值点了呢?

我们把下降方向集合写作S,可行方向集合写作G,如下:


那么,如果当前点是最优点,应该是无处可去的,也就是没有可行下降方向,也就是,如下图:

 

于是,我们得到最优点的性质:


我们接下来推导如何解上面的集合问题。我们从两个引理出发,能够得到两个解,也就是对应的Fritz-John条件与KT条件。我们先来看Fritz-John条件的推导。

 

Fritz-John一阶必要条件:

 

我们看下面这个引理:

Gordan引理:

设a1,…ar是n维向量,则不存在向量,使得

成立的充要条件是,存在不全为零的非负实数组,使得


这条引理证明略,从几何意义上理解,如下:


如果不存在使得向量ai*d全小于0的向量d,那么ai中不能够全都在某个超平面的一侧。否则,取超平面另一侧的任意一个向量作为d,都能够满足ai*d全小于0.

 

再看我们上一部分推出的最优解条件:

当x是最优解时,不存在可行的下降方向p,使得


也就是不存在:


把上式中分别看成Gordan引理中的a1,a2,….,ar,于是存在不全为0的数:,使


这也称为Fritz-John一阶必要条件

 

完整的定理如下:

Fritz-John一阶必要条件:

x为局部最优解,f(x),c(x)在点x可微,则存在非零向量,使得:

 

上述Fritz-John条件中,如果lamda0=0,那么所得的点与目标函数无关,这样造成无论什么目标函数,只要约束条件一样,得到的可能极值点也就相同。也就是,这个条件过于宽松了。

于是我们再加一个约束条件,如“有效约束函数的梯度线性无关”,那么lamda0就不会为0了。于是得到了我们如下的KT条件:

 

KT条件:

 

还是看一个定理:

Farkas定理:

已知a1,….,ar和b为n为向量。所有满足:

 

的向量,同时也满足不等式的充要条件是:存在非负实数,使得


上式的证明需要用到凸分析的知识,这里我们从几何意义来看。


简单来说就是,所有满足与凸锥B中所有向量点乘大于零的向量,都在凸锥A中;

 

那么,如果一个向量d,满足,那么b就处于a1与ar之间,也就是

如上图中d1满足条件,d2不满足条件。


还是两个集合交为空的条件:

当x为最优解,不存在P,使得:

反过来,也就是存在p,使得

根据Farkas定理,约束条件ci(x)组成一个凸锥,f(x)处于这个凸锥之中,也就是:

这也是KT条件。通过下图,我们能够直观地理解:

完整地KT条件如下:

Kuhn-Tucker一阶必要条件:

 

上面的KT条件与Fritz-John条件,只在f(x)的系数上不同。KT条件是Fritz-John条件的特殊情况。

条件1即拉格朗日乘子求导为0的条件;

条件2表明拉格朗日乘子中,lambda系数与c(x)必有一个为0。也就是最优解的拉格朗日乘子里,只有c(x)==0的约束项。也就是,其实这时的拉格朗日乘子项等价于等式约束的形式。

条件3则表明系数要的取值范围为非负。

 

 

二阶充分条件:

这里略去,上述Fritz-John条件与KT条件得出的是可能的极致点,还要通过二阶的验证才能分辨是否为鞍点。

 

凸规划的最优解:

由于凸规划的良好性质,满足Fritz-John条件或KT条件的点就是其极值点。


PS:据说blog的公式数量与受欢迎程度成反比,不过我今天一口气发了三篇公式的blog。。。


 

最优化理论与KKT条件

看着内容挺好的,转载一下 1. 最优化理论(Optimization Theory) 最优化理论是研究函数在给定一组约束条件下的最小值(或者最大值)的数学问题. 一般而言, 一个最...
  • loadstar_kun
  • loadstar_kun
  • 2014-05-09 09:59:50
  • 35669

深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如果含有不等式...
  • xianlingmao
  • xianlingmao
  • 2012-09-22 17:05:52
  • 307010

KKT条件介绍

KKT条件入门介绍 最近学习的时候用到了最优化理论,但是作为学渣的我是没有多少这方面的理论基础。于是翻了很多大神的博客把容易理解的内容记载到这篇博客中。因此这是篇汇总博客,不算是全部原创,但是基础理论...
  • johnnyconstantine
  • johnnyconstantine
  • 2015-06-02 21:49:11
  • 58997

机器学习笔记_ 数值最优化_3:KKT条件

KKT条件(几何的解释)对于凸优化,KKT条件的点就是其极值点(可行下降方向)。 设x∗x^*是非线性规划的局部最小点,目标函数f(x)f(x)在x∗x^*可微,约束方程(g(x))在x∗x^*处可微...
  • mijian1207mijian
  • mijian1207mijian
  • 2015-11-24 03:03:42
  • 1582

[笔记] 最优化方法 - 最优性条件

最优化方法 - 最优性条件
  • LiJiancheng0614
  • LiJiancheng0614
  • 2015-12-01 17:35:25
  • 2505

拉格朗日乘子法和KKT条件

拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush-Kuhn-Tucker)条件是求解约束优化问题的重要方法,在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件...
  • huanongjingchao
  • huanongjingchao
  • 2013-12-13 10:28:07
  • 36603

KKT条件--约束问题最优化方法

KKT条件在约束条件下求解非线性规划问题很有用,是确定某点为最优点的一阶必要条件。而对于凸规划问题而言,KKT条件是局部极小点的一阶必要条件,同时也是充分条件,而且局部极小点就是全局极小点。...
  • zjsmdchen
  • zjsmdchen
  • 2016-04-06 23:33:36
  • 5648

拉格朗日乘子法及KKT条件证明

拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
  • tlzhatao
  • tlzhatao
  • 2017-02-24 14:06:38
  • 1856

拉格朗日乘子法(Lagrange Multiplier)和KKT条件

本文主要从多元变量优化的问题为背景,讲解拉格朗日乘子法、KK条件、拉格朗日对偶等相关的问题。...
  • u010055527
  • u010055527
  • 2017-10-15 20:33:14
  • 674

拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如果含有不等式...
  • le_zhou
  • le_zhou
  • 2014-10-27 08:53:39
  • 2082
收藏助手
不良信息举报
您举报文章:KKT条件--不等式约束最优性条件
举报原因:
原因补充:

(最多只允许输入30个字)