M/M/m排队模型 (单队列多服务台并联服务模型)
数学建模: 基于生灭过程的理论计算和基于事件推进的Matlab模拟仿真思路
原创文章,转载文章请注明出处:©️Sylvan Ding 🎉🎉🎉
摘要
本文研究M/M/m单队列多服务台并联服务的经典排队问题。近年来,对于排队模型的理论研究趋于完善,更复杂的排队模型则不便使用排队理论计算其解析值。随着计算机技术的发展,模拟仿真法已经成为解决复杂排队问题的主要手段。本文提出了一种基于时间调度的M/M/m排队模型模拟仿真方法,采用E(Wq)、E(Ws)、E(Lq)、E(Ls) 这4个评价指标,设定模型初始化参数后,设计了基于马尔可夫状态转移的仿真时钟推进器,不断更新系统状态;将服务台分为空闲和繁忙两类,完成了空闲服务台服务流程和繁忙服务台服务流程的仿真程序设计工作,利用Matlab进行仿真模拟。在此基础上,对经典的M/M/m模型进行理论分析,基于生灭过程建立稳态方程,求出模型的解析解。结果显示,上述4个评价指标的仿真值和理论值极为接近,说明仿真模型设置合理、有效,为后续相关理论研究提供了依据。
第1章 引言
1.1 背景
排队论,又称为随机服务系统,是研究系统由于随机因素的干扰而出现排队或拥塞现象的一门学科,期望对排队系统的运行指标提出优化方法,其适用于一切服务系统,包括通信系统、计算机系统等,对通信系统进行性能评价是当今排队论在应用上的热门课题之一[1]。现实生活中就广泛存在着排队过程,如火车站的售票系统、超市收银系统、图书馆借阅台等。但是排队的出现往往并不是有益的,比如超市服务柜台等待时间过长导致顾客流失、机场未合理调度起飞跑道导致航班延误、访问量过大导致电信运营商网络堵塞等。
排队系统由三个基本部分组成,分别是输入过程、排队规则和服务机构。输入过程是指顾客的到达时间分布情况,客源可以是有限/无限的,顾客到达可以是单个的/成批的,顾客到达时间间隔可以服从负指数分布(泊松到达)/k阶Erlang分布等;排队规则是顾客等候服务的规则,常见的有先到先服务、后到先服务、随机服务和带有优先级的服务规则等;服务机构指的是服务台的数量、服务方式、服务时间分布等,服务时间常见的分布有定长分布、负指数分布和几何分布等,排队规则有损失制、等待值和混合制等,排队方式分为单列、多列和循环队列。
对于经典的排队模型,可以用“顾客到达规律/服务时间分布/服务台数量/队列容量大小/服务规程”来描述。本文讨论的“M/M/m”模型指的是单柏松流输入多队列排队模型。
1.2 研究现状
排队论(Queuing Theory)起源于1909年丹麦电话工程师A. K. Erlang的工作,1917年,其发表了“The Theory of Probabilities and Telephone Conversations”,初步开始了对由于随机需求的出现而产生非稳态队列的现象的研究。Erlang之后,多名学者对其工作做了进一步拓展延伸,Thornton C. Fry 进一步整理的柏松输入,建立广义输出的单/多服务流模型[2]。而后的半个多世纪里,排队论主要为理论模型的发展,如生灭理论和嵌入马尔可夫模型。二战以来,学者开始为该理论赋予应用价值,大量研究开始导向如何精确求解先前学者留下的复杂数学模型,并直接应用于现实的管理决策中。近现代排队论主要为管理决策软件的开发提供理论与模拟支持。
虽然已经有了比较成熟的对排队系统随机过程的理论描述,但是由于理论研究的复杂性和局限性,特别是对复杂的多服务台排队系统的动态模拟问题来说,理论计算相当复杂。近年来得益于计算机技术的发展,更简单的仿真模拟方法成为优化排队问题的主要手段[3]。
1.3 性能评价指标
本文为了研究排队系统运行的效率,估计其服务质量,确定系统最有参数,评价系统结构并提出改进措施,故使用以下性能评价指标:
(1). 平均队长,指系统内顾客数(处于队伍中等待的和服务中的顾客)的数学期望,
记作 E(Ls)E\left(L_s\right)E(Ls).
(2). 平均排队长,指系统内等待服务的顾客数的数学期望,记作 E(Lq)E\left(L_q\right)E(Lq).
(3). 平均逗留时间,指顾客在系统内的逗留时间的数学期望,包括等待时间和服务时间,
记作 E(Ws)E\left(W_s\right)E(Ws).
(4). 平均等待时间,指一个顾客在排队系统中排队等待时间的数学期望,记作 E(Wq)E\left(W_q\right)E(Wq).
第3章 基于平稳柏松过程的M/M/m排队模型的理论计算
3.1 模型假设
3.2 符号说明
3.3 模型建立及求解
3.3.1 生灭过程
M/M/m/∞\infty∞ 排队模型建立
3.4 结果分析
设定参数:λ=1/9\lambda=1/9λ=1/9,μ=1/31\mu=1/31μ=1/31,取 m=4,5,6,7m = 4, 5, 6, 7m=4,5,6,7 .
第2章 基于事件调度的M/M/m排队模型的计算机仿真
离散事件系统仿真通常基于两种时间推进方式:面向事件和面向时间的仿真时钟推进方式[4],本文计算机仿真设计采用面向事件的方法。
⭐️ 本章参考曹永荣教授的“基于马尔科夫状态转移过程的M/M/m排队模型仿真”,作为原文内容的补充,如有错误,还请指正,本文未给出具体的代码实现,只是提供了解题思路。
💗 曹永荣, 韩瑞霞, 胡伟. 基于马尔科夫状态转移过程的M/M/m排队模型仿真[J]. 重庆师范大学学报(自然科学版), 2012, 29(01):61-66.
2.1 模型假设
2.2 符号说明
2.3 模型建立
2.3.1 排队模型的基本参数
在仿真开始时,使用exprnd函数产生顾客到达时间间隔向量interval和服务时间向量S,接着使用cumsum函数对interval向量进行累加操作,获得顾客到达时间向量A.
2.3.2 基于仿真时钟的事件推进系统设计
仿真时钟 time(i) 用作第 i 期仿真的时间推进器,第 i 期仿真指的是从第 i 个顾客到达时刻 A(i)(如果该顾客到达时间按事件发生顺序是最先发生的)或该顾客到达前最先发生的事件的发生时刻(服务台服务结束 / i个顾客到达前队列中的其他顾客的到达)起,到第 i+1 个顾客到达前最迟发生的事件的时刻为止,time(i) 的含义是在第 i 期仿真时,事件发生的时间推进。time 由客户到达时间和 m 个服务台的服务完成时间确定,由于存在排队现象,假设第 i 次仿真时的队列长度为 Lq(i)L_q\left(i\right)Lq(i),那么,time(i) 有两种确定方式:
2.3.3 服务台闲忙状态的建立与转移
2.4 模型求解
2.4.1 评价指标的计算
研究排队系统的目的是为了获得该系统的排队性能指标,从而判断系统优劣,进而调优参数。该动态排队模型能够对引言中提出的4种性能评价指标进行计算,计算方法如下:
2.4.2 仿真程序设计
仿真程序设计主要采用事件调度法[5],对系统状态和各个活动进行动态监控。主程序包括2个子程序,分别是:空闲服务台服务流程和繁忙服务台服务流程,具体设计如下:
2.4.3 M/M/1 模型仿真流程图(参考过程)
总结
近年来,对于排队模型的理论研究趋于完善,更复杂的排队模型不能使用排队理论计算其解析值。随着计算机技术的发展,模拟仿真法已经成为解决复杂排队问题的主要手段。但是,对于复杂M/M/m单队列多服务台并联服务模型的计算机仿真法的研究甚少。本文提出一种基于时间调度的M/M/m排队模型模拟仿真方法,设计基于马尔可夫状态转移的仿真时钟推进器,不断更新系统状态,将服务台分为空闲和繁忙两类,完成了空闲服务台服务流程和繁忙服务台服务流程的仿真程序设计工作,利用Matlab进行仿真模拟。在此基础上,对经典的M/M/m模型进行理论分析,基于生灭过程建立稳态方程,求出模型的解析解。通过对比4个评价指标的仿真值和真值,其误差范围小,说明仿真模型设置合理、有效,为后续相关研究提供了仿真理论依据。
参考文献
[1] 信息网络理论基础[M]. 西安电子科技大学出版社, 李建东编著, 2001.
[2] Piaggio, H. T. H. The Mathematical Gazette 15, no. 208 (1930): 175–77.
[3] 宋振峰, 席志红, 刘飞. 基于Matlab的M/M/m排队模型的仿真[J]. 现代电子技术, 2005(06):29-30.
[4] 曹永荣, 胡伟. 基于售后现场服务排队近似M/G/m模型的服务代表配置[J]. 重庆师范大学学报:自然科学版, 2010, 27(4):36-40.
[5] 肖田元, 张燕云, 陈加栋. 系统仿真导论[M]. 北京: 清华大学出版社, 2000.
[6] 王梓坤, 杨向群. 生灭过程与马尔可夫链[M]. 北京: 科学出版社, 2005.
[7] 曹永荣, 韩瑞霞, 胡伟. 基于马尔科夫状态转移过程的M/M/m排队模型仿真[J]. 重庆师范大学学报(自然科学版), 2012, 29(01):61-66.
[8] 严刚峰, 黄显核, 李思明. 排队过程的仿真研究[J]. 成都信息工程学院学报, 2008(04):393-400.
声明
原创文章,转载文章请注明出处:©️Sylvan Ding 🎉🎉🎉