实验2单服务台单队列排队系统仿真
matlab单服务台排队系统实验报告

matlab单服务台排队系统实验报告matlab 单服务台排队系统实验报告⼀、实验⽬的本次实验要求实现M/M/1单窗⼝⽆限排队系统的系统仿真,利⽤事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进⾏对⽐。
⼆、实验原理根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。
1、顾客到达模式设到达过程是⼀个参数为λ的Poisson 过程,则长度为t 的时间内到达k 个呼叫的概率服从Poisson 分布,即etkk k t t p λλ-=!)()(,=,2,1,0k ,其中λ>0为⼀常数,表⽰了平均到达率或Poisson 呼叫流的强度。
2、服务模式设每个呼叫的持续时间为i τ,服从参数为µ的负指数分布,即其分布函数为{}1,0t P X t e t µ-<=-≥3、服务规则先进先服务的规则(FIFO ) 4、理论分析结果在该M/M/1系统中,设λρµ=,则稳态时的平均等待队长为1Q ρλρ=-,顾客的平均等待时间为T ρµλ=-。
三、实验内容M/M/1排队系统:实现了当顾客到达分布服从负指数分布,系统服务时间也服从负指数分布,单服务台系统,单队排队,按FIFO ⽅式服务。
四、采⽤的语⾔MatLab 语⾔源代码:clear; clc;%M/M/1排队系统仿真SimTotal=input('请输⼊仿真顾客总数SimTotal='); %仿真顾客总数;Lambda=0.4; %到达率Lambda;Mu=0.9; %服务率Mu;t_Arrive=zeros(1,SimTotal);t_Leave=zeros(1,SimTotal);ArriveNum=zeros(1,SimTotal);LeaveNum=zeros(1,SimTotal);Interval_Arrive=-log(rand(1,SimTotal))/Lambda;%到达时间间隔Interval_Serve=-log(rand(1,SimTotal))/Mu;%服务时间t_Arrive(1)=Interval_Arrive(1);%顾客到达时间ArriveNum(1)=1;for i=2:SimTotalt_Arrive(i)=t_Arrive(i-1)+Interval_Arrive(i);ArriveNum(i)=i;endt_Leave(1)=t_Arrive(1)+Interval_Serve(1);%顾客离开时间LeaveNum(1)=1;for i=2:SimTotalif t_Leave(i-1)t_Leave(i)=t_Arrive(i)+Interval_Serve(i);elset_Leave(i)=t_Leave(i-1)+Interval_Serve(i);endLeaveNum(i)=i;endt_Wait=t_Leave-t_Arrive; %各顾客在系统中的等待时间t_Wait_avg=mean(t_Wait);t_Queue=t_Wait-Interval_Serve;%各顾客在系统中的排队时间t_Queue_avg=mean(t_Queue);Timepoint=[t_Arrive,t_Leave];%系统中顾客数随时间的变化Timepoint=sort(Timepoint);ArriveFlag=zeros(size(Timepoint));%到达时间标志CusNum=zeros(size(Timepoint));temp=2;CusNum(1)=1;for i=2:length(Timepoint)if (temp<=length(t_Arrive))&&(Timepoint(i)==t_Arrive(temp)) CusNum(i)=CusNum(i-1)+1;temp=temp+1;ArriveFlag(i)=1;CusNum(i)=CusNum(i-1)-1;endend%系统中平均顾客数计算Time_interval=zeros(size(Timepoint));Time_interval(1)=t_Arrive(1);for i=2:length(Timepoint)Time_interval(i)=Timepoint(i)-Timepoint(i-1);endCusNum_fromStart=[0 CusNum];CusNum_avg=sum(CusNum_fromStart.*[Time_interval 0] )/Timepoint(end);QueLength=zeros(size(CusNum));for i=1:length(CusNum)if CusNum(i)>=2QueLength(i)=CusNum(i)-1;elseQueLength(i)=0;endendQueLength_avg=sum([0 QueLength].*[Time_interval 0] )/Timepoint(end);%系统平均等待队长%仿真图figure(1);set(1,'position',[0,0,1000,700]);subplot(2,2,1);title('各顾客到达时间和离去时间');stairs([0 ArriveNum],[0 t_Arrive],'b');hold on;stairs([0 LeaveNum],[0 t_Leave],'y');legend('到达时间','离去时间');hold off;subplot(2,2,2);stairs(Timepoint,CusNum,'b')title('系统等待队长分布');xlabel('时间');ylabel('队长');subplot(2,2,3);title('各顾客在系统中的排队时间和等待时间');stairs([0 ArriveNum],[0 t_Queue],'b');stairs([0 LeaveNum],[0 t_Wait],'y');hold off;legend('排队时间','等待时间');%仿真值与理论值⽐较disp(['理论平均等待时间t_Wait_avg=',num2str(1/(Mu-Lambda))]);disp(['理论平均排队时间t_Wait_avg=',num2str(Lambda/(Mu*(Mu-Lambda)))]);disp(['理论系统中平均顾客数=',num2str(Lambda/(Mu-Lambda))]);disp(['理论系统中平均等待队长=',num2str(Lambda*Lambda/(Mu*(Mu-Lambda)))]);disp(['仿真平均等待时间t_Wait_avg=',num2str(t_Wait_avg)])disp(['仿真平均排队时间t_Queue_avg=',num2str(t_Queue_avg)])disp(['仿真系统中平均顾客数=',num2str(CusNum_avg)]);disp(['仿真系统中平均等待队长=',num2str(QueLength_avg)]);五、数据结构1.仿真设计算法(主要函数)利⽤负指数分布与泊松过程的关系,产⽣符合泊松过程的顾客流,产⽣符合负指数分布的随机变量作为每个顾客的服务时间:Interval_Arrive=-log(rand(1,SimTotal))/Lambda;%到达时间间隔,结果与调⽤exprnd(1/Lambda,m)函数产⽣的结果相同Interval_Serve=-log(rand(1,SimTotal))/Mu;%服务时间间隔t_Arrive(1)=Interval_Arrive(1);%顾客到达时间时间计算t_Wait=t_Leave-t_Arrive;%各顾客在系统中的等待时间t_Queue=t_Wait-Interval_Serve; %各顾客在系统中的排队时间由事件来触发仿真时钟的不断推进。
队列的应用——单服务台排队系统的模拟

队列的应用:单服务台排队系统的模拟一、三个模拟1.离散事件模拟系统在排队系统中,主要有两类事件:顾客的到达事件和服务完毕后顾客的离去事件,整个系统就是不断有到达事件和离开事件的发生,这些事件并不是连续发生的,因此这样的系统被称为离散事件模拟系统。
(1)事件处理过程如果服务员没空,就去队列中排队;否则就为这个顾客生成服务所需的时间t,表示服务员开始为它服务,所需的服务时间是t。
每当一个离开事件发生,就检查有没有顾客在排队,如果有顾客在排队,则让队头顾客离队,为它提供服务,如果没有顾客排队,则服务员可以休息。
(2)如何产生顾客到达事件和离开事件在一个排队系统中,顾客的到达时间和为每个顾客服务的时间并不一定是固定的。
但从统计上来看是服从一定的概率分布。
假设到达的间隔时间和服务时间都满足均匀分布,则可以用随机数产生器产生的随机数。
①以生成顾客到达事件为例子如顾客到达的间隔时间服从[a,b]之间的均匀分布,则可以生成一个[a,b]之间的随机数x,表示前一个顾客到达后,经过了x的时间后又有一个顾客到达。
[a,b]之间的随机数可以按照下面的过程产生:假如系统的随机数生成器生成的随机数是均匀分布在0到RAND_MAX之间,可以把0到RAND_MAX之间的区间等分成b-a+1个,当生成的随机数落在第一个区间,则表示生成的是a,当落在第二个区间,则表示生成的是a+1…当落在最后一个区间,则表示生成的是b。
这个转换可以用rand()*(b-a+1)/( RAND_MAX+1)+a实现,rand 表示系统的随机数生成函数。
2.离散的时间驱动模拟在得到了在x秒后有一个事件生成的信息时,并不真正需要让系统等待x秒再处理该事件。
在模拟系统中,一般不需要使用真实的精确事件,只要用一个时间单位即可,这个时间单位是嘀嗒tick,可以表示1秒,也可以表示1min\1h.沿着时间轴,模拟每一个嘀嗒中发生了什么事件并处理该事件。
模拟开始时时钟是0嘀嗒,随后每一步都把时钟加1嘀嗒,并检查这个时间内是否有事件发生,如果有,则处理并生成统计信息。
实验2单服务台单队列排队系统仿真

实验2排队系统仿真一、学习目的1.了解仿真的特点2.学习如何建构模型3.熟悉eM-Plant基本的对象和操作4.掌握排队系统的特点与仿真的实现方法二、问题描述该银行服务窗口为每个到达的顾客服务的时间是随机的,表2.4是顾客服务时间纪录的统计结果表2.4 每个顾客服务时间的概率分布对于上述这样一个单服务待排队系统,仿真分析30天,分析该系统中顾客的到达、等待和被服务情况,以及银行工作人员的服务和空闲情况。
三、系统建模3.1 仿真目标通过对银行排队系统的仿真,研究银行系统的服务水平和改善银行服务水平的方法,为银行提高顾客满意度,优化顾客服务流程服务。
3.2.系统建模3.2.1 系统调研1. 系统结构: 银行服务大厅的布局, 涉及的服务设备2. 系统的工艺参数: 到达-取号-等待-服务-离开3. 系统的动态参数: 顾客的到达时间间隔, 工作人员的服务时间4. 逻辑参数: 排队规则, 先到先服务5. 系统的状态参数: 排队队列是否为空, 如果不为空队长是多少, 服务台是否为空6. 系统的输入输出变量:输入变量确定其分布和特征值,顾客的到达时间间隔的概率分布表和每个顾客被服务时间的概率分布. 输出变量根据仿真目标设定. 包括队列的平均队长、最大队长、仿真结束时队长、总服务人员、每个顾客的平均服务时间、顾客平均排队等待服务时间、业务员利用率等。
3.2.2系统假设1.取号机前无排队,取号时间为02.顾客排队符合先进先出的排队规则3.一个服务台一次只能对一个顾客服务4.所有顾客只有一种单一服务5.仿真时间为1个工作日(8小时)6.等候区的长度为无限长3.2.3系统建模系统模型:3.2.4 仿真模型1.实体:银行系统中的实体是人(主动体)2.属性:到达时间间隔、接受服务的时间、接受服务类型3.事件:顾客到达、开始取号、取号结束、进入队列、出队列、接受服务、服务完成、离开银行。
4.活动:到达、取号、排队、服务、离开5.资源:取号机、排队的座椅、服务柜台4 系统仿真4.1 eM-plant 界面与主要控件介绍1. 实体:eM-Plant 中包括3类实体:entity ,container ,transporter 。
排队系统仿真

排队系统仿真学院:___浙江科技学院____专业班级:_______工业工程____姓名:____廖汉杰__________学号:____________________指导老师:___________________年月日目录一、实验名称 (3)二、实验目的 (3)三、实验内容 (3)四、仪器设备 (3)五、实验步骤 (4)1.添加控件 (4)2.设置发生器的参数 (4)3、设置处理器的参数 (4)4、模拟仿真模型 (5)5、统计数据 (5)六、方案改进 (6)一、实验名称排队系统仿真实验二、实验目的学习Flexsim仿真软件的基本用法并建立一个简单的排队模型;学习如何使用拉式逻辑,根据临时实体类型来定义临时实体的流程路径;学习统计数据的收集、分析与比较。
三、实验内容有两种类型的顾客,分别为类型1和类型2。
顾客到达的时间间隔服从指数分布exponential(0,10,1)。
两种类型的顾客随机的均匀到达。
有2个服务台为类型1的顾客提供服务,有3个服务台为类型2的顾客提供服务,顾客将首先到空闲可用的服务台接受服务。
类型1的顾客接受服务的时间服从(40,8)的正态分布,类型2的顾客接受服务的时间服从(60,12)的正态分布。
顾客接受完服务后离开系统。
以上时间单位皆为分钟。
对上述系统进行建模,仿真系统一天12小时的运行状况,收集各服务台的利用率、顾客的平均等待时间等数据,提出服务设施的改进建议,使得顾客的平均等待时间不超过30分钟。
四、仪器设备计算机、Flexsim仿真软件五、实验步骤1.添加控件首先flexsim仿真软件,软件,1个发生器,1个暂存区,5个处理器,1个吸收器,并连接各个实体控件。
如图1-1所示图1-12. 设置发生器的参数<1>到达时间间隔设置<2>发生触发器离开出发设置3、设置处理器的参数<1>定义发生器Processor1、Processor2为类型1的顾客提供服务,并设置其参数处理时间设置临时实体流设置<2>定义发生器Processor3、Processor4、Processor5为类型2的顾客提供服务,并设置其参数临时实体流设置4、模拟仿真模型先打开实验控制器按钮,设置系统仿真时间720分钟,再编译,然后运行,如图所示图5-15、统计数据P1P3P2P4P5六、方案改进1、分别增加一个类型1,类型2的处理器,连接控件,如图5-1所示图5-12、设置Processor6的设置如类型1的参数,设置Processor7的设置如类型2的参数3、运行模型,统计其数据P6P1P2P3P4P5P7。
图书馆流通借阅系统的建模与仿真

仿真模型初始化状态 : 在时间 0时刻 , 系统中没 有读者, 服务台处于空闲状态. 第 一个读者在 时 刻到达. 仿真结束条件是第 n 个读者结束他 的排队
开的, 我们首先需要计算有 i 个读者排 队的时间 ,
} 收 稿 日期 : 2 0 1 2—1 l一 2 6
作者简介 : 杨红军( 1 9 5 9一) , 吉林 长春人 , 长春工业大学图书馆馆 员
第3 4卷 第 1 期
2 0 1 3年 2月
通 化 师 范 学 院 学 报( 自然科 学 )
J OUR NAL OF T ON GHU A NO RMAL UN I V ER S I T Y
Vo 1 . 3 4№ l
F e b .2 01 3
口o
图书馆 流 通 借 阅 系统 的建 模 与仿 真
= 3. 2
T l=( 2 . 1—1 . 6 )+( 3 . 1—2 . 4 )+( 4 . 9— 4 . 0 )
离去的读者
平均 值 , 所 以d ( 1 1 , ) 也可 以写成 a ( n ): ( n ) . D( n )
的估计值能够从读者的角度描述系统 的性能. 图2
是Q ( t ) 随时 间变化 的 曲线 , 此处 n=6 , 读 者到达 时
臌 务中 的读 者
间是: 0 . 4 , 1 . 6 , 2 . 1 , 3 . 8 , 4 . 0, 5 . 6, 5 . 8和 7 . 2 , 离 开
等待 , 开 始接受 服务 . 仿 真系统 结束 的时 间是一 个随 机 变量 , 取决 于到达 间隔 时 间 的观 察 值 和 服务 时 间
的随机变量 .
系统 的事 件包括读 者 到达 、 读者 离开 ; 用于评 价 系统 性能 的指标 是读 者平 均等待 时 间 d ( n ) 、 排 队长 度q ( n )和服务 台 的利 用率 u ( n ) ; 描 述 服务 状 态 的
排队系统

排队系统的主要数量指标
队长——是指系统中的平均顾客数(排队等待的顾客数与
正在接受服务的顾客数之和)。
L或Ls—— 平均队长,即稳态系统任一时刻的所有顾客数 平均队长,
的期望值;
队列长——是指系统中正在排队等待服务的平均顾客数。 Lq—— 平均等待队长或队列长 , 即稳态系统任一时刻的 平均等待队长或队列长,
排队模型
典型的排队例子
到达的顾客 在公路收费站排队的车辆 病人 到达机场上空的飞机 不能运转的机器 到达港口的货船 客户 进入我方阵地的敌机 汽车驾驶员 需加油车辆 服务内容 收费 看病 降落 修理 装货(卸货) 装货(卸货) 法律咨询 我方防空火力射 执照年码头或泊位 法律咨询人员 我方高炮或防空导弹 管理部门年审办事员 加油站的加油机
排队系统基本概念
“顾客”——要求服务的对象统称; 顾客” 服务台” 服务员” “服务台”或“服务员”——提供服务的人或机 构;
不同的顾客与服务组成了各式各样的服务系统。 不同的顾客与服务组成了各式各样的服务系统 。 顾客为了得到某种服务而到达系统, 顾客为了得到某种服务而到达系统 , 若不能立即获得 服务而又允许排队等待,则加入等待队伍, 服务而又允许排队等待 , 则加入等待队伍 , 待获得服 务后离开系统,见图1至图5 务后离开系统,见图1至图5。
按以上数据可推算出每一顾客到达、服务开始、服务结束 的时刻以及顾客排队等待时间、在系统中停留时间和售票 员空闲的时间。将数据依次填入表中。 20次试验中顾客停留时间的平均值:72/20=3.60分。 售票员空闲时间占总时间的百分数:34/103=33%
三、排队论研究的基本问题 排队论研究的首要问题是排队系统主要数 量指标的概率规律,即研究系统的整体性质,然 后进一步研究系统的优化问题。与这两个问题相 关的还包括排队系统的统计推断问题。 (1)通过研究主要数量指标在瞬时或平稳状 态下的概率分布及其数字特征,了解系统运行的 基本特征。 (2)统计推断问题,建立适当的排队模型是 排队论研究的第一步,建立模型过程中经常会碰 到如下问题:检验系统是否达到平稳状态;检验 顾客相继到达时间间隔的相互独立性;确定服务 时间的分布及有关参数等。
单服务台排队系统仿真

单服务台排队系统仿真单服务台排队系统是指在一个服务台只有一个服务员的情况下,客户需要按顺序等待服务的系统。
本文将介绍一个针对单服务台排队系统的仿真模型。
在设计仿真模型之前,我们需要确定一些重要的参数。
首先是服务时间,即每个客户接受服务所需要的时间。
服务时间可以通过实际观察数据或者估算得出。
其次是到达间隔时间,即每个客户到达的时间间隔。
到达间隔时间可以通过实际观察数据或者使用随机数生成器进行模拟。
首先,我们需要创建一个事件队列来模拟客户的到达和离开。
事件队列是一个按照发生时间顺序排序的队列,每个事件都包含两个属性:时间和类型。
接下来,我们创建一个时钟来记录仿真进行的时间。
初始时,时钟指向第一个到达事件的时间。
然后,我们从事件队列中取出第一个事件,并更新时钟指向该事件的时间。
如果当前事件类型是到达事件,我们需要进行如下操作:首先,模拟下一个客户到达的时间,并将该事件添加到事件队列中。
然后,判断当前是否有客户正在接受服务。
如果没有,我们将当前事件类型设置为离开事件,并模拟该客户的服务时间和离开时间,并将该离开事件添加到事件队列中。
如果有客户正在接受服务,我们将当前事件类型设置为到达事件。
如果当前事件类型是离开事件,我们需要进行如下操作:首先,更新服务台的空闲状态。
然后,判断是否还有等待服务的客户。
如果有,我们将当前事件类型设置为离开事件,并模拟下一个客户的服务时间和离开时间,并将该离开事件添加到事件队列中。
如果没有等待服务的客户,我们将当前事件类型设置为到达事件。
重复上述步骤,直到事件队列中没有事件为止。
最后,我们可以根据仿真的结果,比如客户的等待时间、服务时间和系统繁忙率等指标,来评估和优化该排队系统的性能。
通过以上的模型,我们可以对单服务台排队系统进行仿真,并评估其性能。
我们可以通过改变服务时间、到达间隔时间等参数,来探究不同情况下系统的表现和优化方案。
同时,我们还可以根据仿真结果,对系统进行调整和改进,以提高客户的满意度和服务效率。
单服务排队系统的仿真

仿真钟:仿真中是离散事件系统仿真中的基 本组成部分,是随仿真的进程而不断更新的 时间推进机构,用来表示仿真时间的变化。
连续系统的仿真和离散系统仿真的区别:
1.在连续系统仿真中,仿真时间的变化是基于仿真步长 确定的;在离散事件系统仿真中,引起状态变化的事件 发生时间是随机的,仿真钟的推进步长完全是随机的。 2.连续系统仿真的模型一般由表征系统变量之间的关 系的方程来描述,如微分方程、差分方程等。离散事 件系统中的变量是反映系统各部分之间相互作用的一 些事件,系统模型则是反映这些事件状态的集合。
单服务排队系统的仿真
永久实体:永久驻留在系统中,是系统处 于活动状态的必要条件,如理发师; 临时实体:仅在系统中存在一段时间,按 一定规律到达,如顾客; 临时实体按一定规律不断产生,在永久实 体作用下通过系统,最后离开系统,整个系 统呈现出动态过程。
属性:每一实体所具有的有效特征。
事件:引起系统状态发生变化的行为;离 散事件系统本质是由事件驱动的(例: 顾客到达事件使服务员状态由闲到忙, 或使队列长度加1 );
Ë ¿ ¹ Í µ ½ ´ ï
Å ¶ Ó ½ á ¹
Å ¶ Ó ¹ æ Ô ò
· þ Î ñ ¹ æ Ô ò
þ Î · ñ » ú ¹
ë È À ¥
¼ 1 Å ¶ Í Ó Ï µ Í ³ Ê ¾ Ò â Í ¼
理发馆排队系统仿真
• • • • • • • •
一.仿真问题 理发馆一天的工作情况如下: 理发馆有1名理发员,同一时刻只能为1位顾客理发。 当顾客进门时,只要理发员状态为闲,就可坐下理发,否则需排队 等候。 一旦顾客理发完离去,排在对头的顾客便可开始理发。 若理发馆每天营业T分钟,求: 一天内顾客在理发馆内平均逗留的时间; 顾客排队等候理发的队列长度平均值; 二.基本要求 1) 模拟理发馆一天的工作过程:必须采用事件驱动的离散模型; 2) 每个顾客到达和下个顾客到达的时间间隔是随机的; 3) 每个顾客进门时都将生成两个随机数: 1>durtime:进门顾客理发所需服务时间(简称理发时间) 2>intertime:下个顾客将到达的时间间隔(简称间隔时间)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2单服务台单队列排队系统仿真一、学习目的1.了解仿确实特点2.学习如何建构模型3.熟悉eM-Plant差不多的对象和操作4.把握排队系统的特点与仿确实实现方法二、问题描述该银行服务窗口为每个到达的顾客服务的时刻是随机的,表2.4是顾客服务时刻纪录的统计结果表2.4 每个顾客服务时刻的概率分布服务时刻〔min〕概率密度累计概率1 0.1 0.12 0.2 0.33 0.3 0.64 0.25 0.855 0.1 0.956 0.05 1.0关于上述如此一个单服务待排队系统,仿真分析30天,分析该系统中顾客的到达、等待和被服务情形,以及银行工作人员的服务和闲暇情形。
三、系统建模3.1 仿真目标通过对银行排队系统的仿真,研究银行系统的服务水平和改善银行服务水平的方法,为银行提高顾客中意度,优化顾客服务流程服务。
3.2.系统建模3.2.1 系统调研1. 系统结构: 银行服务大厅的布局, 涉及的服务设备2. 系统的工艺参数: 到达-取号-等待-服务-离开3. 系统的动态参数: 顾客的到达时刻间隔, 工作人员的服务时刻4. 逻辑参数: 排队规那么, 先到先服务5. 系统的状态参数: 排队队列是否为空, 假如不为空队长是多少, 服务台是否为空6. 系统的输入输出变量:输入变量确定其分布和特点值,顾客的到达时刻间隔的概率分布表和每个顾客被服务时刻的概率分布. 输出变量依照仿真目标设定. 包括队列的平均队长、最大队长、仿真终止时队长、总服务人员、每个顾客的平均服务时刻、顾客平均排队等待服务时刻、业务员利用率等。
3.2.2系统假设1.取号机前无排队,取号时刻为02.顾客排队符合先进先出的排队规那么3.一个服务台一次只能对一个顾客服务4.所有顾客只有一种单一服务5.仿真时刻为1个工作日〔8小时〕6.等候区的长度为无限长3.2.3系统建模系统模型:3.2.4 仿真模型1.实体:银行系统中的实体是人〔主动体〕2.属性:到达时刻间隔、同意服务的时刻、同意服务类型3.事件:顾客到达、开始取号、取号终止、进入队列、出队列、同意服务、服务完成、离开银行。
4.活动:到达、取号、排队、服务、离开5.资源:取号机、排队的座椅、服务柜台 到达离开取号机排队座椅 服务柜台到达取号排队服务离开顾客到达顾客接收服务时间顾客到达时间间隔顾客离开结束服务开始服务结束排队开始排队结束取号开始取号实体活动事件资源4 系统仿真4.1 eM-plant 界面与要紧控件介绍1. 实体:eM-Plant 中包括3类实体:entity ,container ,transporter 。
Entity ,属于被动体,本身在系统中不能移动,需和主动资源配合才能移动,常用于生产线上的半成品、仓库中的物资等;container ,属于被动体,本身在系统中不能移动,需要和主动资源配合才能4 2 1 3 5移动。
做容器使用,在container中能够储备entity,如集装箱、托盘、纸箱等;transporter属于主动体,在系统中不管主动资源依旧被动资源,均能够移动。
常用于带动力的实体,如车辆、AGV小车、人等。
实体在仿真系统中必不可少,任何系统具有1个或者1个以上的实体。
2.toolboxstoolboxs是在仿真过程中需要使用的各重控件包括:material Flow, Resources, Information Flow, User Interface, Tools等5个面板。
本课程重点学习:material Flow, Information Flow, User Interface三个面板。
下面分别介绍如下:connection,连接线,表示实体的移动〔或者资源之间的关系〕,如顾客到达后取号,那么顾客到达资源那么与取号机资源。
实体从顾客到达资源进入取号机资源那么二者之间去有connection连接。
EventController,仿真钟,仿真系统钟必备资源,有且只能有一个,表示仿真过程钟的时刻轴。
source,drain,开始和终止资源,仿真系统钟必备资源,能够有多个,表示仿真系统的开始点和终止点。
一样来说一个资源对应一个活动,对应实体在其上的一个时刻段。
一个活动或者一个资源有两个事件,开始事件和终止事件。
然而source和drain是一种专门的资源,只有一个事件,它表示一个时刻点,而不是时刻段。
singleProc,ParallelProc,单工作台和并行工作台资源。
能够表示任意的加工活动,如顾客接收银行业务员服务活动,取号机取号活动等。
假如只有一个柜台提供服务,那么使用singleproc,假如有多个柜台且服务时刻和服务方式相同,那么使用ParallelProc。
假如有多个柜台且服务时刻和服务方式不同,那么使用多个singleProc。
placebuffer,buffer,等候区。
不同之处在于placebuffer进来的顺序和出来的顺序没有关系,而buffer那么保证最先进来最先出去〔FIFO,First In First Out〕,凡是需要排队等候的地点剧需要用buffer或者placebuffer,一样来说buffer 更长用一些,实际的许多排队系统一样差不多上FIFO的排队规那么。
lines,传送带资源。
entity,container,transporter均能够在其上被传送。
常用于运输皮带、链式输送机、辊子输送机等。
track,道路。
上述资源中唯独不带动力的资源,只有主动体才能够在其上运动,entity和container那么无法使用track资源。
常用于道路、轨道。
flowcontrol,流控。
实体在加工过程中依照不同的情形会有不同的流向。
method。
前面已提及,除了source和drain,其他的资源能够表示一个活动〔时刻段〕,具有开始事件和终止事件。
eM-Plant软件中有专门多类和对象,能够简化构建仿真系统的过程,因此假如没有专门的要求,一样系统会自动执行。
然而,依照实际问题的需要,需要编制自己的开始事件和终止事件。
如本实验中,在对顾客进行服务前〔开始服务事件〕,需要考虑顾客的服务时刻是多少,系统无法自动完成,那么必须使用method创建一个开始服务事件,插入服务台资源中,通过编程实现任意顾客的服务时刻。
Method是编程工具,而编程那么是对事件的编程。
Variable。
全局变量,在C语言中,存在全局变量和局部变量,eM-Plant中与其相似,在method中定义的变量属于局部变量,然而,某些时候,某个变量需要在不同的mothod中使用,现在那么用到全局变量。
table。
表,用于储存数据。
chart,制作各种图表3. FrameFrame 是仿真系统的工作界面,在Frame中建模并运行仿真系统。
银行系统中,顾客取号后排队等着叫号,依照不同的排队号类别被分成了多个排队队列,取号后分成多个队列那么有flowcontrol操纵。
在Frame中如下图:顾客到达〔source〕后取号〔singleproc〕依照不同的顾客类型分类〔flowcontrol〕,分为个人客户和企业客户,分别进入个人客户队列和企业客户队列进行排队。
在系统中有3个个人客户服务台〔singleproc〕,假如任何一个个人客户服务台为空,那么查找个人客户队列假如不为空,那么选择最早进入的客户进行服务。
系统中有n个企业客户服务台,那么使用一个多服务台资源〔prallelproc〕表示,任意一个服务台完成对顾客的服务后,顾客离开〔drain〕,它们之间的关系用连接线表示〔connection〕。
针对本实验的单服务台系统那么能够简单表示为:4.资源治理器资源治理器的功能是对资源进行治理;包括MaterialFlow、Resources、InformationFlow、UseInterFace、MUs、Tools、其功能与tools中的功能相同。
用户能够自己创建新的文件夹,创建新的Frame来实现仿真系统的构建。
5.consoleconsole,操纵台,出现编译和调式过程中的各种信息,包括出错信息、警告信息、输出信息等。
4.2 完成排队仿真系统1. 启动eM-Plant Professional开始>程序>Tecnomatix>eM-Plant 7.0 >eM-Plant Professional打开后如下图:2. 创建新的模型,点选菜单栏File>New Model显现以下图:3. 新增文件夹点选Model,按鼠标右键,显现object的功能表,选择New > Folder然后选中新建文件夹并右击显现快捷菜单,选择Rename进行重新名,名为〝QueueSystem〞。
4.创建新的Frame,命名为〝QueueFrame〞选中QueueSystem文件夹,右击,选择New > Frame,然后右击Frame重命名5. 创建要紧控件〔依照个人喜好,可将Frame最大化〕选中tools工具栏中的source按钮,然后在Frame中单击创建source控件。
用同样的方法创建buffer、singleproc、drain、eventcontroller等控件,同时用connection将其连接起来。
6. 创建一个实体选中MUs名目下的Entity,然后按住Ctrl,并拖到QueueSystem名目下,就复制过来了,右击改名为person。
7.设置各控件属性双击source,打开其属性对话框,修改Attributes选项卡里面的MU值,单击后面的按钮,打开select object对话框,选择前面新建的person,单击OK。
双击buffer按钮,先设置Attributes选项卡中的Capacity属性值,将其改为-1,表示无限量,单击Apply,然后选择times选项卡,将processing time改为0,单击OK。
双击Drain,将times选项卡中的processing time值改为0,单击OK。
双击Eventcontroller,选择settings选项卡,依照要求,设置Data为开始时刻,End为终止时,单击OK。
8. 创建Method以及Tablefile在tools工具栏中选择Method按钮和Tablefile按钮,然后在Frame中创建相应的Method和Tablefile,右击弹出快捷菜单,选择Rename进行改名,分别创建6个Method和3个Tablefile。
Method:reset、init、endsim、arrivalintervaltime、customsevertime、computequeuelength;Tablefile:queueTab、customsTab、customs20Tab。