数学建模整数规划详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
钢材(吨) 劳动时间(小时) 利润(万元)
小型 1.5 280 2
中型 3
250 3
大型 5 400 4
现有量 600 60000
• 制订月生产计划,使工厂的利润最大。
汽车厂生产计划
模型建立
设每月生产小、中、大型 汽车的数量分别为x1, x2, x3
小型 钢材 1.5 时间 280 利润 2
中型 3
注意:IP不能用Matlab软件直接求解
怎么办?
算法:1、割平面法 2、分支定界法 (应用较广泛) 3、全枚举法
全枚举法一般步骤: 1、确定决策变量数量和变化范围; 2、用for-end语句作决策变量的整型参数变化的循 环,若有多个决策变量则要实现多重循环; 3、用if-end语句作不等式约束和等式约束条件是否 满足的判断; 4、符合约束条件的一组决策变量,则进行目标函 数计算,并进行存储,否则跳过 5、用函数max或min语句,搜索目标函数的最大值 或最小值及相应的决策变量。
是一个整数线性规划问题。这里把它当成一个线性规划来 解,求得其最优解刚好是整数:x1=9,x2=0,故它就是该 整数规划的最优解。若用线性规划解法求得的最优解不是 整数,将其取整后不一定是相应整数规划的最优解,这样 的整数规划应用专门的方法求解。
例1 汽车厂生产计划
汽车厂生产三种类型的汽车,已知各类型每辆车对钢 材、劳动时间的需求,利润及工厂每月的现有量。
注意:当决策变量变化范围较大时,运行速度较慢
Max z 2x1 3x2 4x3
s. t. 1.5x1 3x2 5x3 600
280 x1 250 x2 400 x3 60000
x1, x2 , x3为非负整数
qiche2.m qiche2.c
IP 的最优解x1=64,x2=168,x3=0,最优值z=632
约束条件为:
8 25 x1 8 15 x2 1800
8 8
25 15
x1 x2
1800 1800
x1 0, x2 0 且x1、x2均为整数
编写M文件xxgh4.m如下:
c = [40;36];
A=[-5 -3];
b=[-45];
Aeq=[]; beq=[];
To Matlab (xxgh4)
167.7419 0.0000
f= 632.2581
qiche1.m
1)舍去小数:取x1=64,x2=167,算出目标函数值z=629,与 LP最优值632.2581相差不大。
2)试探:如取x1=65,x2=167;x1=64,x2=168等,计算函数 值z,通过比较可能得到更优的解。
• 但必须检验它们是否满足约束条件
如何选拔队员组成4100米混合泳接力队?
丁的蛙泳成绩退步到1’15”2;戊的自由泳成绩进 步到57”5, 组成接力队的方案是否应该调整?
穷举法:组成接力队的方案共有5!=120种。
0-1规划模型 cij(秒)~队员i 第j 种泳姿的百米成绩
cij
i=1
i=2
i=3
i=4
i=5
j=1
66.8
57.2
vlb = zeros(2,1);
vub=[9;15];
%调用linprog函数:
[x,fval] = linprog(c,A,b,Aeq,beq,vlb,vub)
结果为: x=
9.0000 0.0000 fval =360
即只需聘用9个一级检验员。
注:本问题应还有一个约束条件:x1、x2取整数。故它
第四章 整数线性规划
4.1 汽车生产计划问题 4.2 分派问题 4.3 选课策略
y
问题二: 某厂每日8小时的产量不低于1800件。为了进行质
量控制,计划聘请两种不同水平的检验员。一级检验员的标准 为:速度25件/小时,正确率98%,计时工资4元/小时;二级检 验员的标准为:速度15小时/件,正确率95%,计时工资3元/小 时。检验员每错检一次,工厂要损失2元。为使总检验费用最 省,该工厂应聘一级、二级检验员各几名?
例2 混合泳接力队的选拔
5名候选人的百米成绩
蝶泳 仰泳 蛙泳 自由泳
甲 1’06”8 1’15”6 1’27” 58”6
乙 57”2 1’06” 1’06”4 53”
丙 1’18” 1’07”8 1’24”6 59”4
丁 1’10” 1’14”2 1’09”6 57”2
戊 1’07”4 1’11” 1’23”8 1’02”4
3) 模型中增加条件:x1, x2, x3 均为整数,重新求解。
模型求解 整数规划(Integer Programming,简记IP)
Max z 2x1 3x2 4x3
s. t. 1.5x1 3x2 5x3 600 280 x1 250 x2 400 x3 60000
x1, x2 , x3为非负整数
250 3
大型 5
400 4
现有量 600 60000
Max z 2x1 3x2 4x3
s. t. 1.5x1 3x2 5x3 600 280 x1 250 x2 400 x3 60000
x1, x2 , x3 0
线性 规划 模型
(LP)
模型 求解
x= 64.5161
结果为小数, 怎么办?
78
70
67.4
j=2
75.6
66
67.8
74.2
71
j=3
87
66.4
84.6
69.6
83.8
ຫໍສະໝຸດ Baidu
j=4
58.6
53
59.4
57.2
62.4
若选择队员i参加泳姿j 的比赛,记xij=1, 否则记xij=0
解 设需要一级和二级检验员的人数分别为x1、x2人, 则应付检验员的工资为:
8 4 x1 8 3 x2 32 x1 24 x2
因检验员错检而造成的损失为:
(8 25 2% x1 8 15 5% x2 ) 2 8x1 12 x2
故目标函数为:
min z (32 x1 24 x2) (8x1 12 x2 ) 40 x1 36 x2
注意:对于本题来说,决策变量的变化范围很大, 故程序运行速度较慢。
分派问题
若干项任务分给一些候选人来完成,每人的专长不同, 完成每项任务取得的效益或需要的资源就不同,如何分 派任务使获得的总效益最大,或付出的总资源最少。
若干种策略供选择,不同的策略得到的收益或付出的 成本不同,各个策略之间有相互制约关系,如何在满 足一定条件下作出决择,使得收益最大或成本最小。