物流仿真实验报告

  • 格式:docx
  • 大小:412.68 KB
  • 文档页数:8

大连海事大学实验报告

专业:物流工程

班:一 学号: 2220132186

姓名:杜晓钰

课程名称:物流系统仿真 实验时间: 2016/7/3 指导教师:郑红星

实验名称:服务设施的效能仿真 实验成绩:

一、 实验目的

Flexsim入门及学会用简单设置和代码编写完成简单服务台设施仿真,并估计该设施效能。

二、 实验工具

Flexsim软件

三、 实验过程及内容

3.1 实验背景

一个服务设施包括两个A类服务台和一个B类服务台。假设顾客到达设施的时间间隔是均值为1分钟的独立同分布指数随机变量。到达后,顾客确定为1类顾客或2类顾客,概率分别是0.75和0.25。1类顾客能被任意服务台服务,但如果A类服务台可用就选A类。1类顾客的服务时间为均值为0.8分钟的独立同分布的指数随机变量,不管是哪类服务台。发现所有服务员都在忙的1类顾客进入类型1顾客的单一先进先出的队列。2类顾客需要A类服务台和B类服务台同时服务。2类顾客的服务时间服从0.5到0.7之间的均匀分布。2类顾客到达发现A类服务台忙或B类服务台忙时,则进入类型2顾客的单一先进先出队列。任何顾客完成服务后,如果是2类顾客且A类服务台与B类服务台均闲,则给予优化。否则,1类顾客优先。仿真该设施正好1000分钟,并估计该服务设施的效能。

3.2 建模仿真

设计完成后的整体布局图

参数设置:

1、 发生器 顾客到达设施的时间间隔是均值为1分钟的独立同分布指数随机变量。顾客确定为1类顾客或2类顾客,概率分别是0.75和0.25。

2、 1类顾客队列(Queue4) 1类顾客能被任意服务台服务,但如果A类服务台可用就选A类。发现所有服务员都在忙的1类顾客进入类型1顾客的单一先进先出的队列。

3、 2类顾客队列(Queue5)

2类顾客需要A类服务台和B类服务台同时服务。2类顾客到达发现A类服务台忙或B类服务台忙时,则进入类型2顾客的单一先进先出队列。任何顾客完成服务后,如果是2类顾客且A类服务台与B类服务台均闲,则给予优化。否则,1类顾客优先。

4、 A服务台 1类顾客的服务时间为均值为0.8分钟的独立同分布的指数随机变量。

5、 B服务台

1类顾客的服务时间为均值为0.8分钟的独立同分布的指数随机变量;2类顾客的服务时间服从0.5到0.7之间的均匀分布。

3.3 建模仿真数据和分析 仿真报告:

1类顾客和2类顾客的平均等待时间:

A服务台的利用率:

B服务台的利用率:

从老师平时课堂的讲解可知,分析一个服务设施的效能需要从两方面着手:服务质量和承载力。由上各表所知,顾客到达后的等待时间较短,服务质量优良;两个服务台的空闲及工作时间比例较均匀,承载力优良。故,该服务设施的效能为优。

四、 实验总结

通过此次实验,学习了如何用Flexsim软件来建立模型,通过系统仿真的构成,组织和操作来了解Flexsim中各术语的运用和作用。加深了对Flexsim功能的设置和操作方法,并对模型的建立有了一个整体的了解。

该模型存在着一个问题,即可以保证2类顾客到达时,若两台服务台空闲即可进行服务,但当2类顾客服务时,2台服务台的容量返回值不全为0,这时1类顾客可能会从A服务台进入,就不能保证2类顾客是被2台服务台同时服务。这个问题我还没有想到如何改进。

感谢老师平时课堂的深刻讲解,让我对Flexsim软件有了更深入的认识。 附录

模型涉及到的代码如下:

 1类服务队列-OnMessage

treenodecurrent = ownerobject(c);

treenode port1 = node("Processor6",model());

treenode port2 = node("Processor7",model());

intAsu = content(port1);

intBsu = content(port2);

if(Asu = 0&&Bsu = 0){

closeoutput(current);

}

else{

openoutput(current);

}

 2类服务队列-OnMessage

treenodecurrent = ownerobject(c);

treenode port1 = node("Processor6",model());

treenode port2 = node("Processor7",model());

intAsu = content(port1);

intBsu = content(port2);

if(Asu = 0&&Bsu = 0){

openoutput(current);

}

else{

closeoutput(current);

}

 B服务台-Process Time

treenodecurrent = ownerobject(c);

treenodeitem = parnode(1);

intcase_val = getitemtype(item);

switch (case_val) {

case1: returnexponential(0.0, 48.0, 0);

case2: returnuniform(30.0,42.0,0);

}

return0;