混合整数线性规划——切割平面
Posted yijuncheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了混合整数线性规划——切割平面相关的知识,希望对你有一定的参考价值。
我们可以使用Gomory切割来完全求解一个整数线性规划问题。思路是
1. 求解线性松弛
2. 根据这个线性松弛的单纯性表产生并添加Gomort切割,切割约束条件空间,
直到线性松弛的最优解为整。
针对混合整数线性规划问题,
\\[\\begin{array}{*{20}{l}}
{\\max 3x + y + 3z}\\\\
{2x + 2y + z \\le 30}\\\\
{1.5x + 2y + 3z \\le 25}\\\\
{2x + y + z \\le 20}\\\\
{x \\ge 0,y \\ge 0,z \\ge 0,}
\\end{array}\\]
引入松弛变量s1,s2,s3也是整数
\\[\\begin{array}{l}
obj = 3x + y + 3z\\\\
s1 = 30 - 2x - 2y - z\\\\
s2 = 50 - 3x - 4y - 6z \\le 25\\\\
s3 = 20 - 2x - y - z \\le 20
\\end{array}\\]
最优解
\\[\\begin{array}{l}
obj = 110/3 - 4/3*x + 1/3*s2 - s3\\\\
s1 = 10 - y + s3\\\\
z = 40/9 - 5/9*y - 2/9*s2 + 1/3*s3\\\\
x = 70/9 - 2/9*y + 1/9*s2 - 2/3*s3
\\end{array}\\]
obj=110/3,x=70/9,y=0,z=40/9
挑选非整数解的某个等式,改写,
\\[\\begin{array}{l}
z = 40/9 - 5/9*y - 2/9*s2 + 1/3*s3\\\\
z + 5/9*y + 2/9*s2 - 1/3*s3 = 40/9\\\\
(z - s3 - 4) + (5/9*y + 2/9*s2 + 2/3*s3)=4/9
\\end{array}\\]
其中(z - s3 - 4)必须是整数,(5/9*y + 2/9*s2 + 2/3*s3)必须是正的分数,且产生4/9这个分数部分。
于是我们生成了一个Gomory切割
\\[\\begin{array}{l}
5/9*y + 2/9*s2 + 2/3*s3 \\ge 4/9\\\\
5y + 2s2 + 6s3 \\ge 4
\\end{array}\\]
将松弛变量消除带入,得到一个新的约束,
\\[2x + y + 2z \\le 24\\]
这样既去掉了最优的非整数解,又保留了原本混合整数线性规划的所有整数可行解。
于是继续对带新约束问题的求解,直到最优解是整数解。
参考
https://www.coursera.org/lecture/lisan-youhua-suanfapian/3-3-3-qie-ge-ping-mian-loPYl
以上是关于混合整数线性规划——切割平面的主要内容,如果未能解决你的问题,请参考以下文章