免费排队论计算器

队列模型

输入到达率和服务率并选择模型以查看队列指标

排队论详解:从埃尔朗到 M/M/s 模型

排队论是用概率模型分析等待线(队列)的数学分支。它起源于 20 世纪初丹麦工程师 Agner Krarup Erlang(埃尔朗)对电话网络拥塞的研究,如今该理论框架支撑着从零售、医疗到电信和计算等无数领域的容量规划。一个专门的队列分析工具,如排队论计算器,通过基于几个输入参数自动计算关键性能指标,使这些概念变得可行。

什么是排队论?

排队论预测等待线在长期运行中的行为,重点关注稳态,即统计均值稳定时的状态。核心指标包括:

  • 队列中或整个系统中的平均顾客数,
  • 平均等待和服务时间,
  • 服务器的利用率,
  • 遇到指定长度队列的概率。

由于到达和服务完成涉及随机性,该理论依赖于随机过程——最常见的是到达的泊松过程和服务时间的指数分布。

队列关键要素与肯德尔记号

每个队列可以用四个基本组件描述:

  • 到达过程(顾客如何进入队列),
  • 服务过程(顾客占用服务器的时间),
  • 服务器数量(并行处理顾客的资源),
  • 队列规则(顾客接受服务的顺序;默认为 FIFO)。

为了对不同队列类型进行分类,肯德尔记号使用 A/B/cA/B/c 形式。字母 AA 和 BB 表示到达时间间隔和服务时间的概率分布,而 cc 表示服务器数量。最常见的符号为:

  • M – 马尔可夫(指数)分布,
  • E – 埃尔朗分布,
  • G – 一般(任意)分布,已知其均值和方差。

扩展记号 A/B/c/K/N/DA/B/c/K/N/D 可以包括队列容量、总体大小和规则。最简单、研究最为深入的模型是 M/M/1 队列:指数到达和单服务器指数服务。

M/M/1 队列:单服务器模型

M/M/1 队列假设:

  • 到达服从泊松过程,到达率 λ\lambda(每单位时间平均到达数),
  • 服务时间服从指数分布,服务率 μ\mu(服务器忙碌时每单位时间平均完成数),
  • 单服务器,无限缓冲区容量,
  • FIFO 规则。

为使系统稳定,流量强度必须满足 ρ=λ/μ<1\rho = \lambda / \mu < 1。如果 ρ≥1\rho \ge 1,队列会无限增长,永远无法达到稳态。

M/M/1 的关键排队论公式源自简单的马尔可夫链和利特尔法则:

  • 服务器利用率:ρ=λμ\rho = \dfrac{\lambda}{\mu}
  • 系统中的平均顾客数:L=ρ1−ρL = \dfrac{\rho}{1 - \rho}
  • 系统中的平均时间:W=1μ−λW = \dfrac{1}{\mu - \lambda}
  • 队列中的平均顾客数:Lq=ρ21−ρL_q = \dfrac{\rho^2}{1 - \rho}
  • 队列中的平均时间:Wq=ρμ−λW_q = \dfrac{\rho}{\mu - \lambda}
  • 系统空闲的概率:p0=1−ρp_0 = 1 - \rho
  • 有 n 个顾客的概率:pn=ρn(1−ρ)p_n = \rho^n (1 - \rho)

这些关系允许您仅通过 λ\lambda 和 μ\mu 快速评估等待线的性能。

M/M/s 队列:多服务器

当有多个服务器可用时,模型变为 M/M/s。每个服务器以 μ\mu 的速率独立工作,总服务能力为 sμs\mu。流量强度重新定义为 ρ=λ/(sμ)\rho = \lambda / (s\mu);同样,需要 ρ<1\rho < 1 才能维持稳定。

系统中零顾客的稳态概率具有更复杂的形式:

p0=[∑k=0s−1(sρ)kk!+(sρ)ss!⋅11−ρ]−1p_0 = \left[ \sum_{k=0}^{s-1} \frac{(s\rho)^k}{k!} + \frac{(s\rho)^s}{s!} \cdot \frac{1}{1 - \rho} \right]^{-1}

从 p0p_0 可以计算平均队列长度:

Lq=(sρ)sρs! (1−ρ)2⋅p0L_q = \frac{ (s\rho)^s \rho }{ s! \, (1-\rho)^2 } \cdot p_0

系统中的平均顾客数为 L=Lq+sρL = L_q + s\rho,等待时间由利特尔法则得出:

Wq=Lqλ,W=LλW_q = \frac{L_q}{\lambda}, \qquad W = \frac{L}{\lambda}

另一个重要的附加指标是到达顾客发现所有服务器忙碌且必须等待的概率——埃尔朗 C 公式:

C(s,α)=(sρ)ss!⋅11−ρ∑k=0s−1(sρ)kk!+(sρ)ss!⋅11−ρC(s, \alpha) = \frac{ \frac{(s\rho)^s}{s!} \cdot \frac{1}{1-\rho} }{ \sum_{k=0}^{s-1} \frac{(s\rho)^k}{k!} + \frac{(s\rho)^s}{s!} \cdot \frac{1}{1-\rho} }

其中 α=λ/μ\alpha = \lambda / \mu。

如何使用排队论计算器

排队论计算器在一个界面中同时充当 M/M/1 队列计算器和 M/M/s 队列计算器。只需选择模型,然后输入已知参数:

  • 到达率 λ\lambda,
  • 服务率 μ\mu,
  • 对于 M/M/s:服务器数量 ss。

工具会立即返回利用率 ρ\rho、系统平均长度 LL、队列平均长度 LqL_q、平均等待时间 WW 和 WqW_q,以及系统空闲的概率 (p0p_0)。对于 M/M/s,还会提供埃尔朗 C 概率。

这个等待线计算器非常适合进行“假设”分析——例如,查看增加一个服务器如何减少等待时间,或者到达率变化如何影响队列长度。它将抽象公式转化为可用于决策的数据,使其成为运营经理和学生必不可少的队列分析工具。

超越人类等待线的应用

排队论的应用远不止超市队列。它可以建模:

  • 电信:分组交换、呼叫中心人员配置,
  • 计算:进程调度、内存管理,
  • 制造业:生产线平衡,
  • 医疗保健:患者流程、预约调度,
  • 交通运输:机场跑道使用、交通流。

通过掌握基本概念并将其应用于可靠的计算器,您可以优化服务效率、减少客户等待时间,并做出明智的资源分配决策。

常见问题

1. 排队论中 M/M/1 记号代表什么?

在肯德尔记号中,两个 M 表示到达时间间隔和服务时间都服从指数(马尔可夫)分布。1 表示单个服务器。这是最简单的标准排队模型。

2. M/M/1 队列在什么条件下保持稳定?

当流量强度 ρ = λ/μ 小于 1 时队列稳定。也就是说,服务率 μ 必须大于到达率 λ,这样服务器最终能处理完所有顾客。

3. 如何计算顾客在 M/M/1 系统中花费的平均总时间?

使用公式 W = 1/(μ - λ),其中 λ 是到达率,μ 是服务率。队列中的平均等待时间为 W_q = ρ × W,其中 ρ = λ/μ。

4. M/M/1 和 M/M/s 队列的主要区别是什么?

M/M/1 有一个服务器,而 M/M/s 有 s 个并行工作的服务器。M/M/s 的性能指标公式更为复杂:流量强度变为 ρ = λ/(sμ),概率 p₀ 涉及求和与阶乘项(埃尔朗公式)。

使用方法

  1. 选择队列模型 - M/M/1 用于单个服务器,M/M/s 用于多个服务器。
  2. 输入到达率 (λ) 和服务率 (μ)。对于 M/M/s,同时指定服务器数量 (s)。
  3. 所有队列指标将立即计算,包括流量强度、平均等待时间和队列概率。