ATMに並んだとき、「あと何分待つんだろう…」と思ったことはありませんか?
実は、その「待ち時間」はちゃんと数式で計算できます。今回は「待ち行列理論」を、身近な例を使いながらやさしく解説していきます。
待ち行列理論とは?
待ち行列理論とは、「窓口に対して、お客さんがどれくらい待つことになるか」を数式で予測するための考え方です。
ATMの行列、コンビニのレジ、コールセンターの電話対応、Webサーバーへのアクセス処理…。これらはすべて「窓口(サービスを提供する側)」と「お客さん(サービスを受けたい側)」の関係になっていて、待ち行列理論を使えば「平均どれくらい待つか」が計算できます。
今回は、一番シンプルな形である「M/M/1(エムエムワン)モデル」に絞って解説します。
M/M/1モデルの前提条件
M/M/1モデルには、次のような前提があります。
M/M/1モデルの前提条件
- お客さんの到着間隔はバラバラ(ランダム)
- 窓口は1つだけ
- 窓口の処理時間もバラバラ(ランダム)
- お客さんは1列に並び、来た順番に処理される
「M/M/1」の意味は、実は次のような略になっています。
「M/M/1」の意味
- 1つ目のM:到着のパターンがランダム(Markov性)
- 2つ目のM:処理時間のパターンもランダム(Markov性)
- 1:窓口が1つ
この略の意味を丸暗記する必要はありません。「窓口が1つで、お客さんの来るタイミングもサービス時間もランダムな、ごく普通の行列」とイメージできればOKです。
覚えるべき2つの用語
| 用語 | 意味 |
|---|---|
| 到着率(λ:ラムダ) | 単位時間あたり、平均何人来るか |
| サービス率(μ:ミュー) | 単位時間あたり、窓口が平均何人処理できるか |
この2つの値から「利用率(ρ:ロー)」を求めます。
利用率(ρ) = 到着率(λ)÷ サービス率(μ)
利用率は「窓口がどれくらい忙しいか」を表す割合です。100%(=1)に近づくほど、窓口は常にフル稼働している状態になります。
具体例で計算してみよう
あるATMを例に考えてみます。
このATMの条件
- 1時間あたり平均5人が訪れる(到着率 λ = 5人/時間)
- 1時間あたり平均20人処理できる能力がある(サービス率 μ = 20人/時間)

このときの利用率は次の通りです。
利用率(ρ) = 5 ÷ 20 = 0.25(25%)
つまり、このATMは1時間のうち25%しか稼働していない、余裕のある状態だとわかります。
平均待ち時間を求める公式
次に知りたいのは「平均待ち時間」です。以下の式で求められます。
平均待ち時間 = 平均サービス時間 ×(利用率 ÷(1-利用率))
先ほどのATMで、1人あたりの処理に平均3分かかる(平均サービス時間=3分)とすると…
平均待ち時間 = 3 ×(0.25 ÷(1-0.25)) = 3 × 0.333… = 約1分
利用率が低いうちは、待ち時間もそれほど伸びません。ところが…
利用率が上がるほど待ち時間は「急増」する
試しに、利用率を上げていくとどうなるか見てみましょう(サービス時間は3分のまま)。
| 利用率 | 平均待ち時間 |
|---|---|
| 25% | 約1.0分 |
| 50% | 約3.0分 |
| 80% | 約12.0分 |
| 90% | 約27.0分 |
| 95% | 約57.0分 |
利用率50%まではゆるやかですが、80%を超えたあたりから待ち時間が跳ね上がっているのがわかります。これは「窓口がギリギリまで稼働している状態は、ちょっとした混雑でもすぐに行列が伸びてしまう」ということを意味しています。

グラフにすると一目瞭然ですね。序盤はほぼ横ばいなのに、80%を超えたあたりから曲線が一気に立ち上がっています。
この「利用率が上がるほど待ち時間が急増する」という関係性こそが、待ち行列理論で一番押さえておきたいポイントです。
実務でも役立つ考え方
待ち行列理論は、以下のような場面でも同じ考え方が使われています。
待ち行列理論が使われる場面
- コールセンター:オペレーターを何人配置すれば待ち時間を許容範囲に抑えられるか
- Webサーバー:アクセス集中時にサーバーを何台増やせば応答遅延を防げるか
- コンビニのレジ:混雑時にレジを何台開ければ行列が短くなるか
「利用率をギリギリまで上げてコストを削ると、少しの変動で待ち時間が爆発的に伸びる」というのは、システム設計でも生産管理でも共通する重要な感覚です。IT担当者として社内のシステム増強を提案するときにも、この考え方は説得力のある根拠になります。
まとめ
待ち行列理論まとめ
- 待ち行列理論は「窓口に対する待ち時間」を数式で予測する考え方
- 窓口1つのシンプルな「M/M/1モデル」で基本を理解できる
- 利用率(ρ)=到着率(λ)÷サービス率(μ)
- 平均待ち時間=平均サービス時間×(利用率÷(1-利用率))
- 利用率が80%を超えたあたりから、待ち時間は急激に伸びる
数式だけ見ると難しそうですが、「行列に並ぶときの実感」と結びつけて覚えると、驚くほどすんなり頭に入ってきます。ぜひ次にATMやレジに並んだときは、頭の中でこっそり利用率を計算してみてください。
以上です!