拉格朗日乘子法和KKT条件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拉格朗日乘子法和KKT条件相关的知识,希望对你有一定的参考价值。
参考技术A拉格朗日乘子法要解决的就是有 等式 限制条件的凸优化问题。形式如下:
例如:
令
令 导数为0,得到:
求解出x, y, z即为最优解,同时也会求出λ,但是没什么用。
关于拉格朗日乘子法的直观理解网上已经有很多解释了,此处仅简要描述。如下图中的f和g,虚线为f的等高线,g限制条件,可以看出,f一定是在和g相切的地方取到最大(小)值,所以两者在此处的梯度方向相同,仅相差一个比例因子(即公式中的λ)。
注意g(x)=0是一条曲线,如果有多个限制条件则有多条曲线,此时将g(x)看做一个函数,则g(x)=0是g的一个等高线,函数与等高线垂直的方向一定是增加最快的方向,即梯度方向。f和g梯度方向一样,所以有:
然后再外加一个所求的点一定在曲线g上的方程(即F(x)对λ的导数为0),以上公式和拉格朗日乘子法得出的公式是等价的。
拉格朗日乘子法仅适用于等式约束条件,那如果约束条件为不等式怎么办呢?
答: 当约束条件为不等式时候,结合KKT条件,依然可以用拉格朗日乘子法求解,实际上KKT条件可以把不等式约束转化为等式约束。即,KKT条件求解的问题的形式为:
待续。。。
以上是关于拉格朗日乘子法和KKT条件的主要内容,如果未能解决你的问题,请参考以下文章