lingo实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014~2015学年第二学期短学期
《数学软件及应用(Lingo)》实验报告
班级数学131班姓名张金库学号成绩
实验名称
奶制品的生产与销售计划的制定
完成日期:2015年9月3日
一、实验名称:奶制品的生产与销售计划的制定
二、实验目的及任务
1.了解并掌握LINGO 的使用方法、功能与应用;
2.学会利用LINGO 去解决实际中的优化问题。
三、实验内容
问题 一奶制品加工厂用牛奶生产1A ,2A 两种奶制品,1桶牛奶可以在甲类设备上用12h 加工成3kg 1A ,或者在乙类设备上用8h 加工成4kg 2A 。
根据市场的需求,生产1A ,2A 全部能售出,且每千克1A 获利24元,每千克2A 获利16元。
现在现在加工场每天能的到50桶牛奶的供应,每天正式工人总的劳动时间为480h ,并且甲类设备每天至多能加工100kg 1A ,乙类设备的加工能力没有限制。
为增加工厂的利益,开发奶制品的深加工技术:用2h 和3元加工费,可将1kg 1A 加工成高级奶制品1B ,也可将1kg 2A 加工成高级奶制品2B ,每千克1B 能获利44元,每千克2B 能获利32元。
试为该工厂制订一个生产销售计划,使每天的净利润最大,并讨论以下问题:
(1)若投资30元可以增加供应1桶牛奶,投资3元可以增加1h 的劳动时间,应否做这些投资若每天投资150,可以赚回多少
(2)每千克高级奶制品1B ,2B 的获利经常有10%的波动,对制订的生产销售计划有无影响若每千克1B 获利下降10%,计划应该变化吗
(3)若公司已经签订了每天销售10kg 1A 的合同并且必须满足,该合同对公司的利润有什么影响
问题分析 要求制定生产销售计划,决策变量可以先取作每天用多少桶牛奶生产1A ,2A ,再添上用多少千克1A 加工1B ,用多少千克2A 加工2B ,但是问题要分析1B ,2B 的获利对生产销售计划的影响,所以决策变量取作1A ,2A ,1B ,2B 每天的销售量更为方便。
目标函数是工厂每天的净利润——1A ,2A ,1B ,2B 的获利之和扣除深加工费用。
基本模型
决策变量:设每天销售1x kg 1A ,2x kg 2A ,3x kg 1B ,4x kg 2B ,用5x kg 1A 加工1B ,用6x kg 1
A
加工2B 。
目标函数:设每天净利润为z ,容易写出6543213332441624x x x x x x z --+++=。
约束条件:
原料供应 每天生产1A 51x x +kg ,用牛奶3/)(51x x +桶,每天生产2A 62x x +kg ,用牛奶4/)(62x x +桶,二者只和不超过每天的供应量50桶;
劳动时间 每天生产1A ,2A 的时间分别为)(451x x +和)(262x x +,加工1B ,2B 的时间分别为52x 和62x ,二者只和不得超过总的劳动时间480h ;
设备能力
1A 的生产量51x x +不超过甲类设备每天的加工能力100kg ; 非负约束
621,,,x x x ⋯均为非负。
附加约束 1kg 1A 加工成1B ,故538.0x x =,同理6475.0x x =。
由此得基本模型为:
max 6543213332441624x x x x x x z --+++= (1)
. 3/)(51x x ++4/)(62x x +≤50 (2)
)(451x x ++)(262x x ++52x +62x ≤480 (3)
51x x +≤100 (4)
538.0x x = (5)
6475.0x x = (6)
621,,,x x x ⋯≥0 (7)
模型求解 用LINGO 软件求解,输入时为了方便将(2)、(3)分别改为
60034344321≤+++x x x x
(7*) 48046246521≤+++x x x x
(8*)
LINGO 程序
model :
max=24*x1+16*x2+44*x3+32*x4-3*x5-3*x6;
[milk] 4*x1+3*x2+4*x5+3*x6<=600;
[time] 4*x1+2*x2+6*x5+4*x6<=480;
[cpct] x1+x5<=100;
x3=*x5;
x4=*x6;
end
输入并求解,可得如下输出:
Global optimal solution found.
Objective value:
Total solver iterations: 2
Variable Value Reduced Cost
X1
X2
X3
X4
X5
X6
Row Slack or Surplus Dual Price
1
MILK
TIME
CPCT
5
6
Ranges in which the basis is unchanged:
Objective Coefficient Ranges
Current Allowable Allowable Variable Coefficient Increase Decrease X1 INFINITY
X2
X3
X4 INFINITY
X5
X6 INFINITY
Righthand Side Ranges
Row Current Allowable Allowable RHS Increase Decrease
MILK
TIME
CPCT INFINITY
5 INFINITY
6 INFINITY
最优解为0,24,0,2.19,168,0654321======x x x x x x ,最优值为z=,即每天生产168kg 2A 和1B (不出售1A ,2B ),可获净利润元。
为此,需用8桶牛奶加工成1A ,42桶牛奶加工成2A ,并且将得到的24kg 1A 全部加工成1B 。
结果和灵敏度分析
利用输出中的影子价格和敏感性分析讨论以下问题:
(1)上述结果给出,约束[MILK]、[TIME]的影子价格分别为和,注意到约束[MILK]的影子价格为(2*)右端增加1个单位时目标函数的增量,有(2)式可知,增加一桶牛奶可使净利润增长×12=元,约束[TIME]的影子价格说明:增加1h 的劳动时间可以使净利润增长元。
所以应该投资30元增加一桶牛奶,或投资3元增加1h 劳动时间。
若每天投资150元,增加供应五桶牛奶,可赚回×5=元。
但是通过增加牛奶的数量是有限制的,输出结果表明,约束[MILK]右端的允许变化范围为(600-120,600+120),相当于(2)右端允许变化范围为(50-,50+10),即最多增加供应10桶牛奶。
(2)上述输出结果给出,最优解不变的条件下目标函数系数的允许变化范围:3x 的系数为(44-,44+);4x 的系数为(32-∞,32+)。
所以当1B 的获利向下波动10%,或2B 的获利向上波动10%,上面得到的生产计划将不再一定是最优的,应该重新制订。
如若每千克1B 获利下降10%,应该将原模型(1)式中的3x 改为,重新计算,得到最优解为
40,0,30,0,160,0654321======x x x x x x ,最优值为z=3400.
(3)上述结果的给出,变量1x 对应的“Reduced Cost ”严格大于0(为),首先表明目前最优解中1x 的取值一定为0;其次,如果限定1x 的取值大于等于某个正数,则1x 从0开始每增加一个单位时,(最优的)目标函数将减少。
因此若该公司已经签订了每天销售10kg 的合约并且必须满足,改合同将会使该公司利润减少×10=元,即最优利润为元。
也可以反过来理解:如果目标函数中1x 对应的费用系数增加不小于,则在最优解中1x 将可以取到严格大于0的值。
四、实验总结
通过此次实验,我初步了解了LINGO 软件、熟悉了LINGO 软件的使用方法、功能并在实
际中加以应用。
LINGO 软件在解决实际问题中的最优化问题十分方便。
解题过程中1B ,2B 与1A ,2A 之间其实存在等式关系(5)、(6),虽然可以消掉2个变量,但是会增加人工计算,并使模型变得复杂。
所以建模中尽可能的利用原始的数据信息,而把尽量多的计算留给计算机去完成。