实验1 Flexsim 仿真软件认识
一、 实验目的
熟悉Flexsim的安装与启动;熟悉Flexsim用户界面;熟悉Flexsim建模元素;熟悉Flexsim建模与仿真过程.
二、 实验设备与仪器
1. 微机; 2. Flexsim仿真软件
三、 实验步骤
1. 了解flexsim的硬件和软件必备环境;
2. 启动flexsim;
3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏,以及系统布局区;
4. 学习建模与仿真过程.
四、 实验报告要求
1. 了解flexsim系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;
Flexsim软件界面
2.仿真过程应用举例.(详见实验二)
实验2 配货系统仿真与分析
一、 实验模型简介
一个小型的发货商有10种产品运送给五个客户,每个客户有着不同的订单,这个发货商的10种产品都有很大的供货量,所以,当有订单来时,即可发货。产品是放在托盘上输送出去的。。
1. 系统数据
订单到达:平均每小时产生10个订单,到达间隔时间服从指数分布。
产品到达:产品拣选时间服从指数分布,根据订单确定每种产品的需求数量。
产品包装:固定时间10秒。
2. 概念模型
二、 实验目的
1、 掌握flexsim仿真软件的基本功能;
2、 熟悉配货系统的作业及物流特点;
3、 研究配货系统的配货流程及影响配货时间的因素。
三、实验设备
1、计算机 2、flexsim仿真软件
四、实验步骤
l 第一步:建立模型
双击桌面上的Flexsim图标打开软件,你可以看到Flexsim菜单、工具条、实体库,和正投影模型视窗,如图1-1所示。
1、 模型实体设计
表1-1实体与系统元素的对应关系
2、 生成实体
从实体库中拖出(按住鼠标左键不放,拖至正投影模型视窗即可)11个Source(每个Source代表一类货物)实体,Combiner实体、Conveyor实体、Sink实体各1个,把各实体按照概念模型中的位置摆好,如图1-2所示。
图1-2 生成所需实体对象
3、 连接端口
连接端口时,根据流程图,我们只需将Source与Combiner,Combiner与Conveyor,Conveyor与Sink之间使用A连接(按下A键不放,鼠标左键点击输入实体不放,拖至输出实体松开鼠标左键和A键即可。若要取消A连接,则按下Q键不放,鼠标左键点击输入实体不放,拖至输出实体松开鼠标左键和Q键即可)进行连接即可,连接时注意输入输出顺序。如图1-3所示:
图1-3 实体的“A”端口连接
4、 设置连接线
端口连接完成后,我们为了使视图更加好看,同时也为了利于以后的建模,因此我们考虑将这些连接线设为不可见。
单击Show Connections选项前的方框,除去其前的√,可以看到模型视窗中的连接线都不见了。
为了使界面更加清晰简洁,我们再去掉Show Names选项前面的√,使得模型中各实体的名字属性等标签不显示出来。如图1-4所示:
图1-4 隐藏实体的名称属性等标签
5、 定义Source
在模型中,共有11个Source实体,第一个Source定义为产生托盘,其余10个Source产生待包装的十种货物。
托盘的到达时间固定的,每3600个单位时间产生10个托盘。我们双击对应于托盘阿谁Source1实体,打开其参数视窗。改变其Arrival Style的默认选项“Inter-Arrival Time”,选择“Arrival Schedule”,并将“FlowItem Class”选项的下拉列表中选择“Pallet”,将“Number of Arrivals”数值改为5,点击“Refresh Arrival”按钮刷新列表,修改列表中的数值,如图1-5所示:
6、 定义全局表
下面我们定义一个全局表。首先,点击工具栏中的“ToolBox”按钮,打开“Global Modeling Tools”视图,在“Global Tables”一项中点击“Add”按钮,系统为我们添加了一个名为“GlobalTable1”的全局表,如图1-6所示:
图1-6 加入一个名为GlobalTable1的全局表
“GlobalTable1”就是我们要编辑的全局表。我们单击“Edit”按钮,打开“Global Table Parameters Window”视图,如图1-7所示:
图1-7编辑全局表
编辑的过程中,我们可以随时点击Apply按钮来保存我们的编辑结果,防止发生意外而进行重复劳动。编辑完成后,点击OK按钮保存并关闭视图
7、 定义Combiner
下面我们来设置Combiner实体。
我们双击Combiner实体,打开它的参数视图,然后我们点击名为“ProsserorTriggers” 标签, 我们在“进入触发”选项的下拉列表框中选择“更新组成列表:根据名为’tablename’的全局表设定合成器的组成列表……”一项。
l 第二步 模型运行
1、 设置Experimenter
我们模型的运行共分4个阶段,每个阶段3600个单位时间,连续进行,共记14400单位时间。模型的运行总时间长度在Experimenter中设置。单击界面右下方的 按钮,打开Experimenter窗口,将Simulation End Time改为14400。这里,我们只运行一次仿真,因此将仿真次数改为1。
2、 编译、重置、运行模型
单击 按钮,对模型进行编译。编译完成后,单击 按钮,重置模型。最后单击 按钮,开始仿真。
我们看到在不同的阶段,托盘包装的货物个数是不同的,Combiner根据全局表来设定托盘包装的货物的个数,从不同的Source中获取不同数量的货物。如图1-9所示:
图1-9 模型的运行
当仿真运行到14400单位时间的时候,自动停止。
l 第三步 数据运行
数据收集分析。在操作区中Combiner实体上点击鼠标左键使其被选中,被选中的实体显示出红色边框。
点击软件菜单栏中的Stats,在弹出的下拉菜单中选中Stats Collecting,在右侧弹出的选项中点击选择Selected Objects On。如图1-10所示:这个操作打开了所选中实体的数据收集开关。
右键点击Combiner,选择Properties打开属性页。点击选择Statistics项目。
查看该包装机相关数据,与订单信息进行比较。
实验3 配送中心仿真实验
一、 实验简介
配送中心时从事货物配送并组织对用户的送货,以实现销售和供应服务的现代流通设施。它不同于传统的仓储设施, 在现代商业社会中,配送中心已经成为连锁企业的商流中心、物流中心、信息流中心,是连锁经营得以正常运转的关键设施。
本实验是一个典型的配送中心建模过程,该配送中心从三个供应商进货,向三个生产商发货。
1. 系统数据
供货商(三个):当三个供应商各自供应的产品在配送中心的库存小于10件时开始生产,库存大于20件时停止生产。供应商一和供应商二分别以4小时一件的效率向配送中心送产品,供应商提供一件产品的时间服从3-6小时均匀分布。
配送中心发货:当三个生产商各自的库存大于10件时停止发货。当生产商一的库存量小于2时,向该生产商发货;当生产商二的库存量小于3时,向该生产商发货;当生产商三的库存量小于4时,向该生产商发货。
配送中心成本和收入:进货成本3元/件;供货价格5元/件;每件产品在配送中心存货100小时费用1元。
生产商(三个):三个生产商均连续生产。生产商一每生产一件产品需要6小时;生产商二每生产一件产品的时间服从3-9小时的均匀分布;生产商二每生产一件产品的时间服从2-8小时的均匀分布。
2. 概念模型
二、 实验目的
4、 掌握flexsim仿真软件的基本功能;
5、 熟悉配送中心的作业及物流特点;
6、 研究该配送中心的即时库存成本和利润,并试图加以改善。
三、 主要仪器设备
1、计算机 2、flexsim仿真软件
四、 实验步骤
l 第一步:建立模型
3、 模型实体设计
4、 在模型中加入实体
从模型中拖入3个Source、6个Processor、3个Rack、3个Queue和1个Sink到操作区中,如图1-1所示:
图1-1 模型实体布局图
5、 连接端口
根据配送的流程,对模型做如下的连接:每个Source分别连到各自的Processor,再连到各自的Rack,每个Rack都要与后面的每一个Queue进行连接(配送中心送出产品对三家生产商是均等的),每一个Queue再连接到各自的Processor,最后三个Processor都连到Sink。如图1-2所示:
图1-2 连接后的模型实体布局图
6、 Source参数设置
双击一个Source打开参数设置页。在Source项目下的Inter-Arrivaltime下拉菜单中选择Constant Value。点击Inter-Arrivaltime下拉菜单后的按钮 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)“Return constant time of 1 .”
然后对其它两个Source做同样的设置。
为了区分来自不同供应商的货源,在三个Source的“发生触发器”选项卡中,选择“离开触发”下的“设定颜色(rgb):采用红、绿、蓝……”选项,并点击参数编辑按钮 ,设置三个参数分别为:
r=255,g=0,b=0
r=0,g=255,b=0
r=0,g=0,b=255
7、 Processor(供货商)参数设置
双击最上面的Processor打开参数设置页,在ProcesTimes项目下Process Time的下拉菜单中选择默认设置。点击Process Time下拉菜单后的参数编辑按钮 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)“Return constant time of 4 .”
在这个模型中,我们将1个单位时间定义为1小时,那么这条指令的意思就是该供应商在收到订单后的成产效率为每4小时1个产品。
根据预先设计的系统数据,供货商一和供货商二的生产效率是一样的,都为每4小时1个产品,所以对中间的Processor也进行同样的操作即可完成设置。
对于最下面的Processor,在Process Time的下拉菜单中选择Uniform Distribution(均匀分布)。
点击Process Time下拉菜单后的参数编辑按钮 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)“A Uniform distribution with a minimum value of 2 and a maximum value of 6 using random number stream 1 .”
8、 Rack参数设置
双击一个Rack打开参数设置页。在RackTriggers项目下的OnEntry下拉菜单中选择Close and Open Ports。
点击OnEntry下拉菜单后的参数编辑按钮 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)
“If content(current)==20 then closeinput ports of the inobject(current,1) object.” 如图1-10所示:
图1-3Close and Open Ports的参数编辑窗口
点击OnEntry下拉菜单后的参数编辑按钮 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)
“If content(current)==10 then openinput ports of the inobject(current,1) object.” 如图1-11所示:
图1-4 Close and Open Ports的参数编辑窗口
我们对另外两个货架进行同样的设置。
9、 Queue参数设置
三个Queue在模型中代表三个生产商的仓库,它们根据自己的需求向配货中心订货。为了描述的需要,我们按照模型中由上至下的顺序依次将三个Queue和Processor看作生产商一、生产商二、生产商三。
双击最上面的Queue打开参数设置页。在Queue项目下,将Maximum Content改为15。在Flow项目下的Pull选项前面点击打勾。
点击Pull From Port下拉菜单后面的代码编辑按钮 ,对代码进行如下的编辑(粗体为更改部分):“return duniform(1,3);”
在QueueTriggers项目向的OnEntry下拉菜单中选择Close and Open Ports。
点击OnEntry下拉菜单后的参数编辑按钮 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)
“If content(current)>=10 then closeinput ports of the current object.” 如图1-16所示:
图1-5 Close and Open Ports的参数编辑窗口
点击OnExit下拉菜单后的参数编辑按钮 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)
“If content(current)<=2 then openinput ports of the current object.” 如图1-18所示:
图1-6 Close and Open Ports的参数编辑窗口
对于剩下的两个Queue,我们所做的相同设置是:改变Maximum Content为15,点选它们Flow项目下的Pull选项并进行相关的代码编辑,对QueueTriggers项目下的OnEntry触发进行同样的设置。
不同的设置是对QueueTriggers项目下的OnExit触发进行的修改和编辑。
对于中间的Queue,我们在OnExit下拉菜单中仍然选择Close and Open Ports。然后点击OnExit下拉菜单后的参数编辑按钮 将指令改为:(粗体为改动部分)
“If content(current)<=3 then openinput ports of the current object.” 如图1-19所示:
图1-7 Close and Open Ports的参数编辑窗口
对于最下边的Queue,我们在OnExit下拉菜单中仍然选择Close and Open Ports。然后点击OnExit下拉菜单后的参数编辑按钮 将指令改为:(粗体为改动部分)
“If content(current)<=4 then openinput ports of the current object.” 如图1-8所示:
图1-8 Close and Open Ports的参数编辑窗口
可以发现,唯一改变的只是对需求产品的最低库存条件,其它并没有变化。
10、 Processor(生产商)参数设置
双击最上面的Processor打开参数设置页,在ProcesTimes项目下Process Time的下拉菜单中选择默认设置。
点击Process Time下拉菜单后的参数编辑按钮 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)“Return constant time of 6 .”
对于中间的Processor,即生产商二,我们在Process Time的下拉菜单中选择Uniform Distribution(均匀分布)。
点击Process Time下拉菜单后的参数编辑按钮 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)
“A Uniform distribution with a minimum value of 3 and a maximum value of 9 using random number stream 1 .”
对于最下面的的Processor,即生产商三,我们在Process Time的下拉菜单中选择Uniform Distribution(均匀分布)。
点击后面的 ,在弹出的编辑框中进行如下编辑:(粗体为改动部分)
“A Uniform distribution with a minimum value of 2 and a maximum value of 8 using random number stream 1 .”
l 第二步 模型运行
1、 编译
单击主视窗底部的 按钮。编译过程完成后,就可以进行模型的重置和运行了。
2、 重置模型
单击主视窗左下角 按钮。
3、 运行模型
单击主视窗底部 按钮。
模型运行时的截图如图1-9所示:
图1-9 模型运行截图
要停止运行,可随时按 按钮。
l 第三步 数据分析
点击软件窗口右下角的 按钮(实验控制器)。在打开的窗口中做如下的设置:
将Simulation End Time值设为8760.00(在该实验中,1个单位时间代表1个小时,我们要对模型运行一年的数据进行收集,即让模型运行24(小时)×365(天)=8760小时);
将Number of Scenarios值设为1;将Replications per Scenario值设为1;
数据收集分析。在操作区中,按住键盘的Ctrl键,同时点击鼠标左键分别点击三个Rack,则三个Rack被选中,被选中的实体显示出红色边框。
点击软件菜单栏中的Stats,在弹出的下拉菜单中选中Stats Collecting,在右侧弹出的选项中点击选择Selected Objects On。
右键点击一个Rack选择Properties打开属性页。点击选择Statistics项目。
图1-10 Rack属性页中的Statistics
在所显示的数据中,对我们的分析有帮助的数据是(每次运行模型所收集的数据会不相同,这里仅对这一次模型运行的数据结果进行分析):
Content下的Average(该Rack每小时的平均库存),即32.78;
Throughput下的Input(该Rack在运行时间内的总输入)即1640;
Throughput下的Output(该Rack在运行时间内的总输出)即1637;
142自动分拣系统仿真袁峰07262104271实验目的通过建立一个传送带系统学习Flexsim提供的运动系统的定义学习Flexs…
实验题目了解Flexsim软件的运用目的主要针对于理解学习利用Flexsim软件基本概念基本方法用途及其使用步骤理解如何通过Fle…
物流管理综合实验期末实验报告学院工商管理学院班级物流管理091班学号20xx101327姓名李龙成绩20xx年6月目录一实验软件简…
实验1Flexsim仿真软件认识一实验目的熟悉Flexsim的安装与启动熟悉Flexsim用户界面熟悉Flexsim建模元素熟悉F…
物流仿真软件实训与应用报告题目自动分拣系统仿真实训报告系别经济管理学院专业工商管理物流方向班级T8533学生姓名杨迪学号20xx0…
142自动分拣系统仿真袁峰07262104271实验目的通过建立一个传送带系统学习Flexsim提供的运动系统的定义学习Flexs…
物流系统建模与仿真结课作业论文名称基于Flexsim的配送中心仿真分析报告目录一案例背景3二模型的设计31问题的解决思路32模型的…
物流管理综合实验期末实验报告学院工商管理学院班级物流管理091班学号20xx101327姓名李龙成绩20xx年6月目录一实验软件简…
实验题目了解Flexsim软件的运用目的主要针对于理解学习利用Flexsim软件基本概念基本方法用途及其使用步骤理解如何通过Fle…
物流仿真软件实训与应用报告题目自动分拣系统仿真实训报告系别经济管理学院专业工商管理物流方向班级T8533学生姓名杨迪学号20xx0…