运筹学课程设计- 题目是《某厂生产甲、乙两种产品每种产品都要在A、B两道工序加工》

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

工业大学
课程设计报告
课程设计名称运筹课程设计专业
班级
学生姓名
指导教师
2013年6月28日
课程设计任务书
运筹学课程设计报告
组别:第十六组
设计人员:
设计时间:2013年6月17日—2013年6月21日
1.设计进度
本课程设计时间分为两周:
第一周(2013年6月17日----2013年6月21日):建模阶段。

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

主要环节包括:
1.1 6月17日上午:发指导书;按组布置设计题目;说明进度安排。

1.2 6月17日下午至18日:各小组审题,查阅资料,进行建模前的必要准备(包括求解程序的编写与查找)。

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

第二周(2013年6月24日---6月28日):上机求解,结果分析及答辩。

主要环节包括:
1.4 6月24日至6月26日:上机调试程序
1.5 6月27日:完成计算机求解与结果分析。

1.6 6月27日:撰写设计报告。

1.7 6月28日:设计答辩及成绩评定。

2.设计题目
某厂生产甲、乙两种产品每种产品都要在A、B两道工序加工。

其中B工序可由B1或B2设备完成但乙产品不能用B1加工。

生产这两种产品都需要C、D、E三种原材料有关数据如下表所示。

又据市场预测甲产品每天销售不超过30件。

问应如何安排生产才能获利最大并按要求分别完成下列分析:(1)乙产品的单价在何范围内变化时最优生产方案不变?(2)B1工序的日供工时数在何范围内变化时最优基不变?(3)原材料D的单位成本在何范围内变化时最优生产方案不变?(4)甲产品的每天销量至少为35件时的最优方案。

3.建模过程
3.1设定变量
设X1表示甲产品在B工序的B1设备上加工的件数;
X2表示甲产品在B工序的B2设备上加工的件数;
X3表示乙产品加工的件数;
Z表示利润
3.2根据题意推理有
由在A工序上加工甲乙产品的日供应量限制有2(X1+X2)+X3≤80;
由在B工序上的B1设备加工甲产品的日供应量限制有:3X1≤60;
由在B工序上的B2设备加工甲乙产品的日供应量限制有X2+4X3≤70;
由加工甲乙产品时消耗原材料C的日供应量限制有3(X1+X2)+12X3≤300;
由加工甲乙产品时消耗原材料D的日供应量限制有5(X1X2)+3X3≤100;
由加工甲乙产品时消耗原材料E的日供应量限制有4(X1X2)+1.5X3≤150;
由甲产品的日销售量限制有 X1+X2≤30。

3.3 由以上设定和题目要求得此题的数学模型如下
maxZ=80(X1+X2)+100X3-26(X1+X2)-2(X1+X2)*6-29X3-6X3-3X1*2-X2*5
-4X3*5-3(X1+X2)*2-5(X1+X2)*1-4(X1+X2)*4-12X3*2-3X3-6X3
2(X1+X2)+ X3 ≤80
3X1≤60
X2+4X3≤70
3X1+3X2+12X3≤300
5(X1+X2 )+3X3≤100
4(X1+X2) +1.5X3≤150
X1 +X2 ≤30
X i≥0 i=(1,2,3)
3.4计算机求解前的手工数据准备
整理并化为标准型
maxZ=9X1+10X2+12X3
2X1+2X2+X3+X4 =80
3X1 +X5 =60
X2+4X3 +X6 =70
3X1+3X2+12X3 +X7 =300
5X1+5X2+3X3 +X8 =100
4X1+4X2+1.5X3 +X9 =150
X1+X2 +X10 =30
X i≥0 (i=1,2,3,4,5,6,7,8,9,10)
4.求解程序功能介绍
4.1 总体介绍
Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。

“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。

Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。

和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。

可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。

它一直是程序员至爱的编程工具。

Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。

但最重要的还是Object Pascal语言,它才是一切的根本。

Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。

在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。

4.2 数据录入
注意事项:
4.2.1 在输入系数矩阵A、目标函数系数c、约束条件右端常数项b和约束条件符号时,应注意对应的正确位置。

文本框的前m行n列为对应的系数矩阵A的输入位置,m行n+1列为约束条件符号的输入位置,m行n+2列为b的输入位置,m+1行为目标函数系数c的输入位置;
4.2.2 在输入目标函数系数c时,只需按照原目标函数进行输入,无需转换,程序会自动进行相应的调整;
4.2.3在输入约束条件右端常数项b时,b按照原问题输入,也无需非要求为非负;
4.2.4在输入约束条件符号时,注意:-1代表≤,0代表=,1代表≥;
4.2.5在进行每步的运行时,一定要按步骤进行;
4.2.6如果问题较复杂,一定要注意正确输入,并在输入后进行检查;
4.3 程序运行
在程序运行过程中,只需点击相应的按钮即可。

其运行过程如下:
4.3.1输入约束条件个数m和变量个数n,并选择目标函数类型,然后点击“确定”按钮,之后将在窗口右端生成m+1行n+2列的文本输入区;
4.3.2在生成的区域输入相应的输入系数矩阵A、目标函数系数c、约束条件右端常数项b和约束条件符号,然后点击“下一步”按钮,将会弹出一个确定窗口点击“OK”进入两阶段的第一阶段;
4.3.3在弹出的新窗口中点击“初始化表格”按钮,将会生成一个辅助问题的初始单纯性表,然后点击“第一阶段最终表”按钮;
4.3.4在弹出的确定窗口中点击“OK”进入两阶段的第二阶段,再点击“确定”按钮;
4.3.5 在弹出的新窗口中点击“第二阶段初始表”按钮,再点击“显示最终表”按钮,此时出现的即为问题的最优表,并输出了最优值和和最优解。

4.3.6点击“返回”按钮,将返回到第一个窗口,点击“退出”按钮,将退出程序。

4.4 数据分析
4.4.1 首先输入数据,分别是系数矩阵A、目标函数系数c、约束条件右端常数项b和约束条件符号,再输入时应注意对应的正确位置。

文本框的前m行n列为对应的系数矩阵A的输入位置,m行n+1列为约束条件符号的输入位置,m行n+2列为b的输入位置,m+1行为目标函数系数c的输入位置;
4.4.2定义相应的变量和函数,变量分为普通的变量和临时变量,然后初始化变量;对于操作符是小于号情况的处理,已变换的行数的累加,松弛变量个数累加,实现系数矩阵行的交换,添加松弛变量系数,记录决策变量,交换限定向量(常数项);对于操作符是大于号情况的初步处理,将大于号转化为等于号,以进行下一步处理;对于操作符是等于号,以及由大于号转换而来的情况的处理,累加人工变量的个数,交换系数矩阵的行;
4.4.3对应原理的第一步,约束变换。

加入松弛变量和人工变量,构造不带目标函数的初始表格,并调整使基变量的后man行为人工变量;对应原理的第二步,初始化人工目标函数系数,计算人工目标函数系数,初始化人工目标函数值,计算人工目标函数值;对应原理第三步,判断目标函数有无负值,存在目标函数系数为负,找主元列,从行向量中选取最小的数,返回其位置;判断的r列的元素有无正值;找主元行,从主元列中选取比之最小的行,返回其位置;以上四个过程对应原理第四步,完成了迭代变换;对应原理的第五步,判断基变量中是否还有人工变量;对应原理的第六步的前一部分,判断所有有人工变量的值是否全为0;对应原理的第六步的后一部分,删除人工变量所在的行、列,初始化临时变量,记录人工变量的位置,更新系数矩阵,更新限定向量;对应原理的第七步,删除人工变量的所有列,删除人工变量的目标系数,显示表格迭代结果和初始单纯性表;判断目标函数系数是否全为正值,基变量全为非人工变量的情况,显示第一阶段最终单纯形表,否则如果人工基变量的值全为0,显示第一阶段最终单纯形表,进入第二阶段求解。

4.4.4根据存储的第一阶段的最优表的所有信息,建立第二阶段初始单存形表,更新目标函数和限定限量,调用第一阶段使用过的函数,如:puanduan_d、find_s、
puanduan_r(s)、find_r(s)、diedai、xianshi等,完成表格的迭代变换,生成最终单纯形表。

4.5 灵敏度分析
Ai区工厂数量的变化属于LP问题模型中参数bi的变化
根据公式max{-bi/βir | βir>0}<=b<=min{-bi/βir | βir<0} 确定bi的变化范围。

4.5.1如果bi的变化在该范围之内最优基不变,最优解、最优值均发生变化,最优解由公式XB=B-1b求得,最优值由公式max Z=CBB-1b。

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

4.6 程序流程图
5.结果分析
5.1问题分析
通过对题目的正确理解和分析,依据题意可以得到一个最大利润的模型,以这个模型为基础可以快速的求解出各个工序的的最优生产安排;再在这个最优生产安排的基础上求得这一最优的生产安排中所得到的总、产品个数;然后通过灵敏度分析来确定(1)乙产品的单价在何范围内变化时最优生产方案不变?(2)B1工序的日供工时数在何范围内变化时最优基不变?(3)原材料D的单位成本在何范围内变化时最优生产方案不变?(4)甲产品的每天销量至少为35件时的最优方案。

5.2 数据输入
对于计算结果我们将上机实现,我们将在所编的delphi窗口中进行数据输入并计算出结果,所以我们在上机前作如下的数据准备(如图1所示):
图1
5.3 计算机的求解结果及结果分析
5.3.1 由计算过程及结果我们可以得到各个工序的各个设备的最优生产安排:(如图2所示)
图2
5.3.2 由上表及输出结果可得最优解及最优值(如图3所示):
图3
5.3.3结果分析
(1)乙产品的单价在何范围内变化时最优生产方案不变,对应所建模型中X3的系数
变化即价值系数C的变化。

X3的取值代表乙产品生产的数量,X3的系数代表乙产品的每件利润值。

经灵敏度分析的结果可知,乙产品的利润在大于9.4范围内最优生产方案不变,即乙产品的价格大于97.4最优生产方案不变。

(2) B1工序的日供工时数在何范围内变化时最优基不变,属于LP问题模型中资源参数b的变化。

经灵敏度分析结果可知,当B1工序的日供工时数大于28.5范围内最优基不变。

(3)原材料D的单位成本在何范围内变化时,最优生产方案不变,对应所建模型中X1、X2、X3的系数变化属于LP问题模型中目标函数价值参数C的变化。

若最优生产方案不变,甲在B1工序上的生产利润的可变范围是8.24至20。

甲在B2工序上生产的利润的科比案范围是不大于10.65乙产品的利润可变范围是大于9.4。

据以上灵敏度分析结果可知,D的单位成本在0.87至1.16范围内变化,最优生产方案不变。

(4)甲产品的每天销量至少为35件时的最优方案,对应所建模型中参数b常数项的变化。

常数项可变范围是28.33至61.11。

甲产品的每天销售量为35件在其范围内,故最优生产方案不变。

6.创新内容
6.1采用delphi程序进行模型的运算,由于delphi语言可视性高,窗口化界面更易理解,即使是初次使用此程序,也能较容易的操作。

6.2原材料E的成本在何范围内变化时最有生产方案不变,生产甲产品时原材料E的成本在1.25至4.19。

生产乙产品时原材料E的成本应不大于5.73。

所以当原材料E 的成本在1.25至4.19范围内时,最优生产方案不变;
产品的其他费用在何范围内变化最优生产方案不变。

经灵敏度分析可知乙产品的其他费用不大于31.6时,最优生产方案不变;
当甲产品的其他费用为20时,原最优生产方案是否改变,不会。

因为经灵敏度分析可知,当甲产品的其他费用在15至2.76范围内时,最优生产方案不变。

20在此区间内,所以原最优生产方案不变。

7.课程设计总结
两周的课程设计很快就过去了,在这两周中我学到了很多的东西:
首先,让我学会了一句话:“纸上得来终觉浅,绝知此事要躬行。

”当初拿到题目时,总觉得只要套用书本知识,就可以完成设计,结果并非如此,需呀全局意识,先做好整体规划,再逐个解决。

而且还要利用计算机知识,将理论应用于实践,“实践才是检验真理的唯一标准”。

第二,通过这次课程设计,加强了我们动手、思考和解决问题的能力。

在整个设计过程中,由于以前做过的运筹学的题都是比较简单的题目,拿着题目就能看出模型来,但是这次的题目较以前的题难了很多,这就要求我们更加勤奋的去动手演算,去思考,以发现模型中的错误和没有考虑周全的部分。

第三,在建立数学模型时,一定要有细心和耐心才能做好事情,运筹学解题牵一发而动全身,一个变量错误或是有一点没有考虑,最后计算的结果必将是错误的。

第四,通过这一次的课程设计,我学会了很多,如何进行集体活动,如何协调一个集体,这些都是作为当代大学生及欠缺的一块,这次的活动,让我懂得了集体是一
个个人无法比拟的团队,同时也懂得什么是学海无涯,等重要的是,我在这次完成课程设计的过程中体会到团队合作的乐趣,一向习惯于“独立思考”的我们学回了积极的与团队成员交流,取长补短。

共同进步。

“独学而无友则孤陋而寡闻”,只有和同学多交流多学习才能不断地提高自身水平。

第五,如果运筹学能够正确合理地应用,那么它可以使企业轻松地管理,并能使用最少地原料获得最大地利益,为企业节省了许多不必要地开支以及避免浪费。

生活就是这样,汗水预示着结果也见证着收获。

劳动是人类生存生活永恒不变的话题。

通过实习,我才真正领略到“艰苦奋斗”这一词的真正含义,我才意识到老一辈电子设计为我们的社会付出。

我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们可以,而且设计也是一个团队的任务,一起的工作可以让我们有说有笑,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里一年的相处还赶不上这十来天的合作,我感觉我和同学们之间的距离更加近了;我想说,确实很累,但当我们看到自己所做的成果时,心中也不免产生兴奋;正所谓“三百六十行,行行出状元”。

我们同样可以为社会作出我们应该做的一切,这有什么不好?我们不断的反问自己。

也许有人不喜欢这类的工作,也许有人认为设计的工作有些枯燥,但我们认为无论干什么,只要人生活的有意义就可。

社会需要我们,我们也可以为社会而工作。

既然如此,那还有什么必要失落呢?于是我们决定沿着自己的路,执着的走下去。

这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于迎刃而解。

同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
最后,感谢于老师的细心指导,也同样谢谢其他各组同学的无私帮助!
9。

相关文档
最新文档