数学规划模型Word格式.docx
《数学规划模型Word格式.docx》由会员分享,可在线阅读,更多相关《数学规划模型Word格式.docx(38页珍藏版)》请在冰豆网上搜索。
若买,每天最多买多少?
•可聘用临时工人,付出的工资最多是每小时几元?
•A1的获利增加到30元/公斤,应否改变生产计划?
决策变量:
x1桶牛奶生产A1(获利24×
3x1)x2桶牛奶生产A2(获利16×
4x2)
目标函数:
每天获利
约束条件:
1)
原料供应
2)
劳动时间
3)
加工能力
4)
非负约束
模型分析与假设
比例性:
xi对目标函数的“贡献”与xi取值成正比
xi对约束条件的“贡献”与xi取值成正比
可加性
xi对目标函数的“贡献”与xj取值无关
xi对约束条件的“贡献”与xj取值无关
连续性xi取值连续
假设
A1,A2每公斤的获利是与各自产量无关的常数
每桶牛奶加工出A1,A2的数量和时间是与各自产量无关的常数
A1,A2每公斤的获利是与相互产量无关的常数
每桶牛奶加工出A1,A2的数量和时间是与相互产量无关的常数
加工A1,A2的牛奶桶数是实数
模型求解图解法
图解法
c
目标函数
z=c(常数)~等值线在B(20,30)点得到最优解
目标函数和约束条件是线性函数
可行域为直线段围成的凸多边形最优解一定在凸多边形的某个顶点取得。
目标函数的等值线为直线
模型求解
max72x1+64x2
st
2)x1+x2<
50
3)12x1+8x2<
480
4)3x1<
100
end
软件实现LINDO6.1
OBJECTIVEFUNCTIONVALUE
1)3360.000
VARIABLEVALUEREDUCEDCOST
X120.0000000.000000最优解下“资源”增加1单位时“效益”的增量
X230.0000000.000000
ROWSLACKORSURPLUSDUALPRICES影子价格
2)0.00000048.000000原料增加1单位,利润增长48
3)0.0000002.000000时间增加1单位,利润增长2
4)40.0000000.000000加工能力增长不影响利润
NO.ITERATIONS=2
结果解释
20桶牛奶生产A1,30桶生产A2,利润3360元。
三种资源
原料无剩余
时间无剩余
加工能力剩余40
“资源”剩余为零的约束为紧约束(有效约束)
•35元可买到1桶牛奶,要买吗?
35<
48,应该买!
•聘用临时工人付出的工资最多每小时几元?
2元!
DORANGE(SENSITIVITY)ANALYSIS?
Yes最优解不变时目标函数系数允许变化范围
RANGESINWHICHTHEBASISISUNCHANGED:
(约束条件不变)
OBJCOEFFICIENTRANGES
VARIABLECURRENTALLOWABLEALLOWABLE
COEFINCREASEDECREASE
X172.00000024.0000008.000000x1系数范围(64,96)
X264.0000008.00000016.000000x2系数范围(48,72)
RIGHTHANDSIDERANGES
ROWCURRENTALLOWABLEALLOWABLE
RHSINCREASEDECREASEx1系数由24
250.00000010.0000006.6666673=72增加为
3480.00000053.33333280.000000303=90,在允许
4100.000000INFINITY40.000000范围内
•A1获利增加到30元/千克,应否改变生产计划
不变!
结果解释影子价格有意义时约束右端的允许变化范围
VARIABLECURRENTALLOWABLEALLOWABLE
X172.00000024.0000008.000000
X264.0000008.00000016.000000
ROWCURRENTALLOWABLEALLOWABLE
RHSINCREASEDECREASE
250.00000010.0000006.666667原料最多增加10
3480.00000053.33333280.000000时间最多增加53
4100.000000NFINITY40.000000
•35元可买到1桶牛奶,每天最多买多少?
最多买10桶!
例2奶制品的生产销售计划在例1基础上深加工
问题例1给出的A1,A2两种奶制品的生产条件、利润,及工厂的“资源”限制全都不变,为增加工厂的获利,开发了奶制品的深加工技术:
用2小时和3元加工费,可使1公斤A1加工成0.8公斤高级奶制品B1,也可将1公斤A2加工成0.75公斤高级奶制品B2,每公斤B1能获利44元,每公斤B2能获利32元。
试为该厂制订一个生产销售计划,使每天的净利润最大,并讨论以下问题:
1)若投资30元可以增加供应1桶牛奶,投资3元可以增加1小时劳动时间,应否作这项投资?
若每天投资150元,可赚回多少?
2)每公斤高级奶制品B1,B2的获利经常有10%的波动,对制订的生产销售计划有无影响?
若每公斤B1的获利经常下降10%,计划应该变化吗?
获利32元/千克
50桶牛奶,480小时
至多100公斤A1
制订生产计划,使每天净利润最大
•30元可增加1桶牛奶,3元可增加1小时时间,应否投资?
现投资150元,可赚回多少?
•B1,B2的获利经常有10%的波动,对计划有无影响?
决策变量
出售x1千克A1,x2千克A2,X3千克B1,x4千克B2x5千克A1加工B1,x6千克A2加工B2
利润
约束条件
附加约束
软件实现LINDO6.1
DORANGE(SENSITIVITY)ANALYSIS?
No结果解释
OBJECTIVEFUNCTIONVALUE
1)3460.800每天销售168千克A2和19.2
VARIABLEVALUEREDUCEDCOST千克B1,利润3460.8(元)
X10.0000001.680000
X2168.0000000.0000008桶牛奶加工成A1,42桶牛奶
X319.2000010.000000加工成A2,将得到的24千克
X40.0000000.000000A1全部加工成B1
X524.0000000.000000
X60.0000001.520000
ROWSLACKORSURPLUSDUALPRICES
2)0.0000003.160000
3)0.0000003.260000除加工能力外均为紧约束
4)76.0000000.000000
5)0.00000044.000000
6)0.00000032.000000
30元可增加1桶牛奶,3元可增加1小时时间,应否投资?
1)3460.800结果解释
VARIABLEVALUEREDUCEDCOST
X10.0000001.680000
X2168.0000000.000000
X319.2000010.000000
X40.0000000.000000增加1桶牛奶使利润增长
X524.0000000.0000003.16×
12=37.92
X60.0000001.520000增加1小时时间使利润
ROWSLACKORSURPLUSDUALPRICES增长3.26
3)0.0000003.260000投资150元增加5桶牛奶,可
4)76.0000000.000000赚回189.6元。
(大于增加时
5)0.00000044.000000间的利润增长)
结果解释B1,B2的获利有10%的波动,对计划有无影响
Yes
COEFINCREASEDECREASE
B1获利下降10%,X124.0000001.680000INFINITY超出X3系数允许范围X216.0000008.1500002.100000B2获利上升10%,X344.00000019.7500023.166667超出X4系数允许范围X432.0000002.026667INFINITY
X5-3.00000015.8000002.533334
波动对计划有影响X6-3.0000001.520000INFINITY
…………
生产计划应重新制订:
如将x3的系数改为39.6计算,会发现结果有很大变化。
4.2自来水输送与货机装运
运输问题
某市有甲、乙、丙、丁四个居民区,自来水由A、B、C三个水库供应。
四个区每天必须得到保证的基本生活用水量分别为30,70,10,10千吨,但由于水源紧张,三个水库每天最多只能分别供应50,60,50千吨自来水。
由于地理位置的差别,自来水公司从各水库向各区送水所需付出的引水管理费不同(见表1,其中C水库与丁区之间没有输水管道),其他管理费用都是450元/千吨。
根据公司规定,各区用户按照统一标准900元/千吨收费。
此外,四个区都向公司申请了额外用水量,分别为每天50,70,20,40千吨。
该公司应如何分配供水量,才能获利最多?
为了增加供水量,自来水公司正在考虑进行水库改造,使三个水库每天的最大供水量都提高一倍,问那时供水方案应如何改变?
公司利润可增加到多少?
生产、生活物资从若干供应点运送到一些需求点,怎样安排输送方案使运费最小,或利润最大;
各种类型的货物装箱,由于受体积、重量等限制,如何搭配装载,使获利最高,或装箱数量最少。
例1自来水输送
(以天计)
收入:
900元/千吨
支出引水管理费
/
其他费用:
450元/千吨
•应如何分配水库供水量,公司才能获利最多?
•若水库供水量都提高一倍,公司利润可增加到多少?
问题分析
丁:
10;
40
总供水量:
160<
总需求量:
120+180=300
450元/千吨其他支出450160=72,000(元)
确定送水方案使利润最大使引水管理费最小
模型建立确定3个水库向4个小区的供水量
决策变量水库i向j区的日供水量为xij(x34=0)
目标函数
线性规划模型(LP)
供应限制
2)需求限制
模型求解
10
引水管理费24400(元)
利润=总收入-其它费用-引水管理费=144000-72000-24400=47600(元)
1)24400.00
X110.00000030.000000
X1250.0000000.000000
X130.00000050.000000
X140.00000020.000000
X210.00000010.000000
X2250.0000000.000000
X230.00000020.000000
X2410.0000000.000000
X3140.0000000.000000
X320.00000010.000000
X3310.0000000.000000
问题讨论
每个水库最大供水量都提高一倍,总供水量(320)>
总需求量(300),确定送水方案使利润最大
利润=收入(900)–其它费用(450)–引水管理费
B,C类似处理需求约束可以不变
求解
30
1)88700.00总利润88700(元)
X110.00000020.000000
X12100.0000000.000000这类问题一般称为“运
X130.00000040.000000输问题”
X140.00000020.000000(TransportationProblem)
X2130.0000000.000000
X2240.0000000.000000
X230.00000010.000000
X2450.0000000.000000
X3150.0000000.000000
X320.00000020.000000
X3330.0000000.000000
例2货机装运个
某架货机有三个货舱:
前仓、中仓、后仓。
三个货舱所能装载的货物的最大重量和体积都有限制,如表3所示。
并且,为了保持飞机的平衡,三个货舱中实际装载货物的重量必须与其最大容许重量成比例。
现有四类货物供该货机本次飞行装运,其有关信息如表4,最后一列指装运后所获得的利润。
应如何安排装运,使该货机本次飞行获利最大?
三个货舱最大载重(吨),最大容积(米3)
飞机平衡
后仓:
8;
5300
三个货舱中实际载重必须与其最大载重成比例
2850
如何装运,使本次飞行获利最大?
货机装运
模型假设
每种货物可以分割到任意小;
每种货物可以在一个或多个货舱中任意分布;
多种货物可以混装,并保证不留空隙;
模型建立
决策变量xij--第i种货物装入第j个货舱的重量(吨)
i=1,2,3,4,j=1,2,3(分别代表前、中、后仓)
目标函数(利润)
货舱重量
货舱容积
平衡要求
4)货物供应
OBJECTIVEFUNCTIONVALUE货物2:
前仓10,后仓5;
1)121515.8货物3:
中仓13,后仓3;
货物4:
中仓3。
X110.000000400.000000最大利润约121516元
X120.00000057.894737
X130.000000400.000000
X2110.0000000.000000
X220.000000239.473679货物~供应点运输问题
X235.0000000.000000货舱~需求点
X310.0000000.000000
X3212.9473690.000000
X333.0000000.000000平衡要求运输问题的扩展
X410.000000650.000000
X423.0526320.000000
X430.000000650.000000
汽车厂生产计划
一汽车生产小`中`大三种类型的汽车,已知各类型每辆车对钢材`劳动时间的需求,利润以及每月工厂钢材`劳动时间的现有需如表5所示.试制订月生产计划,使工厂的利润最大.
进一步讨论:
由于各种条件限制,如果生产某一类型汽车,则至少要生产80辆,那么最优的生产计划应该作何改变。
设每月生产小、中、大型汽车的数量分别为x1,x2,x3
小型中型大型现有量
钢材
时间
利润
1.535600
28025040060000
234
整数规划(IntegerProgramming,简记IP)
模型求解(IP可用LINDO直接求解
max2x1+3x2+4x3
1.5x1+3x2+5x3<
600
280x1+250x2+400x3<
60000
gin3(gin3”表示“前3个变量为整数”,
等价于:
ginx1ginx2ginx3)
1)632.2581
X164.5161290.000000
X2167.7419280.000000
X30.0000000.946237
ROWSLACKORSURPLUSDUALPRICES
2)0.0000000.731183
3)0.0000000.003226
结果为小数,怎么办?
1)舍去小数:
取x1=64,x2=167,算出目标函数值z=629,与LP最优值632.2581相差不大。
2)试探:
如取x1=65,x2=167;
x1=64,x2=168等,计算函数值z,通过比较可能得到更优的解。
•但必须检验它们是否满足约束条件。
为什么?
3)模型中增加条件:
x1,x2,x3均为整数,重新求解。
结果解释:
IP的最优解x1=64,x2=168,x3=0,最优值z=632
•若生产某类汽车,则至少生产80辆,求生产计划。
x1,x2,,x3=0或80
方法1:
分解为8个LP子模型其
中3个子模型应去掉,然后
逐一求解,比较目标函数值,
再加上整数约束,得最优解:
x1=80,x2=150,x3=0,最优值z=610
方法2:
引入0-1变量,化为整数规划
x1=0或80
x3=0或80
M为大的正数,可取1000
LINDO中对0-1变量的限定:
inty1inty2inty3
1)610.0000
X180.000000-2.000000
X2150.000000-3.000000
X30.000000-4.000000最优解同前
Y11.0000000.000000
Y21.0000000.000000
Y30.0000000.000000
方法3:
化为非线性规划
x2=0或80
非线性规划(Non-LinearProgramming,简记NLP)NLP虽然可用现成的数学软件求解(如LINGO,MATLAB),但是其结果常依赖于初值的选择。
实践表明,本例仅当初值非常接近上面方法算出的最优解时,才能得到正确的结果。
例2原油采购与加工
某公司用两种原油(A和B)混合加工成两种汽油(甲和乙)。
甲`乙两种汽油含原油A的最低比例分别为50%和60%,每吨售价分别为4800元和5600元。
该公司现有原油A和B的库存量分别为500吨和1000吨,还可以从市场上买到不超过1500吨的原油A。
原油A的市场价为:
购买量不超过500吨时的单价为10000元/吨;
购买量超过1000吨时,超过500吨的部分8000元/吨;
购买量超过1000吨时,超过1000吨的部分6000元/吨。
该公司应如何安排原油的采购和加工?
汽油乙(A60%)
市场上可买到不超过1500吨的原油A:
•购买量不超过500吨时的单价为10000元/吨;
•购买量超过500吨但不超过1000吨时,超过500吨的部分8000元/吨;
•购买量超过1000吨时,超过1000吨的部分6000元/吨。
应如何安排原油的采购和加工?
问题分析
•利润:
销售汽油的收入-购买原油A的支出
•难点:
原油A的购价与购买量的关系较复杂
原油A的购买量,原油A,B生产汽油甲,乙的数量
5.6千元/吨
利润(千元)c(x)~购买原油A的支出