教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

基于Matlab的排队问题仿真

来源:网络收集 时间:2026-07-10
导读: 基于Matlab的排队问题仿真 第26卷第2期2007年6月 武汉工业学院学报 Journal of VoL26No.2 Wuhan Polytechnic.University Jun.2007 文章编号:1009—4881(2007)02-0089—

基于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

引言

排队是日常生活中经常遇到的现象。通常,当

以S)=去一魄(|s≥o)p

应用反变换法¨。,得

人、物体或是信息的到达速率大于完成服务的速率

 时,即出现排队现象。排队越长,意味着浪费的时间越多,系统的效率也越低。在日常生活中,经常遇到排队现象,如开车上班、在超市等待结账、工厂中等待加工的工件以及待修的机器等。总之,排队现象是随处可见的。排队理论是运作管理中最重要的领域之一,它是计划、工作设计、存货控制及其他一些问题的基础。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)的计算公式

.r

口(n)=Q(n)=i1

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面向事件仿真模型执行机制

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

输入仿真 …… 此处隐藏:3583字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于Matlab的排队问题仿真.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1703457.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)