单服务台排队系统离散事件系统仿真实验

上传人:c** 文档编号:298844147 上传时间:2022-05-26 格式:DOCX 页数:7 大小:18.55KB
返回 下载 相关 举报
单服务台排队系统离散事件系统仿真实验_第1页
第1页 / 共7页
单服务台排队系统离散事件系统仿真实验_第2页
第2页 / 共7页
单服务台排队系统离散事件系统仿真实验_第3页
第3页 / 共7页
单服务台排队系统离散事件系统仿真实验_第4页
第4页 / 共7页
单服务台排队系统离散事件系统仿真实验_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《单服务台排队系统离散事件系统仿真实验》由会员分享,可在线阅读,更多相关《单服务台排队系统离散事件系统仿真实验(7页珍藏版)》请在金锄头文库上搜索。

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

2、数)是无限的。 (3)排队规矩:指对下一个实体服务的选择原那么。通用的排队规矩包括先进先出(FIFO),后进先出(LIFO),随机服务(SIRO)等。 2对于离散系统有三种常用的仿真策略:事情调度法、活动扫描法、进程交互法。 (1)事情调度法(Event Scheduling): 根本思想:离散事情系统中最根本的概念是事情,事情发生引起系统状态的变化,用事 件的观点来分析真实系统。通过定义事情或每个事情发生系统状态的变化,按时间依次确定并执行每个事情发生时有关规律关系。 (2)活动扫描法: 根本思想:系统有成分组成,而成分又包含活动。活动的发生务必得志某些条件,且每 一个主动成分均有一个相应的

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

4、策略 事情调度法的根本思想是:用事情的观点来分析真实系统,通过定义事情及每个事情发 生对于系统状态的变化,按时间依次确定并执行每个事情发生时有关的规律关系。 按这种策略建立模型时,全体事情均放在事情表中。模型中设有一个时间操纵成分,该 成分从事情表中选择具有最早发生时间的事情,并将仿真钟修改到该事情发生的时间,再调用与该事情相应的事情处理模块,该事情处理完后返回时间操纵成分。这样,事情的选择与处理不断地举行,直到仿真终止的条件或程序事情产生为止。 5离散事情结果分析 仿真运行方式可分为两大类: (1)终止型仿真:仿真的运行长度是事先确定的 由于仿真运行时间长度有限,系统的性能与运行长度有关,系

5、统的初始状态对系统性能 的影响是不能疏忽的。为了消释由于初始状态对系统性能估计造成的影响,需要屡屡独立运行仿真模型。 (2)稳态型仿真:这类仿真研究仅运行一次,但运行长度却是足够长,仿真的目的是估 计系统的稳态性能。 三、理论分析 根据排队论的学识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模 式、服务员数量以及服务规矩等因素抉择的。 1、顾客到达模式 实体(临时实体)到达模式:顾客。实体到达模式是顾客到达模式,设到达时间间隔A1按照均值?A5min的指数分布 f(A)?1?Ae?A/?A (A0) 2、服务模式 设服务员为每个顾客服务的时间为Si,它也按照指数分布,均值为?s4

6、min f(S)?1?se?S/?S (S0) 3、服务规矩 由于是单服务台系统,考虑系统顾客按单队排列,并按FIFO方式服务 4、理论分析结果 ?在该系统中,设 T?Q?,那么稳态时的平均等待队长为1?,顾客的平均等待时间为 ?。 5、系统模型 开头 是 服务员忙 否 对顾客数目做记录 置服务员为繁忙状态 将顾客记录排入队列 确定服务时间 队列长度加1 安置服务完成事情 终止 三、设计算法 1、算法模型 开头 输入仿真人数 计算第1个顾客的离开时间:i-2 系统是否接纳第i个顾客? 标志位置0:i=i+1 计算第i个顾客的等待时间、离开时间、标示位: i+1 仿真时间是否越界? 输出结果 终

7、止 2、仿真设计算法(主要函数) 利用指数分布间的关系,产生符合过程的顾客流,产生符合指数分布的随机变量作为每 个顾客的服务时间: 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-Int

8、erval_Serve; %各顾客在系统中的排队时间 由事情来触发仿真时钟的不断推进。每发生一次事情,记录下两次事情间隔的时间以及在该时间段内排队的人数: Timepoint=t_Arrive,t_Leave; %系统中顾客数变化 CusNum=zeros(size(Timepoint); CusNum_avg=sum(CusNum_fromStart.*Time_interval 0 )/Timepoint(end); %系统中平均顾客数计算 QueLength_avg=sum(0 QueLength.*Time_interval 0 )/Timepoint(end); %系统平均等待队长

9、3、仿真程序(MatLab语言) clear; clc; %M/M/1排队系统仿真 SimTotal=input(请输入仿真顾客总数SimTotal=); %仿真顾客总数; Lambda=0.2; Mu=0.25; 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,

10、SimTotal)/Mu;%服务时间 t_Arrive(1)=Interval_Arrive(1);%顾客到达时间 ArriveNum(1)=1; for i=2:SimTotal t_Arrive(i)=t_Arrive(i-1)+Interval_Arrive(i); ArriveNum(i)=i; end t_Leave(1)=t_Arrive(1)+Interval_Serve(1);%顾客离开时间 LeaveNum(1)=1; for i=2:SimTotal if t_Leave(i-1)t_Arrive(i) t_Leave(i)=t_Arrive(i)+Interval_Ser

11、ve(i); else t_Leave(i)=t_Leave(i-1)+Interval_Serve(i); end LeaveNum(i)=i; end t_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); 7

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号