一.实验目的
1、掌握运筹学的软件LINGO使用,学会利用LINGO运行的结果对问题进行综合分析,并解决实际问题。
2、理解原问题与对偶问题的关系,理解影子价格的意义。通过软件求解,解决实际问题。
3、利用软件对实际问题进行灵敏度分析。
二.实验内容
1、某公司生产3种产品A1,A2,A3,它们在B1,B2两种设备上加工,并耗用C1,C2两种原材料。已知生产单位产品耗用的设备时间和原材料、单位产品的利润及设备和原材料的最多可使用量如下表所示。
资源 | 产品 | 每天最多可使用量 | ||
A1 | A2 | A3 | ||
设备B1 (分钟) | 1 | 2 | 3 | 430 |
设备B2 (分钟) | 3 | 0 | 2 | 460 |
原料C1 (Kg) | 1 | 4 | 0 | 420 |
原料C2 (Kg) | 1 | 1 | 1 | 300 |
每件利润 (元) | 30 | 20 | 50 |
三. 模型建立、求解及结果分析
1(1)、模型建立
问题一:
由题目可以得到,我们可以分析得出,A1、A2、A3是所需商品,设备B1、B2,原料C1、C2属于消耗型物品
利润分析:每生产一件A1可获得利润30元,每生产一件A2可获得20元,每生产一件A3可获得50元
设备分析;从题目我们可以分析得出设备B1每分钟只能生产一个单位的A1、2个单位的A2、3个单位的A3,每天最多使用的生产量为430。对于设备B2,每分钟可以生产3个单位A1,0个单位A2,2个单位的A3,由分析可以初步得知,能生产A2的只有设备B1
原料分析:从图中可知,原料C1每1Kg可以生产1个单位A1、4个单位的A2,0个单位的A3。针对原料C2,每1Kg可以生产1个单位A1,1个单位A2,1个单位A3,从分析初步得知,能够生产A3只有原料C2。
故我们设产品A1为X1,A2产品为X2,A3产品为X3。我们的目标是使得利润最大化,同时要保证A2的生产量每天不少于85件,同时A3的生产量不能超过240件,即X1>0,X2〉85,0<X3<240.
建立模型1为:MaxZ=30X1+20X2+50X3;
约束条件:
X1+2X2+3X3<431
3X1+0X2+2X3<460
X1+4X2+0X3<420
X1+X2+X3<300
X1>0,X2>85,0<X3<240
问题二:
(2)、程序一
运用Lingo求解,编写程序如下
max=30*x1+20*x2+50*x3;
x1+2*x2+3*x3<430;
3*x1+2*x3<460;
x1+4*x2<420;
x1+x2+x3<300;
x1>0;
x2>85;
x3<240;
(3)、运行结果
Global optimal solution found.
Objective value:7100.000
Infeasibilities:0.000000
Total solver iterations: 2
Elapsed runtime seconds:0.03
Model Class:LP
Total variables:3
Nonlinear variables:0
Integer variables:0
Total constraints:8
Nonlinear constraints:0
Total nonzeros:16
Nonlinear nonzeros: 0
Variable ValueReduced Cost
X180.000000.000000
X285.000000.000000
X360.000000.000000
RowSlack or SurplusDual Price
17100.0001.000000
20.00000016.66667
3100.00000.000000
40.00000013.33333
575.000000.000000
680.000000.000000
70.000000 -66.66667
8180.00000.000000
灵敏度检验结果:
Objective Coefficient Ranges:
CurrentAllowableAllowable
VariableCoefficient Increase Decrease
X1 30.00000 INFINITY 13.33333
X2 20.00000 66.66667 INFINITY
X3 50.00000 40.00000 50.00000
Righthand Side Ranges:
CurrentAllowableAllowable
RowRHS Increase Decrease
2 430.0000 150.0000 180.0000
3 460.0000 INFINITY 100.0000
4 420.0000 42.85714 80.00000
5 300.0000 INFINITY 75.00000
6 0.000000 80.00000 INFINITY
7 85.00000 20.00000 9.375000
8 240.0000 INFINITY 180.0000
(4)、结果分析
从Lingo运行结果可以分析得出,最大利润为7100元,求得最优解为(80,85,60),我们可以分析得出,当A1产品每天生产80件,A2产品生产85件时,A3产品生产60件时,我们可以得到最大利润7100元,这时候的解释满足A2产品生产不低于85件,A3产品不高于240件的,因此我们求解成立。
从灵敏度分析结果可以看出,
C1=30,C1在区间[30-13.333,+∞]区间内,最优解不变,最优值会改变。
C2=20,C2在区间[-∞,86.66667]区间内,最优解不变,最优值会改变。
C3=50,C3在区间[0,90]区间内,最优解不变,最优值会改变。
可以分析得出,当前的B1为430,只要在[430-179,430+146.5]内变化原最优基不变
B1为430,只要在[250,580]内变化原最优基不变。
B2为460,只要在[460-97.6667,+∞]内变化原最优基不变。
B3为421,主要在[421-81,421+41.85714]内变化最优基不变。
B4为300,主要在[300-74.3333,+∞]内变化则最优基不变。
当我们将B1上升1个单位时候,则目标函数会上升16.66667,变为7116.66667元,
当B3上升一个单位时候,则目标函数会上升13.3333元,变为7113.3333元。
即我们可以将每天可使用最多量B1设备改变,原料C1改变后可以将利润提高。
针对问题一,我们可以看到A3的利润在(0,90)内最优解不变,最优值要变,原始产品利润为50增加到60生产产品数量不变,总利润增加。从灵敏度分析可看出A3需求最高标准为180,所以当A3从240变为210时,A3本产品利润不变,但是总体利润可以增加,因为价钱上涨,且仍然是卖出180。
针对问题二:不可以。从灵敏度分析来看松弛变量为75.在原料C2的供应足够的情况下,通过别的供应商提供,且原材料价格上涨2元,同时原产品销售量与价格不变的情况下,原材料价格上升,直接会导致利润下降。
针对问题三:可以。从灵敏度分析可看出松弛变量变为0,可以说明生产设备B1时间已达当天最大值,题目给予最大值的时间基础上再次添加40分钟,可以提高利润,即可以提高的利润为40分钟内多生产的部分,可以运用这多生产的部分减去成本价格350元,得到提升的利润。