M/M/1 排队论模型

1.M/M/1 模型简单介绍

  • 到达时间是泊松过程(Poisson process);
  • 服务时间是指数分布(exponentially distributed);
  • 只有一部服务器(server)
  • 队列长度无限制
  • 可加入队列的人数为无限

这种模型是一种出生-死亡过程,此随机过程中的每一个状态代表模型中人数的数目。因为模型的队列长度无限且参与人数亦无限,故此状态数目亦为无限。例如状态0表示模型闲置、状态1表示模型有一人在接受服务、状态2表示模型有二人(一人正接受服务、一人在等候),如此类推。 此模型中,出生率(即加入队列的速率)λ在各状态中均相同,死亡率(即完成服务离开队列的速率)μ亦在各状态中相同(除了状态0,因其不可能有人离开队列)。故此,在任何状态下,只有两种事情可能发生:
有人加入队列。如果模型在状态k,它会以速率λ进入状态k + 1
有人离开队列。如果模型在状态k(k不等于0),它会以速率μ进入状态k − 1
由此可见,模型的隐定条件为λ < μ。如果死亡率小于出生率,则队列中的平均人数为无限大,故此这种系统没有平衡点。

2.排队模型示例

对于M /M /1 模型有如下公式
在这里插入图片描述

µ: 单位时间服务的顾客数,平均( 期望) 服务率;
λ: 单位时间前来的顾客数。
Ls :队长 ,系统中的顾客数(n)期望值
Lq:排队长 ,系统中排队等待服务的顾客数; 期望值记为Lq
Ws:逗留时间:—— 指一个顾客在系统中的全部停留时间 为 期望值,记为 Ws
Wq: 等待时间: —— 指一个顾客在系统中的排队等待时间为 期望值,记为 Wq

Ws=Wq + E[ 服务时间]
s : 服务台数目
服务强度:ρ = λ/sµ

3.M/M/1 模型例子

某医院急诊室同时只能诊治一个病人,诊治时间服从指数分布,每个病人平均需要 15 分钟。病人按泊松分布到达,平均每小时到达3 3 人。试对此排队队系统进行分析。
解: 对此排队队系统分析如下:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

代码:

% =================================================================需要改的地方
s=1;    %服务台个数
mu=4;   %单个服务台单个时间内能服务的个数
lambda=3;   %单位时间到达的顾客数
% =================================================================需要改的地方

ro=lambda/mu;
ros=ro/s;
sum1=0;

for i=0:(s-1)
    sum1=sum1+ro.^i/factorial(i);
end

sum2=ro.^s/factorial(s)/(1-ros);

p0=1/(sum1+sum2);
p=ro.^s.*p0/factorial(s)/(1-ros);
Lq=p.*ros/(1-ros);
L=Lq+ro;
W=L/lambda;
Wq=Lq/lambda;
fprintf('排队等待的平均人数为%5.2f人\n',Lq)
fprintf('系统内的平均人数为%5.2f人\n',L)
fprintf('平均逗留时间为%5.2f分钟\n',W*60)
fprintf('平均等待时间为%5.2f分种\n',Wq*60)

结果:

排队等待的平均人数为 2.25人
系统内的平均人数为 3.00人
平均逗留时间为60.00分钟
平均等待时间为45.00分种

以上内容参考:https://blog.csdn.net/qq_39481214/article/details/82185050

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐