参数设置
预设场景
利用率 ρ ≥ 1,队列将发散。请增大 μ 或 c。
将服务器数量 c = 1, 2, 3 时的无量纲等待时间 Wq × μ 相对于利用率 ρ 作图。● 表示当前设置。
状态概率 P(n):系统内有 n 人的概率分布。蓝色表示服务器仍有余量(n < c),红色表示开始排队(n ≥ c)。
固定 μ/c 后改变 λ,观察 L、Lq 和 Wq × μ 的变化。
理论与主要公式
对到达率 \(\lambda\)、服务率 \(\mu\)(每台服务器)和服务器数量 \(c\),定义提供负荷 \(a = \lambda/\mu\),利用率 \(\rho = \lambda/(c\mu) = a/c\)(稳定条件为 \(\rho < 1\))。
空状態確率 \(P_0\):
\(P_0 = \left[\sum_{n=0}^{c-1}\frac{a^n}{n!} + \frac{a^c}{c!}\cdot\frac{1}{1-\rho}\right]^{-1}\)
Erlang C(所有服务器被占用的概率,也就是进入等待的概率):
\(C(c,a) = \frac{a^c}{c!}\cdot\frac{P_0}{1-\rho}\)
主要性能指标(由 Little 定律 \(L = \lambda W\) 推导):
\(L_q = C(c,a)\cdot\frac{\rho}{1-\rho},\quad W_q = \frac{L_q}{\lambda},\quad L = L_q + a,\quad W = W_q + \frac{1}{\mu}\)
\(c = 1\) 时 \(C(1,a) = \rho\),与 M/M/1 公式 \(L_q = \rho^2/(1-\rho)\) 一致。
什么是排队论? — 对话式理解
🙋
「排队论」这个名字我听说过,但实际是做什么用的?是用来计算银行排队的数学公式吗?
🎓
没错,银行正是最易懂的例子。当顾客「随机到达」并「接受随机时长的服务」时,这个理论可以计算平均等待时间、排队人数等。不仅银行,呼叫中心需要多少接线员、云服务器的请求处理、工厂检测线的瓶颈分析,全都能用上。
🙋
「M/M/1」这种写法,三个字母分别代表什么意思?
🎓
这是Kendall记号,一种国际标准写法,顺序是「到达过程 / 服务时间分布 / 服务器数量」。M 是Memoryless(无记忆性,即马尔可夫性)的缩写,表示服从指数分布。所以 M/M/1 就是「泊松到达·指数服务·1台服务器」,M/M/c 则是「相同条件下有c台服务器」。
🙋
利用率 ρ 必须小于1,这个从直观上怎么理解?
🎓
ρ = λ/(cμ) 表示「处理能力相对于工作到达量的比例」。ρ = 0.9 意味着90%的时间在忙。ρ ≥ 1 表示到达量超过了处理量,队列会不断增长,永远停不下来。用滑块把ρ调到接近0.99,就能看到等待时间爆炸式增长。
🙋
把服务器从1台增加到2台,等待时间会变化多少?
🎓
变化非常显著。例如 λ=5、μ=6(1台服务器时 ρ=0.83),1台时 Wq ≈ 2.3分钟。增加到2台后 ρ=0.42,Wq ≈ 0.06分钟,大约只有原来的1/40。在「Wq vs ρ曲线」标签页里比较c=1,2,3,可以一目了然地看到高ρ区域差异尤其大。
🎓
L = λW 这个超简单的公式,表示「系统内平均人数 = 到达率 × 平均停留时间」。无论是M/M/1还是M/M/c,甚至非排队的一般系统都成立,是一个普适定律。比如超市每小时来60人,平均停留5分钟,那么收银区附近始终约有5人。实际应用中的优势是:难以直接测量的Lq,可以通过容易测量的λ和Wq反推出来。
🙋
Erlang C公式是做什么的?看起来比M/M/1复杂……
🎓
在M/M/c中,需要先求出「所有服务器都忙、新到达必须排队等待的概率」C(c,a),这就是Erlang C公式。M/M/1直接用Lq = ρ²/(1-ρ)就能算,但多服务器的情况要复杂一些。不过它能量化「相同到达率下增加窗口能带来多大收益」,因此在呼叫中心坐席数优化、医院挂号窗口设计中是必不可少的公式。
常见问题
M/M/1 的服务时间也服从指数分布(随机),而 M/D/1 中所有服务恰好耗时 1/μ 分钟。M/D/1 的队列长度是 M/M/1 的一半(Lq_D = ρ²/(2(1-ρ)))。对于机械加工流水线或自动化系统这类规律性服务,M/D/1 更为适用。
在实际工程中,这是危险线。M/M/1 中 ρ = 0.95 时,Lq = ρ²/(1-ρ) ≈ 18 人。需求稍有增加(ρ → 0.99),Lq ≈ 98 人,会急剧爆炸。通常设计目标应设为 ρ ≤ 0.8,以确保高峰时段的余量。
Wq 仅指在队列中等待的时间,不包括服务时间。W = Wq + 1/μ 是等待时间与服务时间的总和(从进店到离店)。以银行为例,“在柜台前排队的时间”是 Wq,“从开始排队到业务办理完成”是 W。
可以使用 M/G/1 模型(G 为一般分布)。利用 Pollaczek-Khinchin 公式 Lq = λ²E[S²]/(2(1-ρ)) + ρ²/(1-ρ)。其中 E[S²] 是服务时间的二阶期望,方差越大,等待时间越长。实际交通流量、网络数据包、工厂搬运中常使用 M/G/1。
可用于质检线(c 名检验员处理 λ 个/小时的不良品)、HPC 计算集群的作业调度优化、供应链运输瓶颈分析等。也可应用于优化 CAE 作业队列以缩短周转时间的设计。
P(n) 是“稳态下系统内恰好有 n 人的概率”。P(0) 越高,说明服务器空闲时间多(有裕量);反之,若较大 n 的概率不可忽略,则意味着偶尔会出现长队列。设计时也可设定目标,如“P(n ≥ 10) ≤ 0.01”。
什么是排队论(M/M/c)计算器?
排队论(M/M/c)计算器是CAE和应用物理中的重要基础课题。本交互式模拟器允许您直接调节参数并观察实时结果,从而理解关键规律和变量之间的关系。
通过将数值计算与可视化反馈相结合,本模拟器有效地弥合了抽象理论与物理直觉之间的鸿沟,既是学生的高效学习工具,也是工程师进行快速验算的实用手段。
物理模型与关键公式
本模拟器基于排队论(M/M/c)计算器的核心控制方程构建。理解这些方程有助于正确解读计算结果,并判断参数变化对系统行为的影响。
方程中的每个参数都对应控制面板中的一个滑块。移动滑块时,方程的解会实时更新,帮助您直观建立数学表达式与物理行为之间的对应关系。
实际应用场景
工程设计:排队论(M/M/c)计算器相关概念可用于工程初步估算、参数灵敏度分析和教学演示。在开展更完整的CAE分析之前,可借助本工具快速把握主要物理量级与趋势。
教育与科研:在工程教学中,本工具可将理论与数值计算有效结合。在科研阶段,也可作为假设验证的第一步工具使用。
CAE工作流集成:在运行有限元(FEM)或计算流体力学(CFD)仿真之前,工程师通常先用简化模型评估物理量级、识别主导参数,并确定合理的边界条件,本工具正是为此目的而设计。
常见误解与注意事项
模型假设:本模拟器所用数学模型基于线性、均质、各向同性等简化假设。在将计算结果直接用于设计决策之前,务必确认实际系统是否满足这些假设。
单位与量纲:许多计算错误源于单位换算错误或数量级判断失误。请时刻注意各参数输入框旁标注的单位。
结果验证:始终将模拟器输出结果与物理直觉或手算结果进行核对。若结果出乎意料,请检查输入参数或采用独立方法进行验证。