拉格朗日乘子法 和对偶问题

拉格朗日乘数法就是求条件极值转化为非条件极值

嗯哼哼  首先看下条件极值为一个等式的情况


将条件转化为


带入z 

就变成简单的一元函数求极值了


嗯哼

多变量也同样如此


现在看看不等式约束

嗯哼哼

重要的数学思想来了 

像条件极值转化为非条件极值

我们能不能将不等式约束转化为等式约束 然后就依样画葫芦了

嗯哼哼 引入松弛变量 

what 什么是松弛变量

比如X1<= 4 

定义松弛变量 X2 = 4 - X1 故约束X1<= 4 

X1 + X2 = 4且 X2 >= 0 完全等价

故原来的约束 X1 - 4<= 0

变成 X1 + X2 - 4 = 0

然后就和等式条件的拉格朗日乘子法一样

因为 X2要求大于零 又是一个新的不等式约束 故我们可以把变量写成 一个数的平方

栗子如下


引入松弛变量


然后对其求偏导


第五个是一个重要的条件

来说下 

什么是KKT条件

就是说满足一定条件后不等式约束下的 拉格朗日乘子法 

就可以完成对偶的变换

嗯哼哼  先来看看 不等式约束


其中 是不等式约束 

再来看不等式约束要满足什么条件 可以发生转换  为什么

当其满足以下条件是 就是所谓的KKT条件








故在满足的条件下 

可转化为其对偶问题



再说说 为什么受约束条件的求极值能能通过拉格朗日乘子式

嗯哼哼 拉格朗日这大牛YY了一个惩罚因子  使L()只能走在约束区内


通过改变使得其中 X暂看作常量,记作



一旦X 违反约束条件

 



其惩罚因子都会 


使得




对偶问题


就是看作常量 ,改变X的值使得函数最小



证明


而加上上述的KKT条件就是  强对偶问题了





猜你喜欢

转载自blog.csdn.net/sibiantai555/article/details/79997868