Laydyne

待ち行列のErlang Cモデル

Erlang Cは、同じ能力の窓口が先着順の共通の列に対応し、人がポアソン到着、対応時間が独立した指数分布に従うとき、来た人が待つ確率を求めます。待ち時間の計算ツールは、この定常状態のM/M/cモデルを使います。

式と単位

a = λs / 3600; ρ = a / c < 1

B₀ = 1; Bⱼ = aBⱼ₋₁ / (j + aBⱼ₋₁), j = 1, …, c

C = cB꜀ / (c − a + aB꜀)

Wq = Cs / (c − a) seconds; Lq = λWq / 3600 people

P(W > t) = C exp(−(c − a)t/s), t ≥ 0 seconds

W90 = 0 if C ≤ 0.1; otherwise s ln(C/0.1) / (c − a) seconds

λは1時間あたりの到着人数、sは1人の平均対応時間(秒)、cは正の整数の窓口数です。aは負荷(erlang)、ρは稼働率、Cは確率で、ρとCは無次元です。Bⱼは階乗の桁あふれを避けてCを計算するErlang Bの再帰式です。Wqは対応開始までの平均待ち時間(秒)、Lqは待つ平均人数、W90は待ち時間の90パーセンタイル(秒)。Wは待たない人の0秒も含む個人の待ち時間です。

数値例

λ = 120人/時、s = 60秒、c = 3窓口なら、a = 2、ρ = 2/3 = 66.67%です。B₁ = 2/3、B₂ = 2/5、B₃ = 4/19から、C = 4/9 = 44.44%。Wq = (4/9) × 60 / (3 − 2) = 26.67秒、Lq = 120 × (80/3) / 3600 = 0.89人です。W90 = 60 ln((4/9)/0.1) = 89.50秒。平均待ち30秒未満には3窓口が必要で、2窓口では定常状態になりません。

前提と限界

この方法を使うツール・記事・出典