运筹学LINGO实验报告

一.实验目的

运筹学LINGO实验报告

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元,得到提升的利润。