パラメータ
プリセット
利用率 ρ ≥ 1 です。行列が無限に発散します。μ か c を増やしてください。
サーバー数 c = 1, 2, 3 の無次元待ち時間 Wq × μ を利用率 ρ に対してプロット。● が現在の設定。
状態確率 P(n):系内に n 人いる確率の分布。青 = サーバー余裕(n < c)、赤 = 待ち発生(n ≥ c)。
μ・c を固定して λ を変化させたときの L・Lq・Wq × μ の変化。
理論・主要公式
到着率 \(\lambda\)、サービス率 \(\mu\)(1サーバーあたり)、サーバー数 \(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}\)
アーランC(全サーバー占有確率 = 待ちに入る確率):
\(C(c,a) = \frac{a^c}{c!}\cdot\frac{P_0}{1-\rho}\)
主要性能指標(リトルの法則 \(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 はサービス時間も指数分布(ランダム)ですが、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 は一般分布)が使えます。ポラチェックヒンチン公式 Lq = λ²E[S²]/(2(1-ρ)) + ρ²/(1-ρ) を用います。E[S²] はサービス時間の2乗期待値で、分散が大きいほど待ち時間が増えます。現実の交通流量・ネットワークパケット・工場搬送では M/G/1 が多用されます。
品質検査ライン(検査員 c 人で不良品 λ 個/時間が来る)、HPC計算クラスタのジョブスケジューリング最適化、サプライチェーンの輸送ボトルネック分析などに活用されます。CAEジョブキューを最適化してターンアラウンドを短縮する設計にも応用できます。
P(n) は「定常状態でちょうど n 人がシステム内にいる確率」です。P(0) が高いほどサーバーが空いていることが多い(余裕がある)、逆に大きな n での確率が無視できないほど高い場合は、まれに長い行列ができることを意味します。設計基準として「P(n ≥ 10) ≤ 0.01」のような目標を設けることもあります。
待ち行列理論シミュレーターでは、到着過程とサービス過程を確率過程としてモデル化する。到着間隔は平均到着率λの指数分布に従い、サービス時間は平均サービス率μの指数分布に従うと仮定する。M/M/1モデルでは単一サーバー(c=1)を想定し、系内人数nの定常確率は \( P_n = (1 - \rho) \rho^n \) で与えられる。ここでρ = λ/μはトラフィック強度であり、ρ < 1が安定条件である。平均待ち時間W_qは \( W_q = \frac{\rho}{\mu(1 - \rho)} \) と計算され、ρが1に近づくほど急増する。M/M/cモデルではサーバー数cを導入し、アーランC公式 \( C(c, \rho) = \frac{\frac{(c\rho)^c}{c!} \cdot \frac{1}{1-\rho}}{\sum_{k=0}^{c-1} \frac{(c\rho)^k}{k!} + \frac{(c\rho)^c}{c!} \cdot \frac{1}{1-\rho}} \) を用いて待ち確率を算出する。この公式により、コンビニのレジ増設やコールセンターのオペレーター最適配置における待ち時間削減効果を定量的に評価できる。
産業での実際の使用例
例えば、大手コンビニエンスストア「セブン-イレブン」では、昼時のレジ待ち行列をM/M/cモデルで解析し、サーバー数(レジ台数)を最適化しています。また、コールセンター業界では「アーランC公式」を用いて、AvayaやGenesysのシステムに組み込み、通話量のピーク時に必要なオペレーター数を自動算出。これにより、人件費を最大20%削減しつつ、顧客の平均待ち時間を30秒以内に抑える運用が実現しています。
研究・教育での活用
大学の経営工学科や情報科学科では、本シミュレーターを用いて「待ち行列理論」の直感的理解を促進。例えば、東京工業大学の講義では、学生がλ(到着率)とμ(サービス率)を変化させながら、待ち時間の分布が指数分布に従う様子をリアルタイムで観察。アーランB/C公式の導出過程を可視化し、理論と実データの一致を確認する教材として活用されています。
CAE解析との連携や実務での位置付け
本シミュレーターは、工場の生産ライン設計におけるCAE(Computer-Aided Engineering)の一部として位置付けられます。例えば、半導体製造装置の搬送システムでは、M/M/1モデルで「ウェハの到着間隔」と「ロボットアームの処理時間」を解析。CAE上でシミュレーション結果をフィードバックし、ボトルネックを特定。実際の設備投資前に、待ち行列理論で理論的な限界値を把握することで、CAEの解析精度を向上させる役割を果たします。
「サーバー数を増やせば待ち時間は必ず比例して短くなる」と思いがちですが、実際はアーランC公式が示す通り、利用率(ρ = λ/(cμ))が1に近いほどサーバー増設の効果は劇的に現れ、逆に利用率が低い状態では効果が薄いため、投資対効果を考慮した設計が必要です。
「到着率とサービス率が一定なら待ち行列は安定する」と思いがちですが、実際は到着とサービスは確率的なバラツキ(ポアソン過程・指数分布)を持つため、短期的には待ち時間が大きく変動します。特に利用率が0.8を超えると、平均値だけでなく95パーセンタイル値が急増する点に注意が必要です。
「M/M/1モデルは現実のコンビニやコールセンターにそのまま当てはまる」と思いがちですが、実際の現場ではサービス時間の分布が指数分布よりばらつきが小さい場合や、到着が時間帯で非定常になる場合が多く、シミュレーション結果はあくまで理論的な下限値として捉える注意が必要です。