运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx

上传人:b****6 文档编号:3304840 上传时间:2022-11-21 格式:DOCX 页数:11 大小:37.86KB
下载 相关 举报
运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx_第1页
第1页 / 共11页
运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx_第2页
第2页 / 共11页
运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx_第3页
第3页 / 共11页
运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx_第4页
第4页 / 共11页
运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx

《运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx》由会员分享,可在线阅读,更多相关《运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx(11页珍藏版)》请在冰豆网上搜索。

运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工.docx

运筹学课程设计题目是某厂生产ⅠⅡⅢ三种产品都分别经AB两道工序加工

运筹学课程设计-题目是《某厂生产Ⅰ、Ⅱ、Ⅲ三种产品,都分别经A、B两道工序加工》

工业大学

课程设计报告

课程设计名称运筹学课程设计专业班级学生姓名指导教师

2013年6月28日

课程设计任务书课程设计题目:

第31题

起止日期:

2013.6.17,2013.6.28设计地点:

教室、电子商务中心设计任务及日程安排:

1、设计任务

1.1通过课程设计可以增强学生解决实际运筹学问题的能力

1.2通过课程设计可以使学生巩固、拓展和深化所学的基础理论、专业理论和知识。

1.3通过课程设计可以使学生初步掌握用运筹学方法解决实际问题的过程和技巧,树立理论联系实际的工作作风。

1.4通过课程设计可以使学生初步建立正确的设计思想和方法,进一步提高运算、计算机应用技能和综合分析、解决问题的能力。

2、设计进度安排

本课程设计时间分为两周:

第一周(2013年6月17日----2013年6月21日):

建模阶段。

此阶段各小组根据给出的题目完成模型的建立。

主要环节包括:

1.16月17日上午:

发指导书;按组布置设计题目;说明进度安排。

1.26月18日下午至6月20日:

各小组审题,查阅资料,进行建模前的必要准备(包括求解程序的编写与查找)。

1.36月21日至6月22日:

各个小组进行建模,并根据题目及设计要求拟定设计提纲,指导教师审阅;同时阅读,理解求解程序,为上机求解做好准备。

第二周(2013年6月24日---6月28日):

上机求解,结果分析及答辩。

主要环节包括

1.16月24日至6月25日:

上机调试程序

1.26月26日:

完成计算机求解与结果分析。

1.36月27日:

撰写设计报告。

1.46月28日:

设计答辩及成绩评定。

筹学课程设计报告

组别:

第十三组

设计人员:

设计时间:

2013年6月17日至2013年6月28日

1.设计进度

本课程设计时间分为两周:

1.1第一周(2013年6月17日----2013年6月21日):

建模阶段。

此阶段各小组根据给出的题目完成模型的建立。

主要环节包括:

1.1.16月17日上午:

发指导书;按组布置设计题目;说明进度安排。

1.1.26月18日下午至6月20日:

各小组审题,查阅资料,进行建模前的必要准备(包括求解程序的编写与查找)。

1.1.36月21日至6月22日:

各个小组进行建模,并根据题目及设计要求拟定设计提纲,指导教师审阅;同时阅读,理解求解程序,为上机求解做好准备。

1.2第二周(2013年6月24日---6月28日):

上机求解,结果分析及答辩。

主要环节包括:

1.2.16月24日至6月25日:

上机调试程序

1.2.26月26日:

完成计算机求解与结果分析。

1.2.36月27日:

撰写设计报告。

1.2.46月28日:

设计答辩及成绩评定。

2.设计题目

第31题某厂生产?

、?

、?

三种产品,都分别经A、B两道工序加工。

设A工序可分别在设备A1或A2上完成,有B1、B2、B3三种设备可用于完成B工序。

已知产品?

可在A、B任何一种设备上加工;产品?

可在任何规格的A设备上加工,但完成B工序时,只能在B1设备上加工,产品?

只能在A2与B2设备上加工。

加工单位产品所需工序时间及其它各项数据如表1所示,试安排最优生产计划,使该厂获利最大。

并按要求分别完成下列分析:

(1)产品?

的售价在何范围内变化时最优生产计划不变,

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

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

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

表1

1

设备产品设备设备加工费

有效台时(元/台时)

?

?

?

A151060000.05A27912100000.03B16840000.06B241170000.11B3740000.05

原料费(元/件)0.250.350.50

售价(元/件)1.252.002.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表示加工?

产品的数量;

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

根据题意推理,

产品?

时有:

设备组合(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

2

产品?

时有:

设备组合(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.2模型

最大利润:

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

5X1+5X2+5X3+10X7?

6000

7X4+7X5+7X6+9X8+12X9?

10000

6X1+6X4+8X7+8X8?

4000

4X2+4X6+11X9?

7000

7X3+7X6?

4000

Xi?

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

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

表2

Ci0.390.310.40.430.350.440.670.90.73biX1X2X3X4X5X6X7X8X96000555000100010000000777091240006006008807000040004001140000070070004.求解程序功能介绍

3

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程序流程图

开始

4

变量个数n、约束条件个数m、方程组系数矩阵A、约

束条件常数项b值、选择目标函数类型、目标函数系

化成标准形式:

调整目标函数为max,加入松弛变量,将数据输入相应的数组中,形成初始单纯形表

基变量是否是否是否所有检有非0人工验数σj?

0变量

是是否有非基否

变量检验数

为0是无可行解是否存在检验否

数所在列中有

pj>0否

唯一最优解多个最优解

进行比较选择,确定主元和换无界

输出最优表和最优解、最入、换出变量解

优值

换基迭代

结束

图1

5

5.结果分析

5.1结果分析思路

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

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

先确定非基变量系数变化范围,非基变量系数变化只影响自身的检验数,因此:

-1设Cj为非基变量Xj的系数,令它在当前最优表中的检验数δj=CBPj-Cj?

0,当CjB

发生了?

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的变化范围。

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

求得。

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

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

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

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

?

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

?

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

?

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

6

?

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

5.2问题分析

通过对题目的正确理解和分析,依据题意可以得到一个使最优生产计划的模型,以这个模型为基础可以快速的求解出各种最优投资方案;然后通过灵敏度分析来确定

(1)产品?

的售价在何范围内变化时最优生产计划不变

(2)B1设备有效台时数在何范围内变化时最优基不变(3)设备A2的加工费在何范围内变化时最优生产计划不变(4)产品的生产量至少为80件时的最优生产计划。

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

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

如图2:

图2

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

如图3:

图3

7

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

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

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

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

总利润:

1201.442

图4

5.4Lindo分析结果

进入Lindo程序,正确输入所建模型(注意:

不可以用*号表示乘以),得到结果如下:

OBJCOEFFICIENTRANGES

VARIABLECURRENTALLOWABLEALLOWABLE

COEFINCREASEDECREASE

X10.3900000.210227INFINITY

X20.3100000.0945450.152727

X30.400000INFINITY0.094545

X40.4300000.257500INFINITY

X50.3500000.0758330.350000

X60.4400000.094545INFINITY

X70.6700000.305455INFINITY

X80.900000INFINITY0.280303

X90.7300000.4200000.130000

RIGHTHANDSIDERANGES

8

ROWCURRENTALLOWABLEALLOWABLE

RHSINCREASEDECREASE

26000.0000005607.143066694.940491

310000.000000INFINITY606.493469

44000.000000539.1053474000.000000

57000.000000555.9523934485.714355

64000.000000972.9166874000.000000

(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)设备A2的加工费在何范围内变化时最优生产计划不变

由前面提到的含有A2设备组合的变量分别为:

X4,X5,X6,X8,X9。

且由Lindo灵敏

度分析的结果可知这几个变量系数的变化范围分别为,C4=(,?

,0.6875],C5=[0,

0.425833],C6=(,?

,0.534545],C8=[0.619697,,?

),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件时最优解为X2=628.57,

X3=571.43,X5=86.64,X8=500,X9=407.79,其余解值为0。

6.创新内容

9

6.1设备B2有效台时数在何范围内变化时最优基不变

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

6.2产品的生产量至少为200件时的最优生产计划

由Lindo灵敏度分析的结果可知,生产量至少200件时最优生产计划为X8=200,其余解值为0,最优值为180

6.3产品III的售价在何范围内变化时最优生产计划不变

由Lindo灵敏度分析的结果可知,X9[-0.130000,0.420000]产品III售价在2.3+[-0.130000,0.420000]范围内变化时最优生产计划不变,最优解为X2=628.57,X3=571.43,X5=86.64,X8=500,X9=407.79,其余解值为0

7.课程设计总结

经过课程设计的前期准备和上机调试,我对运筹学课程的了解更加深入,我掌握了更多的运筹学的算法以及对运筹学的解题思路加深了理解。

通过这次课程设计,我拓宽了知识面,锻炼了能力,对学过的运筹学知识进行了复习,加深了对灵敏度等知识的学习,而运筹学的实际解决问题的能力也得到一定提高。

我觉得这次课程设计达到的主要成果在于培养学生理论与实际的结合的能力,组员之间的合作与沟通能力,运用计算机语言解决现实问题能力。

运用计算机语言与程序解决现实问题能极大地提高运筹学问题的解决效率,这种思维应当时时体现在今后的工作中的每一个方面,时时注意提高自己办事效率,运用现代先进的技术创新性思维解决问题。

课程设计使我提高了对运筹学知识的理解,尤其是观察、分析和解决实际问题的能力。

作为整个学习体系的有机组成部分,运筹学课程设计与理论课的学习决不是绝对独立的,其目的在于检验学习成果,运用学习成果,把课堂上学到的抽象化、系统化的理论知识,尝试性地应用于实际问题解决中,并从理论的高度对应用问题提出一些有针对性的建议和设想。

通过运筹学课程设计,检验了我的学习成果,同时也让我清楚地认识到课堂学习与实际工作到底有多大距离。

对我们而言,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。

通过运筹学课程设计,让我找到了自身知识与实际应用需要之间的差距,我会在今后的学习期间及时补充相关知识,为以后的学习工作打下坚实的基础。

10

在整个课程设计过程中,我们组遇到了很多问题:

起初面对建模问题我们一筹莫展,尝试过很多种方法,最后在组员的集体讨论和反复修改后终于完成了建模任务,之后我们开始按着模型编写程序。

运用Java程序时,由于笔算和编程的思维不同,许多思路都无法实现,而需要用编程的思想重新对问题进行分析,在完成程序后我们调试时,发现程序无法显示解题过程中每次迭代时的步骤,经过反复调试,并和同学商量,最终克服了难关解决了问题。

最终当报告完成时我们禁不住欣喜万分,这是我们凝聚了组员的力量,并找了很多同学帮忙,付出了很多努力,最后一步步完成的整个课程设计的胜利果实。

在两个星期的课程设计之后,我感到不仅让自己运筹学的理论知识得到提高,更重要的是对运筹学的实际应用有了一定的了解,让我知道理论课的学习最终要应用于社会实践,这样才使得理论知识得到升华。

课程设计的圆满结束让我增加了对理论知识的兴趣,并能够结合实际存在的问题在运筹学领域内进行更深入的学习。

这次课程设计体会最深的就是团队合作,我们的组员和很多同学在学习设计中给了我很大的帮助,我非常感谢他们,让我看到朋友之间的帮助与关怀的无私。

对于这次设计过程与最后的成果,我想说,虽然我们组不一定是最好的,但我们尽了最大的努力,在这两周内大家都兢兢业业的为任务努力着,我们组员因材分工并团结一致,使我们每个人都能够尽职尽责为这个团队的合作尽自己的一份力量。

11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1