赞
踩
本篇上一篇讲的凸优化问题:凸优化问题(最简单)链接: link
KKT最优化条件是Karush(1939)以及Kuhn和Tucker(1951)先后独立发表出来的,但在Kuhn和Tucker发表之后才逐渐受到重视,因此多数情况下记载成库恩-塔克条件(Kuhn-Tucker conditions)。先介绍几个优化的概念。
最优化问题,是指在一定约束条件下,求解一个目标函数的最大值(或最小值)问题。根据是否有变量的约束条件,可以将优化问题分为无约束优化问题和约束优化问题。
目标函数的可行域为全空间,对目标函数直接求导求出极值点。
约束优化问题中变量需要满足一些等式或不等式的约束条件。约束优化问题通常使用拉格朗日乘数法来进行求解。
非线性优化问题中,有一类比较特殊的问题是凸优化问题(Conver Programming)。在凸优化问题中,变量x的可行域为凸集,即对于集合中任意两点,他们的连线全部位于在集合内部。目标函数f也必须为凸函数,即满足
KKT(Karush-Kuhn-Tucker)条件,是非线性规划领域里最重要的理论成果之一,是确定某点为极值点的必要条件。对于凸规划,KKT点就是优化极值点(充分必要条件)。
所以介绍KKT条件之前先介绍拉格朗日函数的对偶问题
因为拉格朗日函数背后的意义和梯度有关,梯度是一个向量
只有在目标函数和约束条件相切的位置,目标函数的梯度方向和约束条件的梯度方向才是相反的
遇到一个非凸问题又该怎么办呢,那就是去看它的拉格朗日函数的对偶问题
所以,原问题可行条件可知为:
构造拉格朗日函数写出来,其实就是求min(L)
先找到一个对偶函数,交换一下顺序,lambda、miu看成常数,x看作变量,先去求最小minL,这个函数叫对偶函数,对偶函数上如果增加求最大maxg加上的约束条件,就是左边原问题的对偶问题,相当于就是把计算顺序颠倒一下,如下
所以,对偶问题可行条件为:
互补松弛条件:
求最值
求解过程:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。