运筹学实习报告K

运筹学实习报告K
运筹学实习报告K

2.设计题目

某厂生产Ⅰ、Ⅱ、Ⅲ三种产品,都分别经A、B两道工序加工。设A工序可分别在设备A1或A2上完成,有B1、B2、B3三种设备可用于完成B工序。已知产品Ⅰ可在A、B任何一种设备上加工;产品Ⅱ可在任何规格的A设备上加工,但完成B工序时,只能在B1设备上加工,产品Ⅲ只能在A2与B2设备上加工。加工单位产品所需工序时间及其它各项数据如下表所示,试安排最优生产计划,使该厂获利最大。并按要求分别完成下列分析:

(1)产品Ⅱ的售价在何范围内变化时最优生产计划不变?

(2)B1设备有效台时数在何范围内变化时最优基不变?

(3)设备A2的加工费在何范围内变化时最优生产计划不变?

(4)产品的生产量至少为80件时的最优生产计划。

3.建模过程

3.1 设定变量

设Xi表示采用九种不同的方式进行生产Ⅰ、Ⅱ、Ⅲ三种产品的数量。

Ⅰ产品有六种组合,以X1、X2、X3、X4、X5、X6分别表示(A1,B1)、(A1,B2)、(A1、B3)、(A2,B1)、(A2,B2)、(A2,B3)加工的Ⅰ产品数量;

Ⅱ有两种组合,以X7、X8分别表示(A1,B1)、(A2,B1)加工的Ⅱ产品的数量;

Ⅲ有一种组合,即(A2,B2),以X9表示加工Ⅲ产品的数量;

不同的设备组合带来的利润也不同。

3.2 根据题意推理

产品Ⅰ时有:

设备组合(A1,B1)的利润为

Z1=(1.25-0.25)X1-(5*0.05)X1-(6*0.06)X1=0.39X1

设备组合(A1,B2)的利润为Z2=X2-0.25X2-0.44X2=0.31X2

设备组合(A1,B3)的利润为Z3=X3-0.25X3-0.35X3=0.4X3

设备组合(A2,B1)的利润为Z4=X4-0.21X4-0.36X4=0.43X4

设备组合(A2,B2)的利润为Z5=X5-0.21X5-0.44X5=0.35X5

设备组合(A2,B3)的利润为Z6=X6-0.21X6-0.35X6=0.44X6

产品Ⅱ时有:

设备组合(A1,B1)的利润为Z7=1.65X7-0.5X7-0.48X7=0.67X7

设备组合(A2,B1)的利润为Z8=1.65X8-0.27X8-0.48X8=0.9X8

产品Ⅲ时有:

设备组合(A2,B2)的利润为Z9=2.3X9-0.36X9-1.21X9=0.73X9

3.3 确立最终模型

利润:

Maxz=0.39X1+0.31X2+0.4X3+0.43X4+0.35X5+0.44X6+0.67X7+0.9X8+

0.73X9

5X

1+5X2+5X3+10X7<=6000

7X4+7X5+7X6+9X8+12X9<=10000

6X1+6X4+8X7+8X8<=4000

4X2+4X5+11X9<=7000

7X3+7X6<=4000

Xi>=0 (i=1,2,3,4,5,6,7,8,9)

3.4 计算机求解前的手工数据准备

4.程序功能介绍

4.1 总体介绍

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。

利用Java编写的本程序旨在通过简单的迭代,换元,寻找主元素等功能,最终求得最优解和最优基。程序主要包括以下6个模块:输入数据,寻找主元素,寻找需要迭代的基,寻找替换的基,替换后检验是否为可行解,输出结果。

在寻找主元素,迭代基及替换基时使用循环嵌套,主类调用等基础Java方法,输入输出使用I/O流,是程序运行的更稳定更准确;同时采用多线程作为程序底

层技术支持,使程序在运行多个题目是不会出现卡机现象。用户在运行本程序时不需要技术知识,仅需把各变量的系数一次输入程序即可,操作上简单明了。程序最终运行时使用CMD窗口输出,保证数据清晰易懂。

本程序体积较小,适用于初学者和急需计算某些简单题目的用户使用。

4.2 数据录入

注意事项:

1.在输入系数矩阵A、目标函数系数c、约束条件右端常数项b和约束条件符号时,应注意对应的正确位置。文本框第3行起后9列为对应的系数矩阵A的输入位置,第3行起1列为b的输入位置,第1行为目标函数系数c的输入位置。

2. 在输入目标函数系数c时,只需按照原目标函数进行输入,无需转换小数,程序会自动进行相应的调整。

3.在输入约束条件右端常数项b时,b按照原问题输入,也无需非要求为非负。

4. 在进行每步的运行时,一定要按步骤进行。

5.如果问题较复杂,一定要注意正确输入,并在输入后进行检查

4.3程序流程图

5.1.1 售价和设备加工费的变化都属于LP问题模型中参数C的变化,分为两种情况:

(1)若Cj是非基变量Xj的系数:

先确定非基变量系数变化范围,非基变量系数变化只影响自身的检验数,因此:设Cj为非基变量Xj的系数,令它在当前最优表中的检验数δj=CBB-1Pj-Cj>=0,当Cj 发生了△Cj变化后,要保证当前最优表中相应的检验数仍大于或等于0,必有:即:δj=δj-△Cj>=0或△Cj<=δj

这就是说,当Xj的系数Cj增大△Cj以后其增量变化范围小于等于该变量在当前最优表中相应的检验数时,最优解不变;否则最优解改变,将δj的值代入最优表中重新迭代。

(2)若Cj是基变量Xj的系数:

先确定基变量系数变化范围,基变量系数变化影响所有非基变量的检验数和目标函数值。如果Cj的变化范围在基变量Cj增量的变化范围之内则其最优解、最优值均不变;反之如果Cj的变化范围超出基变量Cj增量的变化范围,则需要重新迭代求出最优值。

5.1.2 设备有效台时的变化属于LP问题模型中参数b的变化

根据公式max{-bi/βir | βir>0}<=b<=min{-bi/βir | βir<0} 确定b的变化范围。

如果b的变化在该范围之内最优基不变最优解变化,最优解由公式XB=B-1b

求得。

如果b的变化超出该范围最优基最优解均发生变化,重新计算CBB-1b、B-1b代入最优表中重新迭代。

5.1.3 产品的生产量至少为80件属于LP问题模型中增加一个约束条件的分析

未起到限制作用,最优解不变;

如果加入的约束条件影响最优解变化,则进行如下处理:

Ⅰ加入松弛变量使其调整为等式;

Ⅱ在最优表中增加新的一行和一列;

Ⅲ调整单纯形表,使其符合迭代要求;

Ⅳ用对偶单纯形法迭代求取最有生产方案。

5.2 问题分析

通过对题目的正确理解和分析,依据题意可以得到一个使最优生产计划的模型,以这个模型为基础可以快速的求解出各种最优投资方案;然后通过灵敏度分析来确定(1)产品Ⅱ的售价在何范围内变化时最优生产计划不变(2)B1设备有效台时数在何范围内变化时最优基不变(3)设备A2的加工费在何范围内变化时最优生产计划不变(4)产品的生产量至少为80件时的最优生产计划。

5.3计算机求解过程及结果分析

(1)根据程序提示按顺序输入之前准备的手工数据中各个变量的系数及bi,如图1:

图1.

(2)根据程序提示按顺序输入模型目标函数中各个变量的系数,如

图2:

(3)程序进行运算,我们可得到问题的最优解及最优值,如图3:

产品I中,方案2,3生产为629个和571个,方案5为87个,共1287

产品II中,方案8生产500个

产品III中,方案9生产408个

总利润:1201.442

图3.

5.4 Lindo分析结果

进入Lindo程序,正确输入所建模型(注意:不可以用*号表示乘以),得到结果如下:

OBJ COEFFICIENT RANGES

VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 0.390000 0.210227 INFINITY X2 0.310000 0.094545 0.152727 X3 0.400000 INFINITY 0.094545 X4 0.430000 0.257500 INFINITY X5 0.350000 0.075833 0.350000 X6 0.440000 0.094545 INFINITY X7 0.670000 0.305455 INFINITY X8 0.900000 INFINITY 0.280303 X9 0.730000 0.420000 0.130000

RIGHTHAND SIDE RANGES

ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE

2 6000.000000 5607.143066 694.940491

3 10000.000000 INFINITY 606.493469

4 4000.000000 539.105347 4000.000000

5 7000.000000 555.952393 4485.714355

6 4000.000000 972.91668

7 4000.000000

7 0.000000 0.000000 INFINITY

8 0.000000 628.571411 INFINITY

9 0.000000 571.428589 INFINITY

10 0.000000 0.000000 INFINITY

11 0.000000 86.641930 INFINITY

12 0.000000 0.000000 INFINITY

13 0.000000 0.000000 INFINITY

14 0.000000 500.000000 INFINITY

15 0.000000 407.792206 INFINITY

(1)产品Ⅱ的售价在何范围内变化时最优生产计划不变

由Lindo灵敏度分析的结果可知,△C7=[-∞,0.305455],△C8=[0.280303,+∞],产品Ⅱ售价在[2.280303,2.305455]范围内变化时最优生产计划不变,最优解为X2=628.57,X3=571.43,X5=86.64,X8=500,X9=407.79,其余解值为0

(2)B1设备有效台时数在何范围内变化时最优基不变

由Lindo灵敏度分析的结果可知, B1设备有效台时数在[0,4539.105347]范围内变化时最优基不变,最优基为X2=628.57,X3=571.43,X5=86.64,X8=500,X9=407.79,其余解值为0

(3)6.3设备A2的加工费在何范围内变化时最优生产计划不变

由前面提到的含有A2设备组合的变量分别为:X4,X5,X6,X8,X9。且由Lindo 灵敏度分析的结果可知这几个变量系数的变化范围分别为,C4=[﹣∞,0.6875],C5=[0,0.425833],C6=[﹣∞,0.534545],C8=[0.619617,+∞],C9=[0.6,1.15] ,分别计算后可得A2设备加工费的范围分别为[0,0.09],[0.0191667,0.08], [0.0164936,0.0928571],[0,0.06],[0,0.04],综合后可知,A2的设备加工费在[0.0191667,0.04]范围内变化时最优生产计划不变,X2=628.57,X3=571.43,X5=86.64,X8=500,X9=407.79,其余解值为0

(4)产品的生产量至少为80件时的最优生产计划

在原模型的基础上增加一个约束条件为:X1﹢X2﹢X3﹢X4﹢X5﹢X6﹢X7﹢X8﹢X9≧80,由Lindo灵敏度分析的结果可知,生产量至少80件时最优解为X1=0, X2=22.92,X3=20.81, X4=0,X5=3.17,X6=0,X7=0,X8=18.22,X9=14.87,最优值为1201.44。

6.创新内容

6.1 设备B2的加工费在何范围内变化时最优生产计划不变

由前面提到的含有B2设备组合的变量分别为:X2、X5、X9。且由Lindo灵敏度分析的结果可知这几个变量系数的变化范围分别为

C2=[0,0.404545],C5=[0,0.425833],C9=[0,1.150000]。分别计算后可得B2设备加工费的变化范围分别为[0.086,0.148],[0,0.198],[0,0.372]。综合后可知,B2的设备加工费在[0.086,0.148]范围内变化时最有生产计划不变,X2=22.92,X3=20.81, X5=3.17,X8=18.22,X9=14.87,其余解值为0

6.2 设备B3的加工费在何范围内变化时最优生产计划不变

由前面提到的含有B2设备组合的变量分别为:X3、X6。且由Lindo灵敏度分析的结果可知这几个变量系数的变化范围分别为C3=[0,0.40000],C6=[0,0.534545]。分别计算后可得B3设备加工费的变化范围分别为[0,0.064],[0.036,+00]。综合后可知,B3的设备加工费在[0.036,0.064]范围内变化时最有生产计划不变,X2=22.92,X3=20.81, X5=3.17,X8=18.22,X9=14.87,其余解值为0

6.3产品的生产量为60件时的最优生产计划

在原模型的基础上加一个约束条件为:X1﹢X2﹢X3﹢X4﹢X5﹢X6﹢X7﹢X8﹢X9≦60,由Lindo灵敏度分析的结果可知,生产量最多为60件时最优生产计划为X1=0, X2=0,X3=0, X4=0,X5=0,X6=0,X7=0,X8=60,X9=0,最优值为54。

相关主题
相关文档
最新文档