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

原创 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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/touristman5/article/details/57418552

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

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

闲扯数学规划问题(3)-等式约束和不等式约束

数学规划问题, mins.t.f(x1,x2)g(x1,x2)=c(1) \begin{array}\\ \min & f(x_1,x_2)\tag{1}\\ s.t. & g(x_1,x_2)=...
  • quicmous
  • quicmous
  • 2016-11-29 17:07:38
  • 1033

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

KT条件是不等式约束的最优化问题的最优性条件。 所谓的最优性条件就是最优解的性质。 我们通过最优性条件的研究,能够对于优化的步骤,以及迭代求解时的结束条件有很大帮助。 最优化问题常见的有无约束优化,...
  • ice110956
  • ice110956
  • 2013-12-26 19:13:34
  • 11086

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

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

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

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

Newton 下降法解决<em>等式约束</em>凸优化问题

在含有<em>等式约束</em>的凸优化问题中,分别对初始点为可行点、初始点为不可行点以及对偶问题利用Newton下降法求解
  • 2018年04月13日 00:00

不等式约束最优性条件

不等式约束最优性条件,CSDN打公式真的很不方便,希望改进!
  • gaussrieman123
  • gaussrieman123
  • 2017-11-21 11:42:16
  • 129

约束规划问题的罚函数解法

罚函数法是利用目标函数 $f(x)$ 和约束函数 $c(x)$,构造具有惩罚性质的函数 $P(x)=\bar{P}(f(x), c(x))$ ,使得原约束优化问题转化为求 $P(x)$ 最优解的无约束...
  • philthinker
  • philthinker
  • 2017-11-13 10:59:07
  • 447

AutoLayout——约束就是等式或不等式

PS:本文面向的读者是已经接触过AutoLayout的,如果你还未接触过,那本文内容可能不大容易消化,关掉本页或点返回可能会更好,在信息泛滥的当下避免摄入过量的信息也是一种智慧。前言从学iOS开始就接...
  • fjienigui
  • fjienigui
  • 2016-03-23 20:10:16
  • 528

等式约束和不等式约束下的KKT条件求法

一、写在前面 本篇内容主要写非线性规划等式约束和不等式约束下的KKT条件,主要通过举例说明。 二、等式约束下的KKT条件 1、 题目描述 考虑等式约束的最小二乘问题 minimize...
  • quiet_girl
  • quiet_girl
  • 2018-01-15 16:41:36
  • 257
收藏助手
不良信息举报
您举报文章:等式约束与不等式约束问题
举报原因:
原因补充:

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