运筹学课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
-
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目是《某厂生产甲、乙两种产品每种产品都要在A、B两道工序加工》
工 业 大 学
课 程 设 计 报 告
课程设计名称 运筹课程设计 专 业 班 级 学 生 姓 名 指 导 教 师
2011年07月08日
课 程 设 计 任 务 书 课程设计题目:
第十九题
起止日期:2011、6、27,2011、7、8 设计地点:教室、电子商务中心 设计任务及日程安排:
1、设计任务
1.1通过课程设计可以增强学生解决实际运筹学问题的能力
1.2通过课程设计可以使学生巩固、拓展和深化所学的基础理论、专业理论和知识。
1.3通过课程设计可以使学生初步掌握用运筹学
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
解决实际问题的过程和技巧,树立理论联系实际的工作作风。
1.4通过课程设计可以使学生初步建立正确的设计思想和方法,进一步提高运算、计算机应用技能和综合
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
、解决问题的能力。
2、设计进度安排
本课程设计时间分为两周:
第一周(2011年6月27日----2011年7月1日):建模阶段。此阶段各小组根据给出的题目完成模型的建立。主要环节包括 :
1.1 6月27日上午:发指导书;按组布置设计题目;说明进度安排。
1.2 6月27日下午至29日:各小组审题,查阅资料,进行建模前的必要准备(包括求解程序的编写与查找)。
1.3 6月30日至7月1日:各个小组进行建模,并根据题目及设计要求拟定设计提纲,指导教师审阅;同时阅读,理解求解程序,为上机求解做好准备。
第二周(2011年7月4日---7月8日):上机求解,结果分析及答辩。主要环节包括
1.1 7月4日至7月5日:上机调试程序
1.2 7月6日:完成计算机求解与结果分析。
1.3 7月7日:撰写设计报告。
1.4 7月8日:设计答辩及成绩评定。
(答辩时间:7月8日上午8:30,12:00,下午2:00,5:00)
1
组 别:第六组
设计人员:
设计时间:2011年6月27日---2011年7月8日
1、 设计进度:
本课程设计时间分为两周:
第一周(2011年6月27日----2011年7月1日):建模阶段。此阶段各小组根据给出的题目完成模型的建立。主要环节包括 :
1.1 6月27日上午:发指导书;按组布置设计题目;说明进度安排。
1.2 6月27日下午至29日:各小组审题,查阅资料,进行建模前的必要准备(包括求解程序的编写与查找)。
1.3 6月30日至7月1日:各个小组进行建模,并根据题目及设计要求拟定设计提纲,指导教师审阅;同时阅读,理解求解程序,为上机求解做好准备。
第二周(2011年7月4日---7月8日):上机求解,结果分析及答辩。主要环节包括
1.1 7月4日至7月5日:上机调试程序
1.2 7月6日:完成计算机求解与结果分析。
1.3 7月7日:撰写设计报告。
1.4 7月8日:设计答辩及成绩评定。
2、设计题目:(第十九题)
某厂生产甲、乙两种产品,每种产品都要在A、B两道工序加工。其中B工序可由B 1或B2设备完成,但乙产品不能用B1加工。生产这两种产品都需要C、D、E三种原材料,有关数据如下表所示。又据市场预测,甲产品每天销售不超过30件。问应如何安排生产才能获利最大,并按要求分别完成下列分析:(1)乙产品的单价在何范围内变化时最优生产
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
不变,(2)B1工序的日供工时数在何范围内变化时最优基不变,(3)原材料D的单位成本在何范围内变化时最优生产方案不变,
2
产品单耗 日供应量 单位成本
甲 乙 数量 单位 数量 单位 工 A 2 1 80 工时 6 元/工时 序 B 3 — 60 工时 2 元/工时 1
B 1 4 70 工时 5 元/工时 2
原 C 3 12 300 米 2 元/米 材 D 5 3 100 件 1 元/件 料 E 4 1.5 150 千克 4 元/千克 其他费用(元/件) 26 29
单价(元/件) 80 100
3、建模过程:
3.1建模过程及数据准备:
3.1.1 设定变量:
设X表示甲产品在B工序的B设备上加工的件数; 11
X表示甲产品在B工序的B设备上加工的件数; 22
X表示乙产品加工的件数; 3
z 表示利润
3.1.2 根据题意推理有:
由在A工序上加工甲乙产品的日供应量限制有:2(X+X)+X ?80; 123
由在B工序上的B设备加工甲产品的日供应量限制有:3 X ?60; 11
由在B工序上的B设备加工甲乙产品的日供应量限制有:X+4X ?70; 223
由加工甲乙产品时消耗原材料C的日供应量限制有:3(X+X)+12X ?300; 123
由加工甲乙产品时消耗原材料D的日供应量限制有:5(X+X)+3X ?100; 123
由加工甲乙产品时消耗原材料E的日供应量限制有:4(X+X)+1.5X?150; 123
由甲产品的日销售量限制有: X+X?30; 12
3.1.3 由以上设定和题目要求得此题的数学模型如下:
maxZ=80(X+X)+100X-26(X+X)-2(X+X)*6-29X-6X-3X*2-X*5 12312123312
-4X*5-3*(X+X)*2-5(X+X)*1-4(X+X)*4-12X*2-3X-6X 3121212333
3
2(X+X)+X ?80 12 3
3 X ?60 1
X+4X ?70 23
3(X+X)+12X ?300 12 3
5(X+X)+3X ?100 12 3
4(X+X)+X ?150 12 3
X+X ?30 12
X?0 (i=1,2,3) i
3.1.4 计算机求解前的手工数据准备:
整理并化为标准型
maxZ=9X+10X+12X 123
2X+2X+X+X =80 123 4
3X +X =60 15
X+4X +X =70 236
3X+3X+12X +X =300 1237
5X+5X+3X +X =100 1238
4X+4X+1.5X+X =150 123 9
X+X +X =30 1210
X?0 (i=1,2,3,4,5,6,7,8,9,10) i
4.求解程序功能介绍
4.1 总体介绍:
C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。
C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方
4
便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
同时,C语言具有简洁紧凑、灵活方便、运算符丰富、数据类型丰富等特点,适用于初级程序的编写,具有易于理解和操作等特点,是学习其他语言的基础。 4.2 程序流程图
开始
变量个数10、约束条件个数7、方程组系数矩阵A、
约束条件常数项b值、选择目标函数类型、目标函数
化成标准形式,输入目标函数系数,约束条件系数和常数
是 检验数?0
否
确定主元,换入换出变量 输出最优解与最优值
迭代计算新表
结束
4.3 程序运行:
在程序运行过程中,需要依据所编程序的要求录入相应数据,其具体过程如下:
4.3.1 运行程序,输入目标函数中变量的系数:将9 10 12 0 0 0 0 0 0 0(目标函数系数)输入,出现如图1所示情况;
5
图1
4.3.2 依照程序要求输入约束条件左端系数矩阵:
2 2 1 1 0 0 0 0 0 0
3 0 0 0 1 0 0 0 0 0
0 1 4 0 0 1 0 0 0 0
3 3 12 0 0 0 1 0 0 0
5 5 3 0 0 0 0 1 0 0
4 4 1.5 0 0 0 0 0 1 0
1 1 0 0 0 0 0 0 0 1
后出现如图2的情况:
图2
4.3.3 依据程序输入约束条件右端常数项:80 60 70 300 100 150 30 后出现如图3的情况:
图3
6
将求出最优解和最优值如图3所示。
5. 结果分析
5.1 软件介绍:
LINDO是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度很快、
易于方便输入、求解和分析数学规划问题,因此在数学、科研和工业界得到广泛应用。
LINDO主要用于解线性规划、非线性规划、二次规划和整数规划等问题。也可以用于
一些非线性和线性方程组的求解以及代数方程求根等。LINDO中包含了一种建模语言
和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。对
于在用LINDO6.1求解本题中,我们用到的是其中用于解决线性规划这部分的功能。
5.2 本题使用LINDO的运行结果如下:
Variable Coefficient Increase Decrease
X1 9.000000 11.00000 0.7647059
X2 10.00000 0.6500000 INFINITY
X3 12.00000 INFINITY 2.600000
Righthand Side Ranges:
Current Allowable Allowable
Row RHS Increase Decrease
2 80.00000 INFINITY 43.50000
3 60.00000 INFINITY 31.50000
4 70.00000 24.11765 70.00000
5 300.0000 INFINITY 61.50000
6 100.0000 52.50000 47.50000
7 150.0000 INFINITY 85.75000
8 30.00000 INFINITY 20.50000
5.3规定题目的分析过程及结果
5.3.1乙产品的单价在何范围内变化时最优生产方案不变,
对应所建模型中X的系数变化;即价值系数C的变化。X的取值代表乙产品生 33
产的数量,X的系数代表乙产品的每件利润值。经灵敏度分析的结果可知,乙产3
品的利润在大于9.4范围内最优生产方案不变,即乙产品的价格大于97.4最优生
产方案不变。
7
5.3.2 B1工序的日供工时数在何范围内变化时最优基不变,
属于LP问题模型中资源参数b的变化。经灵敏度分析结果可知,当B1工序的日 供
工时数大于28.5范围内最优基不变。
5.3.3 原材料D的单位成本在何范围内变化时最优生产方案不变,
对应所建模型中X、X、X的系数变化;属于LP问题模型中目标函数价值参1 2 3
数C的变化。若最优生产方案不变,甲在B1工序上的生产利润的可变范围是8.24
至20,甲在B2工序上生产的利润的科比案范围是不大于10.65,乙产品的利润
可变范围是大于9.4。据以上灵敏度分析结果可知D的单位成本在0.87至1.16
范围内变化最优生产方案不变。
6.结合题目创新的分析内容
6.1 甲产品的单价在何范围内变化时最优生产方案不变,
经灵敏度结果分析可知当甲产品在B1工序上生产时,甲产品的单价在79.24至
91范围内变化最优方案不变。又因为甲产品在B2工序上生产时,甲产品的单
价若不大于80.65则最优方案不变。所以甲产品的单价应控制在79.24至80.65
范围内,最优方案不变。
6.2 原材料E的成本在何范围内变化时最有生产方案不变,
生产甲产品时,原材料E的成本在1.25至4.19。生产乙产品时,原材料E的成
本应不大于5.73。所以,当原材料E的成本在1.25至4.19范围内时,最优生产
方案不变。
6.3 B1工序的日供工时数在何范围内变化时最优基不变,
经灵敏度分析可知,B1工序的日供工时数不少于28.5时,最优生产方案不变。 7.课程设计总结
在本次为期两周的运筹学课程设计当中,感触最深,最让我反思的的是对自身编程能力的质疑。经过了大学将近三年的学习,主修了C语言,C#,SQL SERVER等编程知识。虽然笔试成绩还算过得去,但真正动手将实际问题转换成计算机语言真的耗费很大的精力。在课设的第一周,老师确定我们的建模无误后,也就是周六我就在思考如何将数学模型及单纯形的算法反映到计算机的代码当中。经过和组员反复的商榷,最终确定了以C语言来写这个程序。说实话,人脑的计算思维和计算机的计算思维、之间的差距的确很大。首先,人工计算单纯形法是以表为基础,确定主元,出基,入基,反复迭代本身没有障碍,只是计算量的多少,计算的精度失误不同而已。而将这种单纯形的算法翻译成计算机的算法却不是那样简单。首先,如何找到主元的位置。因为在手工计算时,不需要知道主元在表中的坐标位置,即主元是表中的第几行第几列,只需要通过比较知道主元是那个值即可,再进行化一变零。但在计算机中所有的
8
值都要有它自身的位置。例如,手工计算的单纯形表有三个区域,检验数行,约束条件左端系数阵,还有约束条件右端常数列。这三块区域需要代码中的数组来表示,三块区域的每个区域的每个数值都对应其数组的位置。指其中需要强调的是数组的开始位置是“0”,而一般变量编号的开始是“1”。所以在编程过程中需要做一个数组位置和变量实际编号的转换,也就是变量的脚标减一即是变量在数组当中的位置。这一点我开始没有注意,后来在同学的帮助下才发现这个关键细节。这个细节对之后的算法编写起到了关键的作用,主元的行列值的确定就编写了两个函数,每个函数当中都涉及到了数组位置确定变量的脚标,通过变量的脚标确定行列位置,再以行列位置为坐标定位主元所在数组的位置。这一系列过程都围绕这数组和变量脚标的转化。
两周的课设即将过去,课设的主体内容也基本完成。两周时间,收获良多,不再赘述。但课设中也有很多不尽人意的地方,比如本程序的局限性,只能解决本组题设的问题等等。在今后类似的学习中我会注意我在本次课设中积累的经验和教训,避免再次进入误区。感谢王老师对课设的耐心指导。感谢本组的两位组员。感谢对本程序的编写过程提供意见的同学。
9