基于Matlab的排队问题仿真
基于Matlab的排队问题仿真
第26卷第2期2007年6月
武汉工业学院学报
Journal
of
VoL26No.2
Wuhan
Polytechnic.University
Jun.2007
文章编号:1009—4881(2007)02-0089—04
基于Matlab的排队问题仿真
高静涛,史百战
(兰州交通大学机电技术研究所,甘肃兰州730070)
摘要:排队问题仿真的目的,就是要寻找服务对象与服务设置之间的最佳配置,保证系统具有最佳的服务效率与最合理的配置。本文讨论了排队问题的基本要素,并提出一套标准的求解公式。通过Maflab软件对这些公式的仿真,来协助计划人员分析顾客的需求,从而建立符合现有条件的服务设施。
关键词:Matlab;排队问题;仿真中图分类号:TP
391.9;0226
文献标识码:A
0
引言
排队是日常生活中经常遇到的现象。通常,当
以S)=去一魄(|s≥o)p
s
应用反变换法¨。,得
人、物体或是信息的到达速率大于完成服务的速率
时,即出现排队现象。排队越长,意味着浪费的时间越多,系统的效率也越低。在日常生活中,经常遇到排队现象,如开车上班、在超市等待结账、工厂中等待加工的工件以及待修的机器等。总之,排队现象是随处可见的。排队理论是运作管理中最重要的领域之一,它是计划、工作设计、存货控制及其他一些问题的基础。Matlab是MathWorks公司开发的科学计算软件,它以其强大的计算和绘图功能、大量稳定可靠的算法库、简洁高效的编程语言以及庞大的用户群成为数学计算工具方面的标准,几乎所有的工程计算领域,Matlab都有相应的软件工具箱。作者选用Matlab软件正是基于Matlab的诸多优点。
A=一反lnul
1.2建立事件表
S=一JBsInu2
其中,u,,%为u(o,1)分布随机数。
由于采用面向事件的仿真方法,仿真钟按下一个最早发生事件的发生时间推进。由此对引起系统状态发生变化的系统事件加以定义,并建立相应的
事件表。
单服务排队系统的状态有两个:顾客排队队长g和服务员忙闲状态z。与这两个状态对应引起状态发生变化的事件也有两个:顾客到达系统和顾客接收服务后离开系统。而事件类型及发生时间是必不可少的事件属性。据此建立所如表1所示的事件表。
表1事件表
1排队问题的数学模型
1.1随机变量的抽样模型
设顾客到达时间间隔是A,,服务员的服务时间为.si,则A,服从均值为岛的指数分布,其概率密度
函数为
1.3性能指标估计公式
仿真的目的在于分析系统的性能,故必须有一个统计计数器来搜集仿真过程中的有关数据并进行统计分析,即计算系统的性能指标。
根据要求,本系统的性能指标为服务n个顾客后的顾客平均队长Q(n)的估计值口(n)及平均排
八A)=知一慨(A≥o)
P^
Si服从均值为卢。的指数分布,其概率密度函数为
收稿日期:2006—12-22
作者简介:高静涛(1981一),男,河北省唐山市人,研究生。
万方数据
基于Matlab的排队问题仿真
武汉工业学院学报
2007年
队等待时间孑(凡)的估计值a(rt)。口(rt)和a(n)的计算公式
1
.r
口(n)=Q(n)=i1
f
Q(£)dt
1。0
2(n)=岔(珏)=∑D‘/n
Q(t)——f时刻排队等待的顾客数;卜完成rt个
其中,D二——第i个顾客排队等待时间;
顾客服务所需时间。
为了计算方便,口(n)的积分算式可用累加形式等价代替,即
口(n)一专∑Ri
式中Ri=ql(6i—bH)
其中,qi——时间区间[b㈠,bi]上的排队人数,
即队长;
6:——第i个任何一类事件发生的时间;m——在区间[t。,t。+r]上发生事件的总数;
t.——初始仿真时间。
2排队问题的Matlab仿真
2.1仿真模型的执行机制
采用事件表后,面向事件仿真模型的算法有两
步。
第一步:时间扫描。①扫描事件表,确定下一事件发生时间;②推进仿真钟至下一发生时间;③从事件表中产生当前事件表,它包含了所有当前发生事件的事件记录。
第二步:事件执行。面向事件仿真模型的执行
机制如图l所示。
+一
时问扫描
l
l编排当前时间表
●
处理当前事件
杰否
图l面向事件仿真模型执行机制
2.2仿真程序结构
根据图1,单服务排队系统仿真程序结构如图2
所示。
2.2.1
主程序模块调用各个子模块,实现对整个
万方数据
主程序模块
参数设ll初始化ll仿真运ll统计分lI函数置模块II模块lI行模块II析模块II模块
定时模块l
I事件处理模块ll报告生成模块
图2仿真程序结构
仿真过程的逻辑控制。仿真停止规则可以有两种,即按仿真运行服务固定数目顾客和仿真运行固定时间两种规则停止仿真。
2.2.2参数设置模块对仿真计算所用参数实现输人或预先设置。这些参数包括模型参数(如到达时间间隔,服务时间)和仿真参数(如仿真运行次数,终止仿真规则等)。
2.2.3初始化模块实现对仿真钟、系统状态、事件表和统计计数器的初始化,并产生第一发生事件,启动仿真运行模块。
2.2.4仿真运行模块是仿真程序的核心,充分体现了面向事件仿真方法的实质,它由3个模块组成:①定时子模块,是仿真钟推进的控制部件,其功能是进行时间扫描和事件表扫描,确定下一最早发生事件的事件及类型,推进仿真钟;②事件处理子模块,根据事件表中下一最早发生事件的类型对顾客到达时间或顾客离去时间进行处理;③报告生成子模块,产生并显示输出仿真结果报告。
2.2.5
统计分析模块对仿真结果进行统计分析、
处理。
2.2.6函数模块产生指数分布的随机变量,即随机数发生器。
2.3仿真程序设计
单服务排队系统仿真程序流程图如图3所示。图中,到达事件处理子程序和离去事件处理子程序
流程图见图4和图5。
当仿真系统开始运行,整个仿真系统就像实际生活中的排队问题一样(如图3):系统初始化设置(服务员开始做上班前的准备工作),系统进入待机状态(服务员等待顾客的态度——开始排队或是离开队列),系统开始根据情况执行子程序(服务员开始为顾客服务)。
系统进入待机状态后,会被任意的事件(顾客到达队列或顾客离开队列)中断待机,而进入处理事件的子程序中(如图4,图5所示)。处理顾客到达队列事件和处理顾客离开队列事件不会同时进行,所以只有当某一事件完成后再次返回到系统中,
基于Matlab的排队问题仿真
2期
高静涛,史百战:基于Matlab的排队问题仿真
91
而系统再次进入待机状态时才会响应下一事件,进入下一事件处理的子程序。
<丐D
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




