码迷,mamicode.com
首页 > 其他好文 > 详细

混合整数线性规划——切割平面

时间:2019-05-31 11:48:02      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:添加   根据   生成   图片   http   coursera   最优   image   分数   

我们可以使用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

混合整数线性规划——切割平面

标签:添加   根据   生成   图片   http   coursera   最优   image   分数   

原文地址:https://www.cnblogs.com/yijuncheng/p/10953692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!