单服务台排队系统离散事件系统仿真实验_第1页
单服务台排队系统离散事件系统仿真实验_第2页
单服务台排队系统离散事件系统仿真实验_第3页
单服务台排队系统离散事件系统仿真实验_第4页
单服务台排队系统离散事件系统仿真实验_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、离散事件系统仿真实验一、实验目标 通过单服务台排队系统的方针, 理解和掌握对离散事件的仿真建模方法, 以便对其他系 统进行建模,并对其系统分析,应用到实际系统,对实际系统进行理论指导。二、实验原理 1排队系统的一般理论一般的排队系统都有三个基本组成部分:(1)到达模式:指动态实体(顾客)按怎样的规律到达,描写实体到达的统计特性。通常 假定顾客总体是无限的。(2)服务机构: 指同一时刻有多少服务设备可以接纳动态实体, 它们的服务需要多少时间。 它也具有一定的分布特性。 通常, 假定系统的容量 (包括正在服务的人数加上在等待线等待 的人数)是无限的。(3)排队规则:指对下一个实体服务的选择原则。通

2、用的排队规则包括先进先出(FIFO),后进先出(LIFO),随机服务(SIRO)等。2对于离散系统有三种常用的仿真策略:事件调度法、活动扫描法、进程交互 法。( 1)事件调度法( Event Scheduling ):基本思想: 离散事件系统中最基本的概念是事件, 事件发生引起系统状态的变化, 用事 件的观点来分析真实系统。 通过定义事件或每个事件发生系统状态的变化, 按时间顺序确定 并执行每个事件发生时有关逻辑关系。(2)活动扫描法:基本思想: 系统有成分组成,而成分又包含活动。 活动的发生必须满足某些条件, 且每 一个主动成分均有一个相应的活动例程。 仿真过程中, 活动的发生时间也作为条件

3、之一, 而 且较之其他条件具有更高的优先权。(3)进程交互法:基本思想: 将模型中的主动成分历经系统所发生的事件及活动, 按时间发生的顺序进行 组合, 从而形成进程表。 系统仿真钟的推进采用两张进程表, 一是当前事件表,二是将来事 件表。3本实验采用的单服务台模型1 )到达模式:顾客源是无限的,顾客单个到达,相互独立,一定时间的到达数服从指数分布。(2) 排队规则:单队,且对队列长度没有限制,先到先服务的FIFO规则。(3) 服务机构:单服务台,各顾客的服务时间相互独立,服从相同的指数分布。(4) 到达时间间隔和服务时间是相互独立的。4 事件调度法的仿真策略事件调度法的基本思想是:用事件的观点

4、来分析真实系统,通过定义事件及每个事件发生对于系统状态的变化,按时间顺序确定并执行每个事件发生时有关的逻辑关系。按这种策略建立模型时, 所有事件均放在事件表中。模型中设有一个时间控制成分,该成分从事件表中选择具有最早发生时间的事件,并将仿真钟修改到该事件发生的时间,再调用与该事件相应的事件处理模块,该事件处理完后返回时间控制成分。这样,事件的选择与处理不断地进行,直到仿真终止的条件或程序事件产生为止。5 离散事件结果分析仿真运行方式可分为两大类:(1) 终止型仿真:仿真的运行长度是事先确定的由于仿真运行时间长度有限,系统的性能与运行长度有关,系统的初始状态对系统性能 的影响是不能忽略的。为了消

5、除由于初始状态对系统性能估计造成的影响,需要多次独立运行仿真模型。(2) 稳态型仿真:这类仿真研究仅运行一次,但运行长度却是足够长,仿真的目的是估计系统的稳态性能。三、理论分析根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。1、顾客到达模式实体(临时实体)到达模式:顾客。实体到达模式是顾客到达模式,设到达时间间隔A服从均值 A = 5min的指数分布1A / Af(A) e A (A 0)A2、服务模式设服务员为每个顾客服务的时间为S,它也服从指数分布,均值为s = 4minf(S)丄e S/ S (S 0)s3、服务规则由于

6、是单服务台系统,考虑系统顾客按单队排列,并按FIFO方式服务4、理论分析结果在该系统中,设,则稳态时的平均等待队长为Q -1,顾客的平均等待时间为5、系统模型开始对顾客数目做记录置服务员为忙碌 状态将顾客记录排入队确定服务时间列11安排服务完成队列长度加1事件结束三、设计算法1、算法模型2、仿真设计算法(主要函数)利用指数分布间的关系, 产生符合过程的顾客流, 产生符合指数分布的随机变量作为每 个顾客的服务时间:Interval_Arrive=-log(rand(1,SimTotal)/Lambda;%至U 达时间 间隔,结果与调用exprnd(1/Lambda , m)函数产生的结果相同In

7、 terval_Serve=-log(ra nd(1,SimTotal)/Mu;%服务时间间隔t_Arrive(1)=I nterval_Arrive(1);%顾客到达时间时间计算t_Wait=t_Leave-t_Arrive; %各顾客在系统中的等待时间t_Queue=t_Wait-l nterval_Serve; %各顾客在系统中的排队时间由事件来触发仿真时钟的不断推进。 每发生一次事件, 记录下两次事件间隔的时间以及在该 时间段内排队的人数:Timepoint=t_Arrive,t_Leave; % 系统中顾客数变化CusNum=zeros(size(Timepoint);CusNum_

8、avg=sum(CusNum_fromStart.*Time_interval 0 )/Timepoint(end);%系统中平均顾客数计算QueLength_avg=sum(0 QueLength.*Time_interval 0 )/Timepoint(end); % 系统平均等 待队长3、仿真程序(MatLab语言)clear;clc;%M/M/1排队系统仿真SimTotal=input( 请输入仿真顾客总数 SimTotal=); % 仿真顾客总数;Lambda=;Mu=;t_Arrive=zeros(1,SimTotal); t_Leave=zeros(1,SimTotal);Arr

9、iveNum=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;end t_Leave(1)=t_

10、Arrive(1)+Interval_Serve(1);% 顾客离开时间 LeaveNum(1)=1;for i=2:SimTotalif t_Leave(i-1)t_Arrive(i) t_Leave(i)=t_Arrive(i)+Interval_Serve(i);elset_Leave(i)=t_Leave(i-1)+Interval_Serve(i);endLeaveNum(i)=i;end t_Wait=t_Leave-t_Arrive; % 各顾客在系统中的等待时间 t_Wait_avg=mean(t_Wait);t_Queue=t_Wait-Interval_Serve;% 各顾

11、客在系统中的排队时间 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=2QueLength(i)=CusNum(i)-1;elseQueLength(i)=0;endend系统平均等QueLength_avg=su

12、m(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( 系统等待队长分布 );

13、xlabel( 时间 );ylabel( 队长 );subplot(2,2,3);title( 各顾客在系统中的排队时间和等待时间 ); stairs(0 ArriveNum,0 t_Queue,b);hold on;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( 理论系统中平

14、均顾客数 =,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)四、仿真结果分析顾客的平均等待时间与顾客的平均等待队长如下:仿

15、真顾客总数 =100012345 平均值平均等待时间18.941516.95516.555220.818215.624417.44527平均排队时间15.078613.162512.491816.688511.681713.49921平均顾客数3.7583.47363.19854.1532.89113.40464平均等待队长2.99162.69662.41343.32922.16152.63549仿真顾客总数 =10006789 10 理论值平均等待时间17.106417.700417.22416.282217.245420平均排队时间13.188713.667713.244912.45051

16、3.337216平均顾客数3.2673.48393.33423.11063.37654平均等待队长2.51882.69012.56392.37852.61133.2仿真顾客总数 =200012345 平均值平均等待时间20.123120.988718.910517.313316.297218.66422平均排队时间15.921716.941115.115613.396612.311614.65662平均顾客数4.02954.22183.75383.44913.22053.69717平均等待队长3.18823.40773.00052.66892.43292.90384仿真顾客总数 =2000 6

17、78910理论值平均等待时间19.725521.868918.260517.214515.9420平均排队时间15.612717.813314.293513.14512.015116平均顾客数3.84184.32093.72573.34673.06194平均等待队长3.04083.51962.91632.55552.3083.2仿真顾客总数=300012345平均值平均等待时间15.607520.569717.427520.003319.546919.15597平均排队时间11.736716.594913.403216.131615.433415.17725平均顾客数3.11484.17523

18、.46654.11343.8893.82256平均等待队长2.34233.36842.6663.31733.07063.02896仿真顾客总数=3000678910理论值平均等待时间23.318118.391218.738620.925717.031220平均排队时间19.253814.460314.758816.927413.072416平均顾客数4.57073.623.76144.21233.30234平均等待队长3.7742.84622.96263.40752.53473.2仿真顾客总数=500012345平均值平均等待时间22.157318.371818.970720.051219.0

19、23819.61812平均排队时间18.184814.417814.992616.08915.013515.62898平均顾客数4.54633.66473.82174.0253.79093.94222平均等待队长3.73122.8763.02033.22962.99183.14096仿真顾客总数=5000678910理论值平均等待时间20.13918.450519.512519.547419.95720平均排队时间16.16814.483615.549215.505215.886116平均顾客数4.06713.67123.95183.89013.99344平均等待队长3.26512.88193

20、.14923.08573.17883.2从上表对比中可以看出,通过这种模型和方法仿真的结果和理论值十分接近,当增加仿真顾客数时,可以得到更理想的结杲。证明使此静态仿真的思想对排队系统进行仿真是切实可行的。实验结杲截图如下(SimTotal分别为1000、2000、3000、5000):80604020排队时间等待时间200400600800 10000系统等待队长分布i青输入仿事顾宥总数s ijrT ot al=l C10 ) 理论平均爭待时|t_Wait_avg=20 捏论平均排从时间吋=16 理论系统中平均顾客埶=4 理论系统中平均等待队论3.2 仿真平均手待时闾t_Wait_ave=17. 2454 仿喜平均排臥时间t_Queue_avc=13=:050010001500200025003000系统等待队长分布谓输入仿真顺喜总数olal=9t)0 0Jf论平均等诗时|sJt_Wait _ avg=20 理论平均排

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论