M04pptConvertor.docx
《M04pptConvertor.docx》由会员分享,可在线阅读,更多相关《M04pptConvertor.docx(32页珍藏版)》请在冰豆网上搜索。
![M04pptConvertor.docx](https://file1.bdocx.com/fileroot1/2022-11/26/c51351c4-426b-4f96-9161-a81dcfe4930f/c51351c4-426b-4f96-9161-a81dcfe4930f1.gif)
M04pptConvertor
第四章数学规划模型
4.1奶制品的生产与销售
4.2自来水输送与货机装运
4.3汽车生产与原油采购
4.4接力队选拔和选课策略
4.5饮料厂的生产与检修
4.6钢管和易拉罐下料
y
数学规划模型
实际问题中
的优化模型
x~决策变量
f(x)~目标函数
gi(x)£0~约束条件
多元函数条件极值
决策变量个数n和
约束条件个数m较大
最优解在可行域
的边界上取得
数学规划
线性规划
非线性规划
整数规划
重点在模型的建立和结果的分析
企业生产计划
4.1奶制品的生产与销售
空间层次
工厂级:
根据外部需求和内部设备、人力、原料等条件,以最大利润为目标制订产品生产计划;
车间级:
根据生产计划、工艺流程、资源约束及费用参数等,以最小成本为目标制订生产批量计划。
时间层次
若短时间内外部需求和内部资源等不随时间变化,可制订单阶段生产计划,否则应制订多阶段生产计划。
例1加工奶制品的生产计划
50桶牛奶
时间480小时
至多加工100公斤A1
制订生产计划,使每天获利最大
35元可买到1桶牛奶,买吗?
若买,每天最多买多少?
可聘用临时工人,付出的工资最多是每小时几元?
A1的获利增加到30元/公斤,应否改变生产计划?
每天:
x1桶牛奶生产A1
x2桶牛奶生产A2
获利24×3x1
获利16×4x2
原料供应
劳动时间
加工能力
决策变量
目标函数
每天获利
约束条件
非负约束
线性规划模型(LP)
时间480小时
至多加工100公斤A1
模型分析与假设
比例性
可加性
连续性
xi对目标函数的“贡献”与xi取值成正比
xi对约束条件的“贡献”与xi取值成正比
xi对目标函数的“贡献”与xj取值无关
xi对约束条件的“贡献”与xj取值无关
xi取值连续
A1,A2每公斤的获利是与各自产量无关的常数
每桶牛奶加工出A1,A2的数量和时间是与各自产量无关的常数
A1,A2每公斤的获利是与相互产量无关的常数
每桶牛奶加工出A1,A2的数量和时间是与相互产量无关的常数
加工A1,A2的牛奶桶数是实数
线性规划模型
模型求解
图解法
目标函数
z=c(常数)~等值线
在B(20,30)点得到最优解
目标函数和约束条件是线性函数
可行域为直线段围成的凸多边形
目标函数的等值线为直线
最优解一定在凸多边形的某个顶点取得。
模型求解
软件实现
LINDO6.1
max72x1+64x2
st
2)x1+x2<50
3)12x1+8x2<480
4)3x1<100
end
OBJECTIVEFUNCTIONVALUE
1)3360.000
VARIABLEVALUEREDUCEDCOST
X120.0000000.000000
X230.0000000.000000
ROWSLACKORSURPLUSDUALPRICES
2)0.00000048.000000
3)0.0000002.000000
4)40.0000000.000000
NO.ITERATIONS=2
DORANGE(SENSITIVITY)ANALYSIS?
No
20桶牛奶生产A1,30桶生产A2,利润3360元。
结果解释
OBJECTIVEFUNCTIONVALUE
1)3360.000
VARIABLEVALUEREDUCEDCOST
X120.0000000.000000
X230.0000000.000000
ROWSLACKORSURPLUSDUALPRICES
2)0.00000048.000000
3)0.0000002.000000
4)40.0000000.000000
NO.ITERATIONS=2
原料无剩余
时间无剩余
加工能力剩余40
max72x1+64x2
st
2)x1+x2<50
3)12x1+8x2<480
4)3x1<100
end
三种资源
“资源”剩余为零的约束为紧约束(有效约束)
结果解释
OBJECTIVEFUNCTIONVALUE
1)3360.000
VARIABLEVALUEREDUCEDCOST
X120.0000000.000000
X230.0000000.000000
ROWSLACKORSURPLUSDUALPRICES
2)0.00000048.000000
3)0.0000002.000000
4)40.0000000.000000
NO.ITERATIONS=2
最优解下“资源”增加1单位时“效益”的增量
原料增加1单位,利润增长48
时间增加1单位,利润增长2
加工能力增长不影响利润
影子价格
35元可买到1桶牛奶,要买吗?
35<48,应该买!
聘用临时工人付出的工资最多每小时几元?
2元!
RANGESINWHICHTHEBASISISUNCHANGED:
OBJCOEFFICIENTRANGES
VARIABLECURRENTALLOWABLEALLOWABLE
COEFINCREASEDECREASE
X172.00000024.0000008.000000
X264.0000008.00000016.000000
RIGHTHANDSIDERANGES
ROWCURRENTALLOWABLEALLOWABLE
RHSINCREASEDECREASE
250.00000010.0000006.666667
3480.00000053.33333280.000000
4100.000000INFINITY40.000000
最优解不变时目标函数系数允许变化范围
DORANGE(SENSITIVITY)ANALYSIS?
Yes
x1系数范围(64,96)
x2系数范围(48,72)
A1获利增加到30元/千克,应否改变生产计划
x1系数由24´3=72增加为30´3=90,在允许范围内
不变!
(约束条件不变)
结果解释
RANGESINWHICHTHEBASISISUNCHANGED:
OBJCOEFFICIENTRANGES
VARIABLECURRENTALLOWABLEALLOWABLE
COEFINCREASEDECREASE
X172.00000024.0000008.000000
X264.0000008.00000016.000000
RIGHTHANDSIDERANGES
ROWCURRENTALLOWABLEALLOWABLE
RHSINCREASEDECREASE
250.00000010.0000006.666667
3480.00000053.33333280.000000
4100.000000INFINITY40.000000
影子价格有意义时约束右端的允许变化范围
原料最多增加10
时间最多增加53
35元可买到1桶牛奶,每天最多买多少?
最多买10桶!
(目标函数不变)
例2奶制品的生产销售计划
在例1基础上深加工
制订生产计划,使每天净利润最大
30元可增加1桶牛奶,3元可增加1小时时间,应否投资?
现投资150元,可赚回多少?
50桶牛奶,480小时
至多100公斤A1
B1,B2的获利经常有10%的波动,对计划有无影响?
出售x1千克A1,x2千克A2,
X3千克B1,x4千克B2
原料供应
劳动时间
加工能力
决策变量
目标函数
利润
约束条件
非负约束
x5千克A1加工B1,x6千克A2加工B2
附加约束
模型求解
软件实现
LINDO6.1
OBJECTIVEFUNCTIONVALUE
1)3460.800
VARIABLEVALUEREDUCEDCOST
X10.0000001.680000
X2168.0000000.000000
X319.2000010.000000
X40.0000000.000000
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
NO.ITERATIONS=2
OBJECTIVEFUNCTIONVALUE
1)3460.800
VARIABLEVALUEREDUCEDCOST
X10.0000001.680000
X2168.0000000.000000
X319.2000010.000000
X40.0000000.000000
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
NO.ITERATIONS=2
结果解释
每天销售168千克A2和19.2千克B1,
利润3460.8(元)
8桶牛奶加工成A1,42桶牛奶加工成A2,
将得到的24千克A1全部加工成B1
除加工能力外均为紧约束
结果解释
OBJECTIVEFUNCTIONVALUE
1)3460.800
VARIABLEVALUEREDUCEDCOST
X10.0000001.680000
X2168.0000000.000000
X319.2000010.000000
X40.0000000.000000
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
增加1桶牛奶使利润增长3.16×12=37.92
增加1小时时间使利润增长3.26
30元可增加1桶牛奶,3元可增加1小时时间,应否投资?
现投资150元,可赚回多少?
投资150元增加5桶牛奶,可赚回189.6元。
(大于增加时间的利润增长)
结果解释
B1,B2的获利有10%的波动,对计划有无影响
RANGESINWHICHTHEBASISISUNCHANGED:
OBJCOEFFICIENTRANGES
VARIABLECURRENTALLOWABLEALLOWABLE
COEFINCREASEDECREASE
X124.0000001.680000INFINITY
X216.0000008.1500002.100000
X344.00000019.7500023.166667
X432.0000002.026667INFINITY
X5-3.00000015.8000002.533334
X6-3.0000001.520000INFINITY
…………
B1获利下降10%,超出X3系数允许范围
B2获利上升10%,超出X4系数允许范围
波动对计划有影响
生产计划应重新制订:
如将x3的系数改为39.6计算,会发现结果有很大变化。
4.2自来水输送与货机装运
生产、生活物资从若干供应点运送到一些需求点,怎样安排输送方案使运费最小,或利润最大;
运输问题
各种类型的货物装箱,由于受体积、重量等限制,如何搭配装载,使获利最高,或装箱数量最少。
其他费用:
450元/千吨
应如何分配水库供水量,公司才能获利最多?
若水库供水量都提高一倍,公司利润可增加到多少?
例1自来水输送
收入:
900元/千吨
支出
总供水量:
160
确定送水方案使利润最大
问题分析
<总需求量:
120+180=300
总收入900´160=144,000(元)
收入:
900元/千吨
其他费用:
450元/千吨
支出
引水管理费
其他支出450´160=72,000(元)
供应限制
约束条件
需求限制
线性规划模型(LP)
目标函数
水库i向j区的日供水量为xij(x34=0)
决策变量
模型建立
确定3个水库向4个小区的供水量
模型求解
OBJECTIVEFUNCTIONVALUE
1)24400.00
VARIABLEVALUEREDUCEDCOST
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
利润=总收入-其它费用-引水管理费=144000-72000-24400=47600(元)
引水管理费24400(元)
目标函数
总供水量(320)>总需求量(300)
每个水库最大供水量都提高一倍
利润=收入(900)–其它费用(450)–引水管理费
供应限制
B,C类似处理
问题讨论
确定送水方案使利润最大
需求约束可以不变
求解
OBJECTIVEFUNCTIONVALUE
1)88700.00
VARIABLEVALUEREDUCEDCOST
X110.00000020.000000
X12100.0000000.000000
X130.00000040.000000
X140.00000020.000000
X2130.0000000.000000
X2240.0000000.000000
X230.00000010.000000
X2450.0000000.000000
X3150.0000000.000000
X320.00000020.000000
X3330.0000000.000000
这类问题一般称为“运输问题”
(TransportationProblem)
总利润88700(元)
如何装运,使本次飞行获利最大?
三个货舱最大载重(吨),最大容积(米3)
例2货机装运
三个货舱中实际载重必须与其最大载重成比例
飞机平衡
决策变量
xij--第i种货物装入第j个货舱的重量(吨)
i=1,2,3,4,j=1,2,3(分别代表前、中、后仓)
模型假设
每种货物可以分割到任意小;
货机装运
每种货物可以在一个或多个货舱中任意分布;
多种货物可以混装,并保证不留空隙;
模型建立
货舱容积
目标函数(利润)
约束条件
货机装运
模型建立
货舱重量
xij--第i种货物装入第j个货舱的重量
约束条件
平衡要求
货物供应
货机装运
模型建立
xij--第i种货物装入第j个货舱的重量
OBJECTIVEFUNCTIONVALUE
1)121515.8
VARIABLEVALUEREDUCEDCOST
X110.000000400.000000
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
货物2:
前仓10,后仓5;货物3:
中仓13,后仓3;货物4:
中仓3。
货机装运
模型求解
最大利润约121516元
货物~供应点
货舱~需求点
平衡要求
如果生产某一类型汽车,则至少要生产80辆,那么最优的生产计划应作何改变?
例1汽车厂生产计划
汽车厂生产三种类型的汽车,已知各类型每辆车对钢材、劳动时间的需求,利润及工厂每月的现有量。
制订月生产计划,使工厂的利润最大。
4.3汽车生产与原油采购
设每月生产小、中、大型汽车的数量分别为x1,x2,x3
汽车厂生产计划
模型建立
线性规划模型(LP)
模型求解
3)模型中增加条件:
x1,x2,x3均为整数,重新求解。
OBJECTIVEFUNCTIONVALUE
1)632.2581
VARIABLEVALUEREDUCEDCOST
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,通过比较可能得到更优的解。
但必须检验它们是否满足约束条件。
为什么?
IP可用LINDO直接求解
整数规划(IntegerProgramming,简记IP)
“gin3”表示“前3个变量为整数”,等价于:
ginx1
ginx2
ginx3
IP的最优解x1=64,x2=168,x3=0,最优值z=632
max2x1+3x2+4x3
st
1.5x1+3x2+5x3<600
280x1+250x2+400x3<60000
end
gin3
OBJECTIVEFUNCTIONVALUE
1)632.0000
VARIABLEVALUEREDUCEDCOST
X164.000000-2.000000
X2168.000000-3.000000
X30.000000-4.000000
模型求解
IP结果输出
其中3个子模型应去掉,然后逐一求解,比较目标函数值,再加上整数约束,得最优解:
方法1:
分解为8个LP子模型
汽车厂生产计划
若生产某类汽车,则至少生产80辆,求生产计划。
´
´
´
x1=80,x2=150,x3=0,最优值z=610
LINDO中对0-1变量的限定:
inty1
inty2
inty3
方法2:
引入0-1变量,化为整数规划
M为大的正数,可取1000
OBJECTIVEFUNCTIONVALUE
1)610.0000
VARIABLEVALUEREDUCEDCOST
X180.000000-2.000000
X2150.000000-3.000000
X30.000000-4.000000
Y11.0000000.000000
Y21.0000000.000000
Y30.0000000.000000
若生产某类汽车,则至少生产80辆,求生产计划。
x1=0或³80
最优解同前
NLP虽然可用现成的数学软件求解(如LINGO,MATLAB),但是其结果常依赖于初值的选择。
方法3:
化为非线性规划
非线性规划(Non-LinearProgramming,简记NLP)
实践表明,本例仅当初值非常接近上面方法算出的最优解时,才能得到正确的结果。
若生产某类汽车,则至少生产80辆,求生产计划。
x1=0或³80
应如何安排原油的采购和加工?
例2原油采购与加工
市场上可买到不超过1500吨的原油A:
购买量不超过500吨时的单价为10000元/吨;
购买量超过500吨但不超过1000吨时,超过500吨的部分8000元/吨;
购买量超过1000吨时,超过1000吨的部分6000元/吨。
决策变量
目标函数
问题分析
利润:
销售汽油的收入-购买原油A的支出
难点:
原油A的购价与购买量的关系较复杂
原油A的购买量,原油A,B生产汽油甲,乙的数量
c(x)~购买原油A的支出
利润(千元)
c(x)如何表述?
原油供应
约束条件
x£500吨单价为10千元/吨;
500吨£x£1000吨,超过500吨的8千元/吨;
1000吨£x£1500吨,超过1000吨的6千元/吨。
目标函数
目标函数中c(x)不是线性函数,是非线性规划;
对于用分段函数定义的c(x),一般的非线性规划软件也难以输入和求解;
想办法将模型化简,用现成的软件求解。
汽油含原油A的比例限制
约束条件
x1,x2,x3~以价格10,8,6(千元/吨)采购A的吨数
目标函数
只有当以10千元/吨的价格购买x1=500(吨)时,才能以8千元/吨的价格购买x2
方法1
非线性规划模型,可以用LINGO求解
模型求解
x=x1+x2+x3,c(x)=10x1+8x2+6x3
500吨£x£1000吨,超过500吨的8千元/吨
x=x1+x2+x3,c(x)=10x1+8x2+6x3
方法1:
LINGO求解
Model:
Max=4.8*x11+4.8*x21