Flexsim仿真课设实验报告.docx
《Flexsim仿真课设实验报告.docx》由会员分享,可在线阅读,更多相关《Flexsim仿真课设实验报告.docx(28页珍藏版)》请在冰豆网上搜索。
Flexsim仿真课设实验报告
实验一多产品多阶段指导系统仿真与分析
一、目的
通过本次上机实验,熟悉和使用Flexsim的基本操作,并建立一个简单的模型,实现相应的功能。
二、问题描述
有一个制造车间由4组机器组成,第1,2,3,4组机器分别有3,2,4,3台相同的机器。
这个车间需要加工四种原料,四种原料分别要求完成4、3、2、3道工序,而每道工序必须在指定的机器组上处理,按照事先规定好的工艺顺序进行。
假定在保持车间逐日连续工作的条件下,对系统进行365天的仿真运行(每天按8小时计算),计算每组机器队列中的平均产品数以及平均等待时间。
通过仿真运行,找出影响系统的瓶颈因素,并对模型加以改进。
系统数据
四种原料到达车间的间隔时间分别服从均值为50,30,75,40分钟的正态分布。
四种原料的工艺路线如表6.1所示。
第1种原料首先在第3组机器上加工,然后在第1组、再在第2组机器上加工,最后在第4组机器上完成最后工序。
第1种原料在机器组3、1、2、4加工,在机器组3、1、2、4加工的平均时间分别为30、36、51、30;第2种原料在机器组4、1、3加工,在机器组4、1、3加工的平均时间分别为66、48、45;第3种原料在机器组2、3加工,在机器组2、3加工的平均时间分别为72、60,第四种原料在机器组在1、4、2加工,在机器组1、4、2加工的平均时间分别为60,55,42如下表所示。
表6.1原料加工工艺路线与各工序加工时间参数
原料类型
机器组别
相继工序平均服务时间(minute)
1
3,1,2,4
30,36,51,30
2
4,1,3
66,48,45
3
2,3
72,60
4
1、4、2
60,55,42
如果一种原料达到车间时,发现该组机器全部忙着,该原料就在该组机器处的一个一个服从先进现出FIFO(FIRSTINFIRSTOUT)规则的队列。
前一天没有完成的任务,第二天继续加工,在某机器上完成一个工序的时间服从Erlang分布,其平均值取决于原料的类别以及机器的组别。
例如表11.1中的第2类原料,它的第一道工序是在第4组机器上加工,加工时间服从66的Erlang分布。
概念模型图:
原料4原料3原料1原料2
暂存区1
暂存区2
暂存区3
暂存区4
处理器11
处理器12
处理器13
处理器21
处理器22
处理器31
处理器32
处理器33
处理器34
处理器41
处理器42
处理器43
货架3
货架2
货架1
三、建模过程
双击打开flexsim软件,出现以下界面:
点击左上角文件下方的新建图标,如下图所标示
可出现以下图示界面:
上图左边所示实体库即为本次建模所要用到的对象,根据问题分析得知,本次建模需要用到12个处理器:
分为1,2,3,4组,每组分别有3,2,4,3个处理器。
且每一组需要有一个暂存区与之对应,另外,该模型有四种原料,且由于每种原料的产生时间间隔分别服从不同的正态分布,如果用一个发生器的话,不便于设置,所以选用四个不同的发生器。
由于四种原料经过不同之后要到货架储存,由题可知,第四组机器、第三组机器、第二组机器都要与货架相连,第一组机器则不用与货架相连。
为了便于观察,此处选用三个货架分别与上述三组机器相连。
确定好各类机器的数量之后,接下来便把本次建模所需的实体选好防止在界面中,具体方法是:
在左边的实体库中找到相应的实体,按住鼠标左键,把实体拖到中间的界面中,松开鼠标即可。
完成后如下图所示
为了方便区别,接下来便要改各个实体的名称。
具体方法是:
用鼠标左键双击实体,即可弹出实体的属性界面,在实体图标的右方的字体框中输入实体的新名称,如产生第一种原料的发生器命名为原料1,第一组机器对应的暂存区命名为暂存区1,第一组对应的处理器分别命名为处理器11、处理器12、处理器13。
输入后,点击确认键,则名称修改完成。
名称逐一改好之后如下图所示
接下来连线,由于本模型所涉及的各类实体都属于同类要素,所以都采用A连接,具体方法是:
找到要连接的两个实体,按住A键,点击一下输入端的实体,出现黄色框时,按住鼠标左键,把鼠标从输入端实体拖拽到输出端实体,待输出端实体出现黄色框时,松开,这样便完成了连接。
连错时,要取消连线,取消的方法和连接相类似,只需按住Q键,而不是A键,其他都和连接时一样。
该模型中,先将各组的暂存区与每组的处理器相连,即暂存区1与处理器11、处理器12、处理器13分别相连,其他各组也一样,连好之后,便开始连各个原料的线路:
发生器原料1与暂存区3相连,接下来,把第三组处理器的各个处理器与暂存区1相连,然后把第一组处理器的各个处理器与暂存区2相连,接着便把第二组处理器的各个处理器与暂存区4相连,最后,把第四组处理器的各个处理器与货架1相连,这样便连好了第一组原料的线路。
发生器原料2与暂存区4相连,接下来,把第四组的各个处理器与暂存区1相连,接着把第一组的各个处理器与暂存区3相连,最后把第三组的各个处理器与货架2相连,原料2的路线就连接完成了。
发生器原料3与暂存区2相连,接着第二组的各个处理器与暂存区3相连,接下来原料三要到货架上存储,由于在原料2的路线中第三组的各个处理器与货架2相连过,所以此处就不用再给第三组的各个处理器连货架了。
发生器原料4与暂存区1相连,接着第一组的各个处理器与暂存区4相连,然后第四组的各个处理器与暂存区2相连,最后再把第二组的各个处理器与货架3相连。
到此,四种原料的路线都连好了,只不过要注意的是,连接过了的实体便不用再连。
各个实体按要求连接好了之后如下图所示。
接下来便是设置各个实体的属性,首先设置各个发生器的属性,本次模型涉及到四种原料,我们把四种原料的发生器分别进行设置:
双击所要设置的发生器,便会弹出相应的属性框,首先按照要求设置原料的到达时间间隔,本模型的各个原料都服从正态分布,点击到达时间那一栏右边的那个倒三角标号,选中统计分布,再选中normal选项,按要求设置均值即可,如原料1的到达车间的间隔时间服从均值为50的正态分布,原料2的到达时间间隔服从均值为30的正态分布,原料3服从均值为75的正态分布,原料4服从均值为40的正态分布。
设置界面如下图
接着,设置各个发生器的产生的原料的类型颜色:
点击发生器属性框中的触发器,在离开触发中设置原料的颜色,并在创建触发中设置实体的类型,颜色设置具体方法:
点击离开触发右边的加号,选中设置实体颜色选项,再选中自己想要的颜色即可。
类型设置具体方法:
点击创建触发右边的加号,选中设置临时实体的类型、名称或标签选项,再选择设置临时实体类型,接下来就可以设置相应的类型了,把原料1的设置为duniform(1,1),原料2的设置为duniform(2,2),原料3的设置为duniform(3,3),原料4的设置为duniform(4,4)。
样就完成了原料的颜色和类型的设置。
最后,在常规中把各个发生器的颜色设置为相应原料的颜色即可。
这样就完成了发生器的各个属性的设置。
下面便对处理器的属性进行设置,首先设置各个处理器的处理时间,由于每组处理器对不同原料的处理时间不一样,所以在设置时,我们要根据不同的CASE值进行设置,具体方法是:
在处理器属性框的处理器界面中,在加工时间中选择根据不同的CASE值设置时间,然后再根据该处理器对不同原料的处理时间进行设置,如第一组的处理器对四种原料的处理时间分别为36、48、0、60,其中0表示第一组处理器不处理第三种原料,也就是说,第三种原料不经过第一组处理器,另外还要把处理时间的默认值改为空。
同一组的处理器的处理时间都是一样的,其他组的处理时间设置也如上所述。
接下来根据每种原料的路径对各组处理器的输出进行设置,具体方法是,首先查看处理器的输出端口,具体方法是:
在处理器的常规界面中的最下方找到端口,点击框中的输出端口选项,在右方的框中便会显示出该处理器各个端口所连的实体。
以第一组处理器的处理器11为例,如下图
由上图可知,处理器11的输出端口1连的是暂存区2,输出端口2连的是暂存区3,输出端口4连的是暂存区4。
接下来便要根据处理器的输出端口以各原料的工艺路线设置各种原料的输出端口,具体设置方法是:
点击处理器属性页面上方的临时实体流,页面跳转到临时实体流页面,在输出框中的发送端口那一栏中选择根据返回值选择输出端口选项,并添加4项,既添加1、2、3、4四个case值,case1代表的是第一种原料,case2代表的是第二种原料,case3代表的是第三种原料,case4代表的是第四种原料,还是以第一组处理器的处理器11为例,由题可知,第一种原料接下来要到第二组机器中进行处理,所以第一种原料要发送到暂存区2,由上图的输出端口可知,暂存区2连的是输出端口1,所以第一种原料要从输出端口1输出,即case1要从输出端口1进行输出,也就是说case1后面所填数字为1;第二种原料接下来要到第三组机器中进行加工处理,即第二种原料要发送到暂存区3,由上图可知,暂存区3来连的是输出端口2,所以原料2要从输出端口2输出,即case2后面填的数字应为2;第三种原料不经过第一组机器,所以把第三种原料的输出端口设置为0,即case3后面所填数字为0;第四种原料接下来要到第四组机器中进行加工处理,即第四种原料要发送到暂存区4,由上图可知,暂存区4连的是输出端口3,所以原料4要从输出端口3进行输出,即case4后面所填数字为3。
另外要将默认输出端口设为0。
由以上分析可知,case1、case2、case3、case4后面所填数字分别为1、2、0、3。
一般情况下,同一组机器所连输出端口是一样的,这样的话,同一组机器的输出端口设置时一样的,如果不同,则要根据各个机器的输出端口分别进行设置,设置方法也如上所述。
这样,系统模型各个实体的属性设置都完成了,接下来运行模型,在界面的左上方找到运行按钮,如下图所标示
点击运行图标,则模型开始运行,为了是模型能尽快结束,则加快模型的运行速度,在界面的上方找到运行速度的调节按钮,如下图所标示
把它往右拉即可加快模型的运行速度,运行停止后的界面如下图
另外,如果模型运行之后没有停止的趋势,为了让它停止,可以对其运行时间进行设置,也可对货架的容量进行设置,这两种方法都能使模型的运行到达一定程度后停止下来,这样才能对模型的运行进行统计分析。
定时运行的设置方法为:
在模型的界面上方有运行时间这一栏,点击运行时间框右方的那个倒三角图标,在选中指定运行时间选项,然后在指定运行时间选项后面的那个框中输入运行时间即可,注意的是,运行时间不能太短。
另外一种方法就是设置货架的容量,设置方法是:
双击货架打开其属性框,在最大容量后面的那个框中输入一个较小的数值,如10000,这样即可。
用同样的方法设置其他的货架。
不过,要注意的是,如果模型自己会停止,则不同设置上面的任意一种,如果模型不会自己停止,则需要设置上述方法中的一种,但是,不必两种都设。
本模型在优化之前,运行时是会自行停止的,则不用进行设置,但是优化后,不会自行停止,则要对模型中货架的容量进行设置,设置为10000。
四、系统365天仿真运行
每天按八小时计算,则运行时间为:
365×8×60=175200min
将模型的而运行时间设置为175200,然后运行模型,模型运行完之后,对模型进行统计分析。
统计分析表如下图
每组队列中的平均产品数以及平均等待时间见上表。
五、优化过程
模型运行后则要对模型的运行进行统计分析,具体方法是:
点击界面上方的统计选项,在选择统计与报告选项,则会出现如下界面
出现上图界面后,就根据统计分析是要用到的数据在左方标准属性框中选择所需的而标准属性,本模型用到的标准属性有最大容量、平均容量、最长停留时间、平均停留时间和空闲时间。
选好所需属性后,再点击右下方的生成报告按钮,就会生成一个统计的excel表格,如下图
由表格中的数据可知,暂存区2和暂存区4的最大停留时间很长,即第二组机器和第四组机器拥堵很严重,所以要对模型进行优化。
并由上表可知,第一组和第三组不拥堵,所以先在第二组增加一台处理器23,且考虑到成本,同时在第三组删除一台机器。
第二组增加的那一台机器要与第二组的其他机器一样和其他实体进行连接,首先,把暂存区2和增加的处理器23进行连接,连接为A连接,且暂存区2为输出,处理器23为输入,连接好了之后要对处理器23的输出端口进行连接,连接时,为了方便,把它的输出端口设为和第二组的其他机器一样,这样的话,就要先查看第二组其他机器的输出端口的连接情况,查看方法为:
双击第二组任一台机器打开其属性框,点击常规选项,在点击页面下方端口框中的而输出端口选项,便可出现如下界面
由上图可知,第二组其他机器的输出端口1连接的是暂存区3,则首先将处理器23与暂存区3相连,输出端口2连接的是暂存区4,接下来便将处理器23与暂存区4相连,输出端口3连接的是货架3,最后则要将处理器23与货架3相连。
连好之后,便要对处理器的输出端口进行设置,其端口的设置和第二组其他处理器的一样,双击第二组的任意一个处理器打开其属性框,点击其临时实体流打开临时实体流界面,点击如下图中用蓝色标记所指示的图标便可查看第二组其他处理器所设置的输出端口。
可知,第二组其他处理器所设置的输出端口的情况为:
case1、case2、case3、case4对应的输出端口分别为2、0、1、3。
则把处理器23的输出端口也设置为:
case1、case2、case3、case4对应的输出端口分别为2、0、1、3,同样,也把默认的输出端口设置为0。
这样就完成第一次优化,优化好的模型如下图所示
接下来便是运行模型,在运行模型中发现模型运行了许久都没有停下,便对货架的容量进行设置,把货架1、货架2、货架3的容量都设置为10000,设置方法如上所述。
对货架的容量进行了设置之后,模型便在货架容量和缓存区容量满了之后停止,模型停止运行后便根据上述方法对模型的运行情况进行统计分析,并生成如下excel表格
由以上表格可知暂存区2和暂存区3的最大等待时间依然不为零,也就是说第二组处理器和第三组处理器仍然存在拥堵现象,暂存区1和暂存区4的最大等待时间为零,即第一组和第四组处理器不存在拥堵的现象。
此时,还需对模型作进一步的优化,此次优化,仍然在第二组处理器中再增加一个处理器24,同时,为了尽量地不增加额外的成本,在增加处理器的同时删除一个处理器,由于第一组和第四组都不拥堵,则删除第一组中的处理器13。
同样,还要对增加的处理器24的连接和输出进行设置,连接的具体方法及输出端口的设置方法与进行第一次优化时的处理器23的设置方法一样,此处就不再重复。
设置完只后,第二次优化就完成了,第二次优化完之后的模型如下图所示
在此模型中,为了使模型的运行能自行停止,还是把货架1、货架2、货架3的最大容量都设置为10000。
设置完之后,运行模型,待货架容量和暂存区容量满了之后,模型停止运行,再生成一份统计分析报告如下所示
由上图中的分析统计报告可知,暂存区2的最大等待时间还是不为零,即第二组处理器还是存在拥堵现象,此时,暂存区1、暂存区3、暂存区4的最大等待时间都为零,即第一组、第三组、第四组处理器都不存在拥堵现象。
此时,还需对模型进行第三次优化,此次优化中,还是在第二组处理器中再增加一台处理器25,同时删除第四组中的处理器43。
增加处理器25后,也要对处理器25的连接和输出进行设置,连接和输出端口的设置方法也如同上述处理器23的一样,此处也不再重复。
优化后的模型如下图
在此模型中,为了使模型的运行能自行停止,还是把货架1、货架2、货架3的最大容量都设置为10000。
设置完之后,运行模型,待货架容量和暂存区容量满了之后,模型停止运行,再生成一份统计分析报告如下所示。
由上表可知,此次优化完的模型的各组暂存区的最大等待时间都为零,也就是说各组处理器都没有出现拥堵现象,可认为优化完成。
六、实验总结
通过本次实验,我发现影响该系统的瓶颈因素为机器的数量,特别是第二组机器的数量。
另外,在为期两周的实验操作中,我熟悉了flexsim的操作,并发现了其中的乐趣。