拉格朗日松弛和分解研究说明 2023.3.8
最编程
2024-03-23 17:54:31
...
第一种松弛,将约束右边值变大,可行空间变大,但是没什么意义。
第二种松弛,去除部分约束,改变问题结构
第三种松弛,叫做连续松弛或者线性松弛,保留约束条件,但是离散变量看成连续变量(去掉整数约束)
第四种松弛,拉格朗日松弛,去掉模型中的部分线性约束,保留整数约束和其他线性约束。去掉的约束并不是真的不要了,而是利用拉格朗日乘子在目标函数上增加惩罚。
有效的松弛问题需要满足两个条件:
原问题的可行解一定是松弛问题的可行解。
松弛问题的所有可行解的目标函数值一定优于或等于原问题的最优目标函数值。
难点在于去掉约束的同时,故意保留约束的一些信息。
从拉格朗日松弛的角度认识线性规划的对偶问题
常规的方法就是把线性规划问题转为标准形式,然后对照书上的表,转化为对偶问题,如下图所示。
另外一种方式是利用拉格朗日松弛求对偶问题,同样对于上述例子
第一步,引入拉格朗日乘子,构造拉格朗日函数。
当μ大于0时,(b-Ax)<0,此时,所以松弛是符合上述条件1的。
第二步,寻找最紧的拉格朗日松弛。
因为x>=0,所以的情况下才能取到最优值,所以min部分最小值为,当时取得,得到的就是其对偶问题。
拉格朗日分解
简单可分离问题:约束条件彼此独立,而且每个约束条件值包含单独的变量。则原问题的最优解=子问题1的最优解+子问题2的最优解。
问什么要分解?分解后难度是完全不一样的。1个100维的问题难度是,而将它分解为100个1维问题后,难度就是。
但是有些问题不能简单分解,此时就需要用到拉格朗日分解。
下一篇: 最小松弛优先(LLF)算法