【整理】深入理解拉格朗日乘子法(LagrangeMultiplier)和KKT条件.docxVIP

【整理】深入理解拉格朗日乘子法(LagrangeMultiplier)和KKT条件.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【整理】 深入理解拉格朗日乘子法 ( Lagrange Multiplier) KKT 条件  和 在求解最优化问题中, 拉格朗日乘子法 (Lagrange Multiplier )和 KKT( Karush Kuhn Tucker )条件是两种最常用的方法。在有等式约束时使用拉格朗日乘子法,在有不等 约束时使用 KKT 条件。 我们这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域上的全局最小 (因为最小值与最大值可以很容易转化, 即最大值问题可以转化成最小值问题 )。提到 KKT 条件一般会附带的提一下拉格朗日乘子。对学过高等数学的人来说比较拉格朗日乘子应 该会有些印象。二者均是求解最优化问题的方法,不同之处 在于应用的情形不同。 一般情况下,最优化问题会碰到一下三种情况: ( 1)无约束条件 这是最简单的情况,解决方法通常是函数对变量求导,令求导函数等于 0 的点可能是极值点。将结果带回原函数进行验证即可。 ( 2)等式约束条件 设目标函数为 f(x) ,约束条件为 h_k(x) ,形如 : 表示 subject to ,“受限于”的意思,l 表示有 l 个约束条 s.t. 件。  则解决方法是消元法或者拉格 朗日法。消元法比较简单不在赘述, 这里主要讲拉格朗日法,因为后面提到的 KKT 条件是对拉格朗日乘子法的一种泛化。 例如给定椭球 : 求这个椭 球的内接长方体的最大体积。这个问题实际上就是条件极值 问题,即在条件 下,求的最大值。 当然这个问 题实际可以先根据条件消去 z ( 消元法 ),然后带入转化为无 条件极值问题来处理。但是有时候这样做很困难,甚至是做 不到的,这时候就需要用拉格朗日乘数法了。 首先 定义拉格朗日函数 F(x) : ( 其中 λk是 各个约束条件的待定系数。 ) 然后解变量的偏导方程:  ......,  如果有 l 个约束条件, 就应该有 l+1 个方程。求出的方程组的解就可 能是最优化值(高等数学中提到的极值) ,将结果带回原方 程验证就可得到解。 回到上面的题目,通过拉格朗日 乘数法将问题转化为 对求偏导得到 联立前面三个方程得到和,带入第四个方程解之 带入解得最大体积为: 至于为什么 这么做可以求解最优化?维基百科上给出了一个比较好的 直观解释。  举个二维最优化的例子: min f(x,y)  s.t. g(x,y) = c  这里画 出  z=f(x,y)  的等高线(函数登高线定义见百度百科)  : 绿线标出的是约束  g(x,y)=c  的点的轨迹。蓝线是  f(x,y) 的等 高线。箭头表示斜率,和等高线的法线平行。从梯度的方向 上来看,显然有 d1d2 。绿色的线是约束,也就是说,只要 正好落在这条绿线上的点才可能是满足要求的点。如果没有 这条约束, f(x,y) 的最小值应该会落在最小那圈等高线内部的某一点上。而现在加上了约束,最小值点应该在哪里呢?显然应该是在 f(x,y) 的等高线正好和约束线相切的位置,因为如果只是相交意味着肯定还存在其它的等高线在该条等高线的内部或者外部,使得新的等高线与目标函数的交点的值更大或者更小,只有到等高线与目标函数的曲线相切的时候, 可能取得最优值。 如果我们对约束也求梯度 ?g(x,y) ,则其梯度如图中绿色箭头所示。很容易看出来,要想让目标函 f(x,y) 的等高线和约束相切,则他们切点的梯度一定在一条直线上 (f 和 g 的斜率平行 )。 也即在最优化解的时候: ?f(x,y)= λ?g(x,y)(-C) (其 中?为梯度算子 ; 即: f(x) 的梯度 = λ * g(x) 的梯度,是λ常数 , 可以是任何非  0 实数,表示左右两边同向。  )  即: [f(x,y)+ λ (g(x,y)?c)]=0λ≠0那么拉格朗日函数: F(x,y)=f(x,y)+  λ (g(x,y)?c)在达到极值时与  f(x,y)  相等,因为 F(x,y)  达到极值时  g(x,y)?c  总等于零。  min( F(x,  λ ) )  取得 极小值时其导数为  0,即▽  f(x)+  ▽∑  ni=  λ ihi(x)=0也就是,说  f(x) 和  h(x)  的梯度共线。  简单的说,在  F(x,  λ )  取得最优化解 的时候,即  F(x,  λ )  取极(值导数为  0,▽ [f(x,y)+  λ (g(x,y)?c)]=0  ) 的时候,f(x) 与  g(x)  梯度共线,此时就是在条件约束  g(x)  下, f(x) 的最优化解。  ( 3)不等式约束条件  设目标函数 f(x) ,不等式约束为

文档评论(0)

bcll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档