拉格朗日乘子法 和对偶问题
拉格朗日乘数法就是求条件极值转化为非条件极值
嗯哼哼 首先看下条件极值为一个等式的情况
将条件转化为
带入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条件就是 强对偶问题了