课程名称: 物流系统仿真(上机) 实验项目名称: 物流仿真系统
学生姓名: 张宁 专业: 物流工程
学号: ********* 指导老师: 路静敏老师
实验地点: 实验室D203 实验日期: 2010-10-29
一、实验目的和要求
(一)实验目的
1、掌握仿真软件Flexsim操作及应用。
2、结合实际情况设计模型解决问题。
(二)实验要求
能够根据实际要求建立仿真模型,通过对仿真模型的运行找到实际系统的瓶颈,并通过修改模型对实际系统进行分析,最终对系统提出优化方案。
二、实验内容和原理
(一)原理
Flexsim是一套系统仿真模型设计、制作与分析工具软件。它集计算机三维图像处理技术、仿真技术、人工智能技术、数据处理技术为一体,专门面向制造、物流等领域。运用flexsim系列仿真软件,可在计算机内建立研究对象的系统三维模型,然后对模型进行系统分析和工程验证,最终获得优化设计或改造方案。
Flexsim是新一代离散事件系统仿真的有效工具。软件提供了丰富的物理单元,如处理器、操作员、堆垛机、货架等,大大方便了用户的建模。
Flexsim的研究对象是复杂的多目标系统。Flexsim将众多目标的不同参数组合的运行结果,输出后供分析者比较,选取较优的参数组。
使用Flexsim可解决的3个基本问题
1、服务问题 - 要求以最高满意度和最低可能成本来处理用户及其需求。
2、制造问题 - 要求以最低可能成本在适当的时间制造适当产品。
3、物流问题 - 要求以最低可能成本在适当的时间,适当的地点,获得适当的产品。
Flexsim术语
1、Flexsim实体
Flexsim的实体在仿真中模拟不同类型的资源。例如暂存区实体,它在仿真中扮演存储或缓冲区的角色。暂存区可以代表一队人,一个工厂中的地面堆存区,或客户服务中心的等待传叫的队列。另一个Flexsim实体的例子是处理器实体,它模拟一段延迟或处理时间。它可以代表工厂中的一台机器,一个为客户服务的银行出纳员,或者一个分检包裹的邮政员工等等。
Flexsim实体可在对象库栅格面板中找到,这些实体栅格被分为几组,默认状态下显示最常用的实体。
2、临时实体
临时实体是那些在模型系统中移动通过的实体。临时实体可以代表零件、托盘、组装部件、纸张、集装箱、人、电话呼叫、订单,或任何移动通过你正在仿真的过程的对象。临时实体可以被加工,也可以被物料运输资源携带通过系统。在Flexsim中,临时实体产生于一个发生器实体。一旦临时实体从模型系统中通过,它们就被送至吸收器实体。
3、临时实体类型
临时实体类型是置于实体上的一个标签,可以代表一个条形码、产品类型或工件号。Flexsim可通过参考临时实体类型来进行临时实体行程安排。
4、端口
每个Flexsim的实体都可有多个端口,端口数没有数量。实体通过端口与其它实体进行通信。端口有3种类型:输入、输出和中间端口。
输入和输出端口在设定临时实体在模型中的流动路线时使用。例如,一个邮件分拣器,根据包裹的目的地不同,把包裹放置在几个输送机中的一个上。要在Flexsim中模拟这个过程,需要将一个处理器实体的多个输出端口连接到几个输送机实体的输入端口,这表示一旦处理器完成对临时实体的处理,将把它发送到输送机。
中间端口用来建立一个实体与另一个实体的相关性。中间端口通常的应用是建立固定实体与可移动实体之间的相关关系,这些固定实体如机器、暂存区、输送机,可移动实体如操作员、叉车、起重机等。本课教程中不使用中间端口。
端口的创建和连接操作方法是,按住键盘上不同字母,点击一个实体并拖动至第二个实体。如果在点击和拖动过程中按住字母“A”键,将在第一个实体上生成一个输出端口,同时在在第二个实体上生成一个输入端口,这两个新的端口将自动连接。如果按住“S”键将在这两个实体上各生成一个中间端口并连接这两个新的端口。当按住的是 “Q” 键或“W”键时,输入输出端口之间或中间端口之间的连接被断开,端口被删除。下表给出了用来建立和断开两类端口连接的键盘字母。
| 输出 – 输入 | 中间 | |
| 断开 | Q | W |
| 连接 | A | S |
Flexsim采用3D建模环境。默认的建模视图是正投影视图窗。还可以在一个更真实的透视视图中观察模型。通常在正投影视图中建立模型的布局更容易。
简单模型建立过程
描述
某工厂制造三种类型产品的过程。这三种类型都间隔地从工厂其它部门到达。模型中还有三台机器。每台机器加工一种特定的产品类型。产品在它们各自的机器中完成加工后,所有三种类型的产品必须在一个检验站检验,最后被送到工厂的另一部门,离开仿真模型。
建立模型
双击桌面上的Flexsim图标打开应用程序。
第1步:在模型中生成一个实体
从左边的实体库中拖动一个发生器到模型(建模)视窗中。具体操作是,点击并按住实体库中的实体,然后将它拖动到模型中想要放置的位置,放开鼠标键。这将在模型中建立一个发生器实体,如下图所示。
第2步:在模型中生成更多的实体
从实体库中拖动一个暂存区实体放在发生器实体的右侧。再从库中拖动3个处理器实体放在暂存区实体的右侧,如下图所示。
第3步:完成在模型中生成实体
再拖出一个暂存区、一个处理器和一个吸收器实体放到模型中。
第4步:连接端口
连接端口来安排临时实体的逻辑路径。要连接一个实体的输出端口至另一个实体的输入端口,按住键盘上的“A”键,然后点击第一个实体并按住鼠标左键,拖动鼠标到下一个实体然后放开鼠标键。
首先,连接发生器到第一个暂存区。然后连接此暂存区和每个处理器。再连接每个处理器到第二个暂存区。然后连接第二个暂存区到检验处理器。然后连接检验处理器到吸收器,并连接到模型前端的第一个暂存区。先连接检验处理器到吸收器,然后到第一个暂存区。现在此模型的连接应如下图所示。
下一步是改变各实体的参数,以使它们按模型的描述来工作。这里从发生器开始一直到吸收器逐个修改参数。
详细设计模型
每个实体有它自己的参数视窗。数据和逻辑会由此视窗添加到模型中。双击一个实体进入该实体参数视窗。
第5步:给发生器指定临时实体的到达速率
双击该发生器打开它的参数视窗。
在这个模型中,我们需要改变到达间隔时间和临时实体类型以产生3种类型的产品。在此模型中,产品每5秒到达,按指数分布。发生器默认使用一个指数分布的到达时间间隔,但需要改变其均值。
将打开第二个视窗,编辑该选项的参数。
将参数值10改为5。
第6步:指定临时实体的类型和颜色
在临时实体进入系统时为其指定一个类型值。此类型值在1到3之间均匀分布。在发生器的离开触发器中改变其临时实体类型。
选择发生器触发器分页。选择离开触发器下拉菜单选择。在下拉菜单中选择“Set Itemtype and Color(设定临时实体类型和颜色)”选项。
选择并改变了临时实体的类型和颜色后,选择摸板按钮 ,可看到如下信息(见下图)。
离散均匀分布与均匀分布相似,只是其返回值不是所给参数之间的实数,而是一个整数。
第7步:设置暂存器容量
下一步是详细设置第一个暂存区。首先双击第一个暂存区,就会出现其参数视窗。
将最大容量改为10000,按 按钮。
第8步:指定暂存区的路径分配
选择“临时实体流”分页来设置该暂存区的实体流选项。
在“输出”面板中,在“送往端口”下拉菜单中,选择“By Itemtype (direct)(按临时实体类型(直接))”选项。
由于已经指定了一个临时实体的类型参数等于1、2或3,我们现在可以用临时实体的类型来选定临时实体要通过的端口号。处理器1应被连接至端口1,处理器2应被连接至端口2,处理器3应被连接至端口3。
选择了“By Itemtype (direct)”选项后,按确定按钮关闭该暂存区的参数视窗。
第9步:指定处理器的操作时间
下一步是设置3个处理器的处理时间。
双击第一个处理器,就会出现其参数视窗。
在“处理时间”下拉菜单中,选择“Exponential Distribution(指数分布)”选项,然后按 按钮。默认的形状参数值是10秒。不改变该默认设定。
点击确定按钮来关闭模板视窗,对其它两个处理器重复这一步骤。
第10步:详细设置第二个暂存区
现在双击第二个暂存区打开其参数视窗,在“最大容量”域段输入10000。然后按确定按钮关闭视窗。
第11步:设置检验站处理时间
双击该检验站打开其参数视窗。在“处理时间”分页中“处理时间”菜单下,按 按钮。这将又一次打开解释处理时间的当前选项的模板视窗。改常数时间10为3。
按确定按钮关闭模板视窗。
模型编译与运行
第12步:编译
选择主视窗底部的 按钮。
第13步:重新设置该模型
点击主视窗左下角 按钮。对模型进行重置可以确保所有系统变量被设置回初始值,并将模型中所有临时实体清除。
第14步:运行此模型
选择主视窗底部 按钮。
现在模型应该开始运行了。临时实体应该从第一个暂存区开始移动,进入3个处理器中的一个,然后到第二个暂存区,再进入检验站,并从这里进入吸收器,也有一些被重新发送回第一个暂存区。被发回的实体将变成黑色。
要停止模型运行,可随时按 按钮,要加快或减慢模型运行速度,可左右移动视窗底部的运行速度滑动条。
移动此滑动条能改变仿真时间与真实时间的比率,现在已经完成了建模过程。
(二)实验内容
实验一
在第一个模型中将研究3种产品离开一个生产线进行检验的过程。有3种不同产品类型的临时实体将按照正态分布间隔到达。临时实体的类型1,2,3之间均匀分布。当临时实体到达时,它们将进入暂存区并等待检验。有三个检验台用来检验。检验后的临时实体放到输送机上。在输送机终端再被送到吸收器中,从而推出模型。
数据:
发生器到达速率:正态分布normal(20,2)s;
暂存区最大容量:25个临时实体;
检验时间:指数分布exponential(0,30)s;
输送机速度:1m/s;
实验二
模型二中将采用一组操作员来为模型中临时实体的检验流程进行预置操作。检验工作需要两个操作员之一进行预置。预置完成后就可以进行检验了,无需操作员在场操作。操作员还必须在预置开始前将临时实体搬运到检验地点。检验完成后,临时实体转移到输送机上,无需操作员协助。
数据:
检测器的预置时间:为常数值,10s;
产品搬运:操作员从暂存区到检测器,叉车从输送机到末端的暂存区到吸收器。
输送机暂存区:容量为10。
实验二提高内容
本教程指导建模人员如何添加一些额外的东西在模型运行中显示数据和信息;学习如何添加3D图标和图形,如何显示在基础教程2中完成的模型中的3D文本。学习内容如下:
如何添加一个三维曲线图来显示暂存区的当前数量;
如何添加一个三维柱状图来显示暂存区的等待时间;
如何添加一个三维饼状图来显示每个操作员的状态分布;
如何添加一个三维可视化文本来显示输送机暂存区的平均等待时间;
如何安排曲线图、图表、文本的位置以取得最好的视觉效果。
实验三
在模型三中将用三个货架代替吸收器,用来存储装运前的临时实体,需要改变输送机1和3的物理布局,使他们的末端弯曲以接近暂存区。采用一个全局表作为参考,所有实体类型1的临时实体都送到货架2,所有试题类型2的临时实体都送到货架3,所有实体类型3的临时实体都送到货架1。采用网络节点实体,可以为一个叉车建立一个路径网络,当它从输送机暂存区往货架运输临时实体时用此路径网络。还要用实验控制器设定多次运行仿真来显示统计差异,并计算关键绩效指标的置信区间。
考试内容
一自动化立体仓库存放两种货物,货物到达的时间间隔服从exponential(0,60,1),对于入库的货物需要对产品进行检测,检测器的预置时刻需要配置操作员,预置时间为20s,三种产品的检测时间是介于160~180s之间的均匀分布,检测合格的货物分类入库存放,检测不合格的货物退回供应商,A产品的合格率为95%,B产品的合格率为96%,不合格货物每10个进行打包后退回。仿真系统一天8小时的运行状况。
(三)操作方法与实验步骤
实验一
步骤1:从库里拖出一个发生器放到正投影视图中。
步骤2:把其余的实体拖到正投影视图视窗中。
步骤3:连接端口
下一步是根据临时实体的路径连接端口。
步骤4:指定到达速率
双击发生器键打开其参数视窗 ,设定到达时间间隔为normal(10,2)。
选择模板按钮可以使用模板改变数值来调整分布,甚至可以插入一个表达式。在本模型中改变10为20。按确定键返回到参数视窗。
步骤5:设定临时实体类型和颜色
离散均匀分布与均匀分布相似,但返回的不是给定的参数之间的任意实数值,而是离散整数值。
首先,需要设定暂存区最多可容纳25个临时实体的容量。其次,设定临时实体流选项,将类型 1的实体发送到处理器1,类型2的实体发送到处理器2,依此类推。
步骤6:设定暂存区容量
双击暂存区打开暂存区参数视窗改变最大的容量为25。
步骤7:为暂存区指定临时实体流选项。在参数视窗选择临时实体流分页来为暂存区指定流程
步骤8:为处理器指定操作时间
将形状参数(scale value)改为30,对其它的处理器重复上述过程。
步骤9:编译
按主视窗的 按钮。完成编译过程后就可以运行模型了。
步骤10:重置模型
为了在运行模型前设置系统和模型参数的初始状态,总是要先点击主视窗底部的 键。
步骤11:运行模型
实验二
步骤1:装载模型1并编译
步骤2:向模型中添加一个分配器和两个操作员
步骤3:连接中间和输入/输出端口
步骤4:编辑暂存区临时实体流设置使用操作员
步骤5: 编译、保存模型,和测试运行
步骤6:为检测器的预置时刻配置操作员
为了使检测器在预置时使用操作员,必须连接每个检测器的中间端口和分配器的中间端口。按住键盘“S”键点击分配器拖到检测器释放。
在“预置时间” 下拉菜单中选择“Constant Value(常数值)” 选项,然后按 键来打开代码模板视窗,将时间改为10。
选择“使用操作员进行预置”旁的复选框,预置所需的操作员数量为1,“ 选取操作员”的被选内容应设置为中间端口1。
步骤7:断开输送机到吸收器的端口间连接
按住键盘“Q” 键点击输送机拖动至吸收器。
按住“A”键点击每个输送机拖动至暂存区。然后用同样的操作连接暂存区的输出端口至吸收器。
步骤8:添加运输机
从库中拖出一个叉车输送机放置到模型视窗中。添加叉车后,将暂存区的中间端口连接到此叉车。按住键盘“S”键点击暂存区拖动到叉车。
步骤9:调整暂存区的临时实体流参数来使用叉车
选择“临时实体流”分页并选中“使用运输机 ”复选框。暂存区的中间端口1已经被连接上,因此无须其它调整。点击“确认”按钮关闭视窗。
步骤10:运行模型
实验二补充
步骤1:装载模型2并编译
步骤2:找到菜单选项“文件>另存为”将模型用一个新名称保存。在开始进行修改前,确保已经采用菜单选项“统计 >统计收集>所有实体打开”为所有的实体打开了统计收集选项。
步骤3:添加一个记录器来显示暂存区的当前数量
在记录器实体上双击打开它的参数视窗。
按下数据捕捉设置按钮。在数据类型域段中,选择“标准数据”选项。然后在实体名称域段的下拉菜单中选择那个暂存区。在 “选择捕捉数据”域段中,选择“当前数量”,点击“向前”按钮。
步骤4:设定记录器的显示选项
在记录器视窗上选择显示选项按钮在“图形名称”域段中,键入名称“Queue Content Graph”这是一个用户定义的域段,用来定义图形的标题。可以在这里键入任意想要的名称。完成后按完成按钮。
步骤5:调整图形的视景属性
将“Z”(位置)改为7.80,将“RX”(X转角)改为90。这将会把图表旋转直立起来,而设定的高度将图表的底部处于地板上。
编译模型后,进行重置,并运行,现在应该看到图形显示了暂存区的当前数量随时间变化的情况。如果没有显示,可能需要从“统计>统计收集>所有实体打开”菜单中打开统计历史数据选项。
步骤6:添加一个记录器来显示暂存区的停留时间柱状图
将记录器放在紧挨着当前数量曲线图的右边,旋转图形,改变高度位置。然后编译、重置并运行。
步骤7:为每个操作员添加一个状态饼图
步骤8:给模型添加3D文本
拖出一个可视化工具实体到模型中,并放置到输送机暂存区旁边。
在视景显示中选择“文本”选项,在文本显示下拉菜单中选择“Display Avg StayTime”选项。
然后选择代表模板按钮来改变显示的文本,改为“The average staytime of the Conveyor Queue is:”。
按住键盘上的“S”键并点击可视化工具拖动到输送机暂存区的操作来实现,在属性视窗中,用“RX”域段将文本旋转90度。
步骤9:编译、重置、保存和运行
在模型中放置文本,并编译、重置、保存该模型。然后就准备好可以运行模型并查看刚刚添加的图形、图表和3D文本了。
实验三
步骤1:装载模型2并编译
装载模型后,在工具栏上按编译按钮。
步骤2:重新配置输送机1和3的布局
使用输送机1和3的参数视窗中的布局分页,改变其布局,使输送机在末端有一个弧段,将临时实体输送到离输送机暂存区更近的位置去。至少需要添加一个附加的弧段来实现此目的。
步骤3:删除吸收器
为模型添加货架做准备,先要把模型2中的最后的吸收器删除。选中吸收器,使它成为黄色高亮显示,并按键盘上的“ Delete” 键即可将其删除。
步骤4:给模型添加3个货架
在库中选择货架实体,往模型中拖放3个货架。模型中放入货架后,创建从输送机暂存区到每个货架的端口连接,方法是按住“ A”键然后从这个暂存区到每个货架进行点击拖动操作。
步骤5:设定用来安排临时实体从暂存区到货架的路径的全局表
在工具栏中选择全局表按钮。
打开全局建模工具视窗后,按全局表旁边的按钮,选择按钮来设定此表,在全局表参数视窗中,将表的名称改为“rout”,设定此表有3行1列,然后点击应用按钮。,选择视窗底部的确认按钮。
步骤6:调整输送机暂存区上的“送往端口”选项
在输送机暂存区上双击打开其产生视窗。选择临时实体流分页,在“送往端口”下拉菜单中,选择“By Lookup Table”选项。选择了查表选项后,选择代码模板按钮。编辑模板来使用叫做“rout” 的表。
步骤7:编译、重置、保存和运行
到现在为止,最好编译、重置、保存一下模型,然后运行模型来验证对模型的改动。模型应该显示用叉车往货架中搬运临时实体,送往的货架的选择基于在全局表中定义的实体类型。
步骤8:为叉车添加网络节点来为叉车开发一条路径
1. 在输送机暂存区和每个货架旁边拖放添加网络节点。这些节点将在模型中成为捡取点和放下点。
2. 按住“A”键在每个网络节点之间点击拖动一条连线,可以将这些网络节点彼此连接起来。建立连接后将会显示一条绿色的连线。
3. 现在,给输送机暂存区连接一个节点,并给3个货架的每一个都连接一个节点。此连接也是用按住键盘“A”键然后在网络节点和实体之间点击拖动一条连线的方式来实现。正确建立了连接后将显示一条细蓝线。
4. 最后一步是将叉车连接到节点网络上。按住键盘“A”键然后在叉车到一个网络节点之间进行点击拖动操作可以实现连接。建立连接后将显示一条红色的连线。所选择的连接到叉车的那个节点将成为每次重置和运行模型时叉车的起始位置。
步骤9:编译、重置、保存并运行模型
可以编译、重置、保存,然后允许模型来查看叉车是否在使用路径网络。路径样条线节点带来了极大的灵活性,同时也减少了建立复杂路径所需要的网络节点数。路径网络自动采用Dyjkstra算法来确定网络中任意两个节点之间的最短路径。
考试内容操作流程
步骤1:建立一个模型,定义实体参数。发生器参数,生成两种不同颜色类型的货物,货物到达时间间隔服从exponential(0,60,1)分布,按类型送到检验器。检测器的预置时刻需要配置操作员,预置时间为20s,三种产品的检测时间是介于160~180s之间的均匀分布。暂存区最大存量30个,使用搬运设备,其他为默认参数。
步骤2:定义传输系统,定义各段传送带参数,为默认。对传送带进行空间布置,见仿真模型。
步骤3:定义系统的按货物类型进行分拣的逻辑流程,发生器产生两种类型的货物,放到暂存区,然后按类型搬运到输送机上,经检验器检验,合格的放到第二个暂存区,之后按类型输送到货架上。不合格的放在输送机上,打包后进入吸收器。
步骤4:运行调整模型,直到模型按照实际系统流程正确运行
步骤5:运行模型,得到数据和图表等多种结果,运行一天8个小时的结果,共28800秒。
三、心得体会
系统仿真技术作为现代企业科学管理技术之一,是将对象系统模型化,把模型作为实验装置,用来分析已存在的或计划中系统的一种技术。系统仿真是工程师、经理和决策人对提出的关于操作、流程、或是动态系统的方案进行试验、评估、以及视觉化的工具。计算机仿真的特征是系统本身不必实装就可以进行实验。它在减少损失、节约开支、缩短开发周期、提高生产效率、提高产品质量等方面起着重要作用。
通过对Flexsim软件的学习我们意识到利用Flexsim软件可以在不组装实际系统的情况下,进行实验,可以在短时间、低成本下运行,而且不给现行系统带来任何中止或破坏的危险。物流设备及人员的配置、物流工程系统构成等等是一个空间、时间与随机变量交错的复杂系统,几乎不能用方程式、或简单的表计算来解开这些难题,而仿真技术对解开这些难题非常有效。通过Flexsim的系统仿真,我们可以轻松的解决瓶颈囗在哪儿,资源配置是否合理等问题,可以通过动画功能可视化,方便沟通经营者、管理者和操作者之间的意见,从而加快决策速度。下载本文