等式约束与不等式约束问题

原创 2017年02月26日 17:07:40

针对特殊约束条件下的优化问题,有着不同类别适应不同条件的求解算法。包括梯度法、求解线性等式约束问题的投影梯度法、适用于含有等式约束规划和含有不等式规划的拉格朗日乘子法、针对不等式约束的KKT条件法、罚函数法等。

等式约束问题

设目标函数为f(x),约束条件为hk(x),形如

minf(x)s.t.hk(x)=0k=1,2,k

则解决方法是消元法或者拉格朗日法。消元法不再多说,拉格朗日法这里在提一下,因为后面提到的KKT条件是对拉格朗日乘子法的一种泛化。

L(x,λ)=f(x)+k=1lλkhk(x)

其中λk是各个约束条件的待定系数。
然后解偏导方程组:
Fxi=0Fλk=0

至于为什么这么做可以求解最优化?维基百科上给出了一个比较好的直观解释。

举个二维最优化的例子:

minf(x,y)s.t.g(x,y)=c

这里画出z=f(x,y)的等高线:
这里写图片描述

绿线标出的是约束g(x,y)=c的点的轨迹。蓝线是f(x,y)的等高线。箭头表示斜率,和等高线的法线平行。从梯度的方向上来看,显然有d1>d2
绿色的线是约束,也就是说,只要正好落在这条绿线上的点才可能是满足要求的点。如果没有这条约束,f(x,y)的最小值应该会落在最小那圈等高线内部的某一点上。
而现在加上了约束,最小值点应该在哪里呢?显然应该是在f(x,y)的等高线正好和约束线相切的位置,因为如果只是相交意味着肯定还存在其它的等高线在该条等高线的内部或者外部,使得新的等高线与目标函数的交点的值更大或者更小,只有到等高线与目标函数的曲线相切的时候,可能取得最优值。

如果我们对约束也求梯度g(x,y),则其梯度如图中绿色箭头所示。很容易看出来,要想让目标函数f(x,y)的等高线和约束相切,则他们切点的梯度一定在一条直线上。
即:f(x,y)=λg(x,y)C)
其中λ可以是任何非0实数。

一旦求出λ的值,将其带入下式,易求在无约束极值和极值所对应的点。

F(x,y)=f(x,y)+λ(g(x,y)c)

这就是拉格朗日函数的由来。

不等式约束问题

考虑一般形式的优化问题:

Minf(x)s.t.h(x)=0g(x)0

由上式,对于一个不等式约束gj(x)0,如果在xgj(x)=0,那么称该不等式约束是x处的起作用约束;如果在xgj(x)0,那么称该约束是处的不起作用约束。
按惯例,把等式约束hi(x)=0当作总是起作用的约束。

由此,定义不等式约束下的拉格朗日函数L,则L表达式为:

L(X,λ,μ)=f(X)+j==1pλjhj(X)+k=1qμkgk(X)

其中f(x)是原目标函数,hj(x)是第j个等式约束条件,λj是对应的约束系数,gk是不等式约束,μk是对应的约束系数。

常用的方法是KKT条件,同样地,把所有的不等式约束、等式约束和目标函数全部写为一个式子,简化为L(a,b,x)=f(x)+ag(x)+bh(x)

KKT条件是说最优值必须满足以下条件:

1)Lxi=0对x求导为零;

2)h(x) =0;

3)a*g(x) = 0;

求取这些等式之后就能得到候选最优值。其中第三个式子非常有趣,因为g(x)<=0,如果要满足这个等式,必须a=0或者g(x)=0. 这是SVM的很多重要性质的来源,如支持向量的概念。

KKT的推导:

首先不加证明的给出对偶问题结论:

Minω,bMaxbL(ω,b,α)=MaxbMinω,bL(ω,b,α)

这里写图片描述

参考资料:
[1].Edwin K.P.Chong and Stanisslaw H.Zak 最优化导论(第四版)
[2].http://blog.csdn.net/xianlingmao/article/details/7919597

版权声明:本文为博主原创文章,未经博主允许不得转载。

最优化--等式约束最优性条件

所谓的最优性条件就是最优解的性质。 我们通过最优性条件的研究,能够对于优化的步骤,以及迭代求解时的结束条件有很大帮助。 最优化问题常见的有无约束优化,等式约束优化,不等式约束优化。这里用两篇blo...
  • ice110956
  • ice110956
  • 2013年12月26日 14:29
  • 6347

等式约束与不等式约束问题

针对特殊约束条件下的优化问题,有着不同类别适应不同条件的求解算法。包括梯度法、求解线性等式约束问题的投影梯度法、适用于含有等式约束规划和含有不等式规划的拉格朗日乘子法、针对不等式约束的KKT条件法、罚...
  • touristman5
  • touristman5
  • 2017年02月26日 17:07
  • 1088

约束最优化问题求解:拉格朗日乘子法和KKT条件

在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。该方法应用在许多统计学习方法中,例如最大熵模型和支持向量机。对...
  • DawnRanger
  • DawnRanger
  • 2016年11月11日 21:29
  • 4875

拉格朗日乘数法(等式约束和不等式约束)及KKT条件

拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush-Kuhn-Tucker)条件是求解约束优化问题的重要方法,在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件...
  • niuniuyuh
  • niuniuyuh
  • 2017年04月23日 14:23
  • 1459

解等式约束信赖域子问题Matlab程序

  • 2016年07月25日 19:29
  • 1KB
  • 下载

障碍法和原对偶内点法解决含有不等式约束的凸优化问题

  • 2012年01月02日 16:09
  • 2KB
  • 下载

大型不等式约束优化与控制

  • 2015年04月20日 12:30
  • 1.16MB
  • 下载

优化:等式约束

等式约束:拉格朗日条件
  • Becky_93
  • Becky_93
  • 2016年05月29日 10:10
  • 113

支持向量机入门系列-2:等式约束极小的最优性条件

对支持向量机的求解都是将上节说的原问题转化为对偶问题进行求解的,这些内容都是最优化课程中的内容。   回忆上节的内容,我们的目标是寻找函数在若干约束条件下的最小值。在上节的原问题中,约束条件是包含...
  • vivihe0
  • vivihe0
  • 2011年12月03日 19:20
  • 6345

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

KT条件是不等式约束的最优化问题的最优性条件。 所谓的最优性条件就是最优解的性质。 我们通过最优性条件的研究,能够对于优化的步骤,以及迭代求解时的结束条件有很大帮助。 最优化问题常见的有无约束优化,...
  • ice110956
  • ice110956
  • 2013年12月26日 19:13
  • 10141
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:等式约束与不等式约束问题
举报原因:
原因补充:

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