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条件的推导。
我们看下面这个引理:
设a1,…ar是n维向量,则不存在向量,使得
成立的充要条件是,存在不全为零的非负实数组,使得
这条引理证明略,从几何意义上理解,如下:
如果不存在使得向量ai*d全小于0的向量d,那么ai中不能够全都在某个超平面的一侧。否则,取超平面另一侧的任意一个向量作为d,都能够满足ai*d全小于0.
再看我们上一部分推出的最优解条件:
当x是最优解时,不存在可行的下降方向p,使得
也就是不存在:
把上式中和分别看成Gordan引理中的a1,a2,….,ar,于是存在不全为0的数:,使
这也称为Fritz-John一阶必要条件
完整的定理如下:
x为局部最优解,f(x),c(x)在点x可微,则存在非零向量,使得:
上述Fritz-John条件中,如果lamda0=0,那么所得的点与目标函数无关,这样造成无论什么目标函数,只要约束条件一样,得到的可能极值点也就相同。也就是,这个条件过于宽松了。
于是我们再加一个约束条件,如“有效约束函数的梯度线性无关”,那么lamda0就不会为0了。于是得到了我们如下的KT条件:
还是看一个定理:
已知a1,….,ar和b为n为向量。所有满足:
上式的证明需要用到凸分析的知识,这里我们从几何意义来看。
简单来说就是,所有满足与凸锥B中所有向量点乘大于零的向量,都在凸锥A中;
那么,如果一个向量d,满足,那么b就处于a1与ar之间,也就是。
如上图中d1满足条件,d2不满足条件。
还是两个集合交为空的条件:
当x为最优解,不存在P,使得:
反过来,也就是存在p,使得
根据Farkas定理,约束条件ci(x)组成一个凸锥,f(x)处于这个凸锥之中,也就是:
这也是KT条件。通过下图,我们能够直观地理解:
完整地KT条件如下:
上面的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。。。