数学建模国赛(二)整数规划模型(分支定界、割平面、匈牙利算法)

目录

一、梦开始的地方

1、什么是整数规划模型?

2、解的情况

3、问题分类

4、数学模型

二、分支定界算法求解 

三、割平面算法求解

1、基本思想

2、解题步骤

3、实际应用

四、匈牙利算法求解


一、梦开始的地方

1、什么是整数规划模型?

决策变量限制为整数,比如人的数量,机器的数量等。

2、解的情况

(1)原线性规划最优解全是整数,则整数规划最优解与线性规划最优解一致。

(2)整数规划无可行解。

(3)有可行解(当然也存在最优解),但是最优解变差。

整数规划最优解不能按照实数最优解简单取整而获得。

3、问题分类

根据决策变量取整要求的不同,可以分为纯整数规划、全整数规划、混合整数规划、0-1整数规划。

纯整数规划(完全整数规划):所有决策变量都要求取非负整数(引进的松弛变量和剩余变量可以不要求为整数)。

全整数规划:除了所有决策变量要求取非负整数外,系数aij和常量bij也要求取整数(引进的松弛变量和剩余变量也必须是整数)。

混合整数规划:只有一部分决策变量要求取非负整数。

0-1整数规划:所有决策变量只能取0或1两个整数。

4、数学模型

二、分支定界算法求解 

(后续更新)

三、割平面算法求解

1、基本思想

(1)如果松弛问题(P0)无解,则该整数规划问题(P)无解。

(2)如果松弛问题的最优解为整数向量,则也是该整数规划问题的最优解。

(3)如果松弛问题的解中含有非整数分量,则对松弛问题增加割平面条件:即对松弛条件增加一个线性约束,将松弛问题的可行区域割掉一块,使得非整数解刚好在割掉的一块当中,但又没有割掉原问题的可行解,得到问题P1,随即重复上面的过程。

例题说明:

求解以下问题,求z的最大值

 先画图,把区域找到。

观察发现,A点到B点,纵坐标范围为( 1, 7/4)中间没有整数,所以可以把A坐标上面的全部割掉(如红线所示)。 

同理,发现D到C的横坐标范围内也没有整数,也可以割去(如紫线所示)。

 最终割完后的区域为绿色部分

由此可得,最优解是在( 1, 1),即z的最大值为2

2、解题步骤

第一步:求解线性规划最优解

如果无解,则该问题也无解,如果是整数解,则是最优解,如果有整数也有小数,则用割平面法。

第二步:构造整数+小数(>=0)形式

第三步:将整数部分和小数部分,放在等式左右两边

第四步:根据不等式和等式关系推理

例如上题:

引入几个松弛变量x3,x4。满足线性规划的形式

 

 ③-②,③+③*2得到新的方程组

x_{1}-\frac{1}{4}x_{3}+\frac{1}{4}x_{4}=\frac{3}{4}         

x_{2}+\frac{3}{4}x_{3}+\frac{1}{4}x_{4}=\frac{7}{4}          ⑤

 将④构造成整数+小数的形式,其中小数部分要大于等于0

(1-0)x_{1}+(-1+\frac{3}{4})x_{3}+(0+\frac{1}{4})x_{4}=(0+\frac{3}{4})

将整数部分和小数部分分别放在等号两侧

x_{1}-x_{3}=\frac{3}{4}-(\frac{3}{4}x_{3}+\frac{1}{4}x_{4})

因为x1,x3都是整数并且大于0,所以等号左边一定是整数

等号右边括号里的值一定大于0,但是等号右边的值又要是整数,所以x1-x3必须小于0(自己把思路推理一遍,考虑大于0和小于0两种情况)。

所以等式右边小于0,化简之后得

3x_{3}+x_{4}\geqslant 3

再将②*3+③,得到

4x_{2}+3x_{3}+x_{4}=7

又因为刚得到 3x_{3}+x_{4}\geqslant 3

所以4x2加上大于等于三的数,结果为7,x2为整数且大于0

因此,x2=1

3、实际应用

 假设不管用哪种方式,一共生产了A产品x1个,B产品x2个,C产品x3个,D产品x4个,E产品x5个,F产品x6个。

可以得到以下方程组

加入松弛变量 (符号是因为求最小值)

 随后用Matlab求解(后续更新)

四、匈牙利算法求解

(后续更新)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摸鱼哥myg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值