基于simio的产品分拣系统建模与仿真.docx
《基于simio的产品分拣系统建模与仿真.docx》由会员分享,可在线阅读,更多相关《基于simio的产品分拣系统建模与仿真.docx(18页珍藏版)》请在冰豆网上搜索。
![基于simio的产品分拣系统建模与仿真.docx](https://file1.bdocx.com/fileroot1/2023-2/5/4e679ced-faf2-4bdf-9653-f3128caa10d4/4e679ced-faf2-4bdf-9653-f3128caa10d41.gif)
基于simio的产品分拣系统建模与仿真
重庆大学本科学生结课论文
基于Simio的产品分拣系统建模与仿真
学生:
Drathn
*******
专业:
工业工程
重庆大学机械工程学院
2016年12月
摘要
Simio软件作为面向对象和2D-3D一体化的仿真软件正得到越来越广泛的应用。
本报告针对生产系统建模与仿真课程报告中的产品分拣系统一题,运用Simio软件建模与仿真,数据分析与改善,最后提出改善方案并得出结论。
首先,对产品分拣系统进行过程阐述和流程分析,然后建立仿真模型,接着对产生的数据结果进行数据分析,发现其中的瓶颈和问题,最后进行系统的思考与改进,寻求最优化模型。
关键词:
产品分拣系统Simio建模最优化模型
1.绪论
1.1Simio系统建模与仿真现状
当前,仿真技术已经成为分析、研究各种复杂系统的重要工具,它广泛应用于工程领域和非工程领域。
仿真可定义为:
在全部时间内,通过对系统的动态模型性能的观测来求解问题的技术。
对复杂物流系统进行仿真,其目的是通过仿真了解物料运输、存储动态过程的各种统计、动态性能。
但由于现代生产物流系统具有突出的离散性、随机性的特点,因此人们希望通过对生产物流系统的计算机辅助设计及仿真的研究,将凭经验的猜测从物流系统设计中去除,能使物流合理化从而提高企业生产率。
计算机的辅助仿真是在系统结构得到足够的定义,并存在描述系统预期表现的计算方法的情况下,由计算机推演的分析过程。
但传统的计算机仿真技术存在许多不尽人意之处,一是复杂系统的数学模型往往涉及许多领域的专门知识,难以建立;二是对系统各种特性的统计数据,难以理解。
人类对基于图像、声音等感官信息的理解能力远远大于对数据和文字等抽象信息的理解能力。
于是随着计算机硬件技术的发展,人们希望并可以借助二维和三维虚拟仿真软件建立物流系统的系统仿真模型。
下表1.1是Simio主要应用领域:
生产制造和装配
布局规划
卫生医疗
机场
军事补给
商业流程
战略/策略分析
市场动力学
呼叫中心
经济
资产和组合优化
运输
社会系统分析
复杂供应链
人口动力学
电力系统
计算机和电信网络
物流系统设计
人群和车辆移动
应急和疏散规划
复杂自适应系统
生物和生态现象分析
仓储系统
分拨中心
快速消费品
服务系统
国防
农业系统
灾害管理
精益、6西格玛
表1.1Simio的主要应用领域
1.2simio仿真软件简介
Simio仿真软件是美国LLCSimio公司开发的通用仿真平台,既可用于离散事件仿真,也可用于连续事件仿真,已经成功应用于制造、供应链、分拨中心、医疗服务、国防、农业、灾害管理等领域。
作为仿真工具的革命性进展,Simio是真正面向对象的设计,其基于过程(而非基于代码)的对象允许用户通过完全图形化的附加过程对模型进行个性化定制,同时,软件也为希望使用编程来扩充系统功能的高级用户提供了一个开放的基于.NET的开发框架,这使Simio具有强大的扩展功能。
Simio的2D模型与3D模型也是一体的,用户在建立2D模型的同时也建立了3D模型。
另外,Simio对象本身也是智能主体,可以与其他对象交互,进行自主决策。
国外仿真学家认为未来的仿真软件具有如下的一些特点:
交互;可重复利用性;直观性(3D);可扩展性,外部数据连接性;定制化;对象建模;优化的用户界面;智能性。
而这些都是Simio所拥有的,Simio还具有其他软件所没有的独特的功能,主要优点如下:
(1)在降低总体拥有成本上取得立竿见影的结果,最小时间和金钱方面的投入;
a)快速的建模意味着能够降低项目的成本,加快实现项目所带来的收益;
b)商业版本的初始购置成本比竞争对手低很多;
c)容易学习,意味着降低学习成本,在短期内提高生产力成为现实,是企业真正需要的仿真平台。
(2)集合了最先进的实时3D技术(目前仅有2家),带来沉浸其中的视觉震撼;
a)Simio采用先进的2D/3D一体建模的技术,任何基础版本都是3D功能的;
b)实时3D加强了软件的人机交互性,可以在线修改模型参数,并实时观察修改带来的影响,2D/3D视图一键切换;
c)Simio是世界上第一个和谷歌3D仓库紧密集成的仿真开发平台,无须离开开发环境,直接导入数十万种3D的部件。
(3)真正的基于对象的设计理念使的Simio容易扩展;
a)对象容易创建和定制,新手也能轻松创建对象,无须编写任何程序或者脚本语言代码;
b)Simio是完全支持对象建模的产品,对象可以被扩充,增加,并可以在多个项目重复使用,在用户之间共享;
c)Simio附加的过程使得对象行为很容易定制化,而不需要改变对象本身;
d)所有Simio基本对象都可以被修改和扩展,生成新对象;
e)“智能对象”可以获得其他对象的行为状态,进行对象间的交互,产生智能的决策行为;
(4)Simio14个基本对象提供了广泛的建模能力。
1.3本文研究意义
产品分拣系统的主要任务是把待分拣的产品按照业务品种、产品种类或地址等信息进行分离,使具有同一ID属性的产品进入同一存储位置和下一道工序。
产品分拣系统的效率对企业生产和配送的效率和成本影响很大,本文通过对一个简单的产品分拣系统进行仿真建模,发现其中的问题并通过各种参数的调整做出优化改善,使其生产效率达到最优的这一过程,为以后的进一步研究提供经验。
2.模型的选择与建立
2.1模型选择
产品分拣系统:
某公司生产三种产品A,B,C,现在要对其分拣包装。
三种产品A,B,C的到达时间为指数分布14分钟,均匀分布(5,15)分钟,三角分布(5,10,15)分钟。
达到之后,对三种产品分别检查。
检查工站1对A产品检查,工作时间为8分钟每件;检查工站2对B产品进行检查,每件工作时间为均匀分布(4,10)分钟;检查工站3对C产品进行检查,每件工作时间为指数分布11分钟。
A产品的不合格率为20%,检验不合格之后送入维修工站1进行维修,维修时间为70分钟每件。
B产品的不合格率为10%,维修工站2维修时间60分钟。
C产品的不合格率为20%,维修工站3维修时间为50分钟。
合格的产品和维修之后的产品都要送至包装台包装,包装台1包装产品A,包装时间为每个1分钟,10个一批运走;包装台2包装产品B,包装时间为每个2分钟,15个一批运走;包装台3包装产品C,包装时间为每个1分钟,20个一批运走。
主要数据如下表2.1:
表2.1模型的主要数据
到达时间间隔
不合格率
检查时间
维修时间
包装批量
A
Exponential(14)
20%
8
70
10
B
Uniform(5,15)
10%
Uniform(4,10)
60
15
C
Triangular(5,10,15)
20%
Exponential(11)
50
20
2.2建立模型
2.2.1系统模型
一个小型的产品分拣系统,以A为例,由3个工作站组成(分别为检查,维修和包装),各工站的布局如下图所示:
从图中可以看出,首先,产品A进入,然后产品A进入检查工站,有20%的次品率,这些次品首先进入维修工站维修好了之后再进入包装工站进行包装,剩余的80%的良品直接进入包装工站。
产品进入以及在工站中的处理时间服从的数学分布见下图。
而B何C产品的过程和A几乎一模一样,工站的布局也一模一样,这里就不一一赘述。
图2.1工站的布局设置
2.2.2模型的建立步骤
步骤一:
首先用3个Source和3个实体建立这个SIMIO模型(拖动3个MODELENTITIES到建设区),因为每个产品的到达过程都不同,必须用3个Source,我们还需要9个Server(代表每一个工作站)和1个SINK,并给每个对象取名,包括实体,以方便后面识别。
步骤二:
将各个Source与各个Server以及用Path(因为没有考虑各工站之间的距离及运送时间,所以用Path)按题目要求连接起来;
步骤三:
将3个实体与其路线进行捆绑(点击Source,在EntityType中选择对应的实体);
前三个步骤结果如图2.2所示:
图2.2模型初步结构
步骤四:
修改每个SOURCE对象的属性,使它们对应正确的产品,使具有期望到达间隔和到达批量。
对于产品A、B、C,我们分别选择了指数分布,均匀分布,和三角分布作为到达间隔的分布函数。
(以产品A为例,见图2.3);
图2.3Source数据修改
步骤五:
由于在检查工站之后出现了分支,检查之后的产品按一定的比重分别进入包装站和维修站,所以需要将检查站的输出节点设置为按权重输出,并设置对应路径中产品所占比重。
以CheckpointA为例,点击CheckpointA,将OutboundLinkRule设置为ByLinkWeight,并将路径4和5的权重分别设置为20和80,如图2.4(以A为例)和图2.5(以路径4为例)所示:
图2.4图2.5
步骤六:
实现包装工站的产品每10个一批运走。
首先,在Difinition中定义3个变量partA_num、partB_num、partC_num,分别代表各包装站产品A、B、C的数目,供下面操作引用,如图2.6所示:
图2.6设置变量
其次,在process中定义几个过程,以实现10个一批运走的功能。
如图2.7所示(以产品A为例):
图2.7产品A的过程设置
整个过程中各模块的设置及各模块的功能如表图2.8所示(以产品A为例):
图2-7中过程packingA_Exited各模块设置截图
功能
Assign6:
引用变量Part_Anum
并将经过这个模块的值设为加1,每经过一件产品就计一次数
Decide3:
设置条件,当经过产品数超过10时,就进入Assign7,否则,进入Assign8
Assign7:
将传送带速度设为2米/min,表示可以从这里通行
Assign9:
将数据清零,使得整个过程循环往复,重复利用
Assign8:
将传送带速度设为0,表示此路不通。
图2-8packingA_Exited中各模块具体设置
产品B、C的过程和产品A的过程是一样的,这里不再赘述。
最后,在各包装站的AfterProcessing中引入对应的过程,如图2.9所示(以A为例):
图2.9过程的引用
步骤七:
为包装工站输出端添加计数器,使成批运走时更加直观。
在Animation下点击StatusLabel,然后在对应的包装站位置插入这个计数器,点击计数器,设置其记录的数据对象,如图2.10所示:
图2.10计数器设置
从而得到修改前的仿真模型如下图2.11所示:
图2.11修改前的最终模型
3.模型的运行与调整
3.1仿真的运行
在run中设置运行时间为1000小时,并快速运行得到下图3.1:
图3.1仿真的运行结果
显然,此模型运行顺畅,在运行1000小时后没有出现逻辑性的错误,说明模型的建立初步取得了成功。
3.2改善前数据结果分析
停止运行模型,查看结果项:
针对三个实体对象:
通过图3.2,我们可以看出,对于产品A,总共有4221件,处理了4200件,产品平均滞留时间为2.79小时,最高滞留时间为19.05小时,平均缓存数量为11.8件,最高为35.0件;对于产品B,总共有6012件,处理了6000件,产品平均滞留时间为1.93小时,最高滞留时间为10.41小时,平均缓存数量为11.6件,最高为42.0件;对于产品C,总共有5963件,处理了5325件,产品平均滞留时间为58.80小时,最高滞留时间为112.58小时,平均缓存数量为347.328件,最高为650.00件。
由此可以看出,产品C的滞留时间和滞留数量大大高于产品A和产品B,存在较大的瓶颈,改善方案可以从产品C着手。
图3.2对实体对象的数据分析
针对各工作站进行数据分析,采取的属性有:
利用率,缓存区平均值,缓存区最大值以及输入/输出产品。
如下表所示:
利用率%
缓存区平均值
缓存区最大值
输入/输出产品
checkpointA
56.2343
0.3588
6
4221/4217
checkpointB
70.0824
0.0533
2
6011/6011
checkpointC
99.9898
316.8723
561
5963/5425
repairA
92.0076
3.7505
13
788/788
repairB
59.2112
0.3790
5
592/592
repairC
89.5000
3.1741
14
1074/1074
packingA
7.0100
0.0007
1
4026/4206
packingB
20.0333
0.0038
1
6010/6010
packingC
9.0417
0.0044
3
5425/5425
总
16196/15641
表3.2改善前各工作站的数据结果
由上表可以看出,Checkpoint利用率基本达到了100%,说明其工作繁重,基本上没有停止过,缓存数量达到了一个惊人的数量,并且没有处理掉所有输入的产品,产生了较多的在制品,占用了时间空间和资金,所以CheckpointC为产品C的瓶颈;由于Repairing工站的包装时间很短,所以出现了利用率很低的情况,造成了工作能力的浪费。
这就是整个系统最主要的两个问题,接下来将针对这两个问题进行改善。
3.3改善后的模型及数据结果分析
3.3.1改善建议一
因为检查C站产品严重积压,为瓶颈工站,将其检查处理能力由1换成2,如下图3.1所示:
图3.1检查C站的能力设置
如此一来,检查C站的压力将得到大幅度缓解,虽然会降低其利用率,但能够大大减少产品积压,从而提高生产率,增快资金周转速率。
3.3.2改善建议二
Repairing工站和packing工站的利用率都有较大的提升空间,可以考虑将repairing工站和对应的packing工站进行合并,这样可以减少3个人,并提高利用率。
首先,计算合并后工站的处理时间,如下表3.2所示:
工站名
维修站
A
包装站
A(直达)
维修站
B
包装站
B(直达)
维修站C
包装站C(直达)
权重
20
80
10
90
20
80
处理时间
70
1
60
2
50
1
合并后的处理时间
0.2*70+0.8*1
=14.8min
0.1*60+0.9*2
=7.8min
0.2*50+0.8*1
=10.8min
表3.2合并后工作站的处理时间计算
更改模型并重设数据得到如图3.2和图3.3所示:
图3.2模型的更改
图3.3数据的重设
3.3.3改善后的数据结果分析
综合改善建议一与建议二,也就是将将检查C站的处理能力由1变为2,并且将各维修站与包装站进行合并,得到了最终模型,运行数据如下:
利用率%
缓存区平均值
缓存区最大值
输入/输出产品
checkpointA
56.4745
0.3582
7.0000
4238/4235
checkpointB
70.6454
0.0589
2.0000
6033/6032
checkpointC
56.2736
0.1190
8.0000
6006/6006
repairandpackingA
99.7014
63.7809
104.0000
4235/4041
repairandpackingB
78.4059
0.0792
2.0000
6032/6032
repairandpackingC
99.9505
9.7765
20.0000
6006/5540
总
16273/15676
表3.3改善后的数据结果
由表3-3可以看出,相比于原模型,解决了CheckpointC的产品积压问题,同时通过工作站合并的方式解决了各包装工站的利用率低下的问题,并且还降低了人力成本,提高了产量。
但也产生了新的瓶颈工站repairandpackingA工站,,但并不严重,这里不再讨论。
3.4小结
本章节通过对产品分拣系统仿真模型运行后的数据结果进行分析,发现了模型中存在的瓶颈问题和低效率的问题,并根据能力参数的调整以及工站的合并等方法有效的解决了所存在的问题,整个过程体现了Simio的面向对象的便利性以及不用编程的易操作性。
4.结论
本文主要针对课堂案例中的产品分拣系统模型,对具体的建模过程进行了详细的介绍,并通过对运行数据的深入研究,提出了较为优化的解决方案。
但由于缺乏相应的权威数据和相关文献,使得自己在进行改善的过程中可能脱离了实际情况,现有的改善方案也还有进一步的完善空间(如还可以将三个包装工站进行合并),我将继续进行这方面的学习,争取提出更有建设性的见解。
参考文献
[1]王婷,杨林,刘晶.利用Simio的装配线建模与仿真研究[J].现代制造工程,2012,05:
101-104+117.
[2]岳磊,管在林,王创剑,郑志明,邵新宇.基于SIMIO的装配车间生产线配送物流仿真分析[J].机械制造,2013,02:
83-86.
[3]杨明,张冰,王子才.建模与仿真技术发展趋势分析[J].系统仿真学报,2004,09:
1901-1904+1913.