待ち時間の数学:余裕があるのに並ぶのはなぜ?
受付の時刻表から待ち行列の仕組みを追い、利用率・到着のばらつき・混雑の非線形性を学びます。人数と時間を結ぶリトルの法則と、条件付きのM/M/1モデルを区別して使います。
- 到着率・処理率・利用率を、単位とともに区別できる
- 平均の到着率が同じでも、到着時刻や処理時間の変動で待ちが生じる理由を説明できる
- 待ち時間と滞在時間、待っている人数と処理中を含む人数を対応させられる
- M/M/1モデルの仮定と安定条件を確認し、利用率が高い領域の待ち時間を計算できる
📑 目次
1.空いている時間があっても、待ち時間は取り戻せない
受付の人が午後に暇でも、午前中に並んだ人の待ち時間を後から消すことはできません。仕事がない時間の処理能力は、貯金して混雑時へ持ち越せないからです。平均では処理能力に余裕があることと、いつ来ても待たないことは別です。到着が重なると、その瞬間に処理できない分が列として残ります。
ここでは窓口は1つ、来た順に1人ずつ処理し、誰かが待っていれば直ちに次の処理を始めるものとします。処理途中で割り込ませず、列からの離脱もありません。i番目の到着時刻を aᵢ、処理時間を sᵢ、処理開始時刻を bᵢ、終了時刻を dᵢ とします。開始できるのは「本人が着いた時」と「前の人が終わった時」の遅い方です。
w_q,ᵢ は処理開始までの待ち時間です。時刻0に窓口が空で、全員が時刻0以降に来る場合は d₀=0 と置けます。すべて分で与えれば答えも分です。この式は与えられた時刻表を追う式であり、到着の確率分布を仮定していません。
時刻0〜12分の区間に4人だけが来て、各人の処理は必ず2分かかる。最初は空で、区間内に他の人は来ない。Aでは到着時刻が0, 3, 6, 9分、Bでは0, 0, 6, 6分。同時到着の人の順はあらかじめ決める。全員の待ち時間と、12分間に窓口が働く割合を比較しよう。
解答・解説
Aの開始時刻は0, 3, 6, 9分、終了は2, 5, 8, 11分で、待ちは全員0分。Bの開始は0, 2, 6, 8分、終了は2, 4, 8, 10分で、待ちは0, 2, 0, 2分。平均待ちはAが0分、Bが(0+2+0+2)÷4=1分。どちらも12分間の処理時間の合計は8分で、働く割合は8÷12=2/3、到着率は4÷12=1/3人/分。同じ区間の平均量でも、到着の重なりを消すと待ちが減ることが分かる。
2.利用率は「忙しさ」、待ち時間そのものではない
1時間に平均8人来て、1人に平均6分かかるなら、持ち込まれる仕事は平均48分ぶんです。60分のうち48分に相当する負荷なので、利用率は0.8と考えられます。処理率 μ は「忙しく働き続けるなら平均何人を処理できるか」という能力であり、実際に1時間で帰った人数とは区別します。
| 記号 | 意味 | 時間をhで測るときの単位 |
|---|---|---|
| λ(ラムダ) | 平均到着率 | 人/h |
| μ(ミュー) | 窓口1つの平均処理能力。平均処理時間は1/μ | 人/h |
| ρ(ロー) | 利用率。安定した1窓口系では忙しい時間の長期的割合 | 単位なし |
| W_q / W | 平均待ち時間 / 処理を含む平均滞在時間 | h |
| L_q / L | 待っている人数の時間平均 / 処理中も含む人数の時間平均 | 人 |
3.人数と時間を結ぶ、リトルの法則
列に3人いる状態が2分続くと、合計6人・分の待ちが積み上がります。同じ量は、一人ひとりが待った時間を足しても数えられます。「人数×時間」を時間方向に足すか、人ごとに足すかの違いです。長く安定して動いていて、観測の始めや終わりをまたぐ人の影響が無視できるなら、この二つの数え方を結び付けられます。
🔍 同じ「人・時間」を二通りで数える
観測時間Tの間の待ち人数の積み上げと、その間に扱うN人の待ち時間の合計を対応させる。有限区間の端にいる人には補正が必要。
長期平均が存在し、同じ列を出入りする人数が釣り合う条件で、長時間の極限を考える。
処理中の人も含む範囲を選べば、滞在時間との関係になる。
これがリトルの法則です。到着や処理が指数分布であることは必要ありません。ただし有限の長期平均が存在する安定した系を扱い、人数と時間を測る範囲をそろえます。ここでは全到着客が処理を受けて去るので到着率λを使えます。入場制限や離脱がある場合には、どの人・どの経路を数えるかを定義し直す必要があります。
安定した架空の受付で、到着率は8人/h、待っている人数の長期的な時間平均は3.2人だった。全員が処理を受け、平均処理時間は6分とする。平均待ち時間W_qと平均滞在時間W、処理中も含む平均人数Lを求めよう。
解答・解説
W_q=L_q÷λ=3.2÷8=0.4 h=24分。W=24+6=30分=0.5 h。L=λW=8×0.5=4人。平均処理中人数はL−L_q=0.8人で、利用率8÷10=0.8とも一致する。「平均3.2人」は瞬間に小数の人がいる意味ではなく、列の人数を時間で平均したもの。ここではリトルの法則を使っただけで、M/M/1とはまだ仮定していない。
4.混雑の式を使う前に、モデルの条件を確認する
平均だけで待ち時間が決まらないなら、時刻のばらつきも指定しなければ予測できません。そこで一つの基準としてM/M/1モデルを考えます。最初のMは到着間隔、次のMは処理時間に「記憶を持たない」指数分布を使うこと、1は窓口数を表します。これは窓口の現実を全部再現する模型ではなく、混雑の仕組みを切り出す模型です。
- 到着は一定の率λのポアソン過程。重ならない時間区間の到着人数は独立で、区間の長さに比例して平均人数が増える。到着間隔は平均1/λの独立な指数分布になる。
- 各人の処理時間は平均1/μの独立で同一の指数分布で、到着過程とも独立。指数分布では、すでに待った時間によらず残り時間の分布が同じという性質を使う。
- 窓口は1つで先着順、処理は中断しない。待ち場所に上限がなく、客は入場を諦めたり列を離れたりしない。待ち客がいれば窓口は働き続ける。
- λとμが長く一定で、0<λ<μ。開始直後の一時的状態ではなく、人数の分布が時間で変わらない定常状態の長期平均を考える。
5.なぜ利用率が1に近づくと急に待つのか
列ができても、到着より処理が速い時間が続けば解消できます。しかし平均の余裕が小さいと、次の到着の波までに前の波を片付けにくくなります。混雑が次の混雑へ持ち越されるため、到着が少し増えただけでも待ちは大きく増えます。この直感を、定常状態で「n人からn+1人へ増える流れ」と逆向きの流れが釣り合うことから式にします。
🔍 発展:定常人数の釣り合いから待ち時間まで
p_nは処理中も含めてn人いる定常確率。1窓口なので、1人以上いれば終了の率はμ。指数分布の条件により人数だけで状態を追える。
確率の合計が1になるようにする。0<ρ<1だから等比級数が収束し、人数の平均も有限になる。
リトルの法則で人数を時間へ変え、最後に本人の平均処理時間を引く。λとμが人/hなら時間はh。
平均処理時間に掛かる倍率はρ/(1−ρ)です。ρが0.5なら1倍、0.8なら4倍、0.9なら9倍になります。分母の「残された余裕」1−ρが小さくなる効果は、単純な比例よりずっと大きいのです。これはM/M/1での厳密な定常平均式であり、一般の受付にそのまま当てはめる場合はモデル近似になります。
M/M/1の条件を満たすとして、μ=10人/hを固定する。λが8人/hから9人/hへ変わったとき、各定常状態の利用率、平均待ち時間、平均滞在時間を比較しよう。
解答・解説
λ=8ではρ=0.8、W_q=8÷(10×2)=0.4 h=24分、W=1÷2=0.5 h=30分。λ=9ではρ=0.9、W_q=9÷(10×1)=0.9 h=54分、W=1 h=60分。到着の増加率は(9−8)÷8=12.5%だが、待ちは54÷24=2.25倍(125%増)になる。滞在時間は2倍なので、待ちと滞在では倍率も違う。変更直後の瞬間の予測ではなく、それぞれの率で定常状態になった場合の比較である。
6.変動を減らす工夫と、式では分からないこと
例題1では到着を散らすだけで待ちがなくなりました。処理時間にも変動があれば、長い処理が後ろの人たちの開始をまとめて遅らせます。短い処理が続いても、列が空ならその余りは保存できません。予約時刻を分散する、必要書類を分かりやすくして処理時間のばらつきを減らす、といった工夫を考えられます。ただし変動の影響は到着との相関や順番にも依存し、「分散だけが分かれば必ず待ちを計算できる」とまでは言えません。
- 数える範囲を決める:待っている人だけか、処理中も含むか。
- 時刻表があるなら開始=max(到着, 前の終了)で追う。長期平均を使うなら安定しているかを確認する。
- 人数から時間への換算にはリトルの法則、到着率と処理率からの予測には追加の分布モデルが必要だと区別する。
- 単位・利用率・モデル条件を確認し、平均値と個人の予測や最大値を混同しない。
空の1窓口に0, 1, 5分に3人が到着し、全員の処理時間は3分。先着順で、他の人は来ない。各人の開始時刻と待ち時間、平均待ち時間を求めよう。
解答・解説
開始は0, 3, 6分、終了は3, 6, 9分。待ちは0, 2, 1分なので平均は1分。3人目は5分に着いても前の人が6分まで処理中なので、1分待つ。
安定した受付で到着率12人/h、平均待ち時間10分。全員が処理を受け、平均処理時間は4分。L_qとLを求めよう。
解答・解説
10分=1/6 hなのでL_q=12×(1/6)=2人。滞在は14分=14/60 hなのでL=12×14/60=2.8人。待ち人数に処理中の平均0.8人を足す関係になる。
M/M/1でλ=6人/h、μ=10人/hとする。ρ、W_q、Wを求めよう。
解答・解説
ρ=0.6、W_q=6÷(10×4)=0.15 h=9分。W=1÷4=0.25 h=15分。差は6分で平均処理時間1/μと一致する。
到着が正確に5分おき、処理も正確に5分、最初は空の1窓口を考える。終了と次の到着は同時として、待ちはあるか。M/M/1のρ=1の結論と矛盾するか。
解答・解説
待ちは0分。毎回、前の終了時に次の人が着くから。指数分布のランダムな到着・処理ではないのでM/M/1とは条件が違い、矛盾しない。ρだけから待ち時間を決められない例である。
問1. 安定した1窓口系で利用率0.75という値が表すのは?
問2. L_q=λW_qで対応させるべき量はどれ?
問3. M/M/1で平均処理時間6分を固定し、利用率が0.8から0.9へ上がると平均待ちは?
問4. 到着率と平均処理時間だけが等しい二つの受付について必ず言えるのは?
根拠と適用範囲
本記事は待ち行列理論の基本的な数理モデルを扱います。リトルの法則は人・時間の二重の数え方、M/M/1の式は定常確率の釣り合いと等比級数に基づき、本文に導出の道筋を示しました。計算例は自作の仮定であり、実測統計・制度・特定施設の性能の引用はありません。実際の待ち時間を見積もるには、到着や処理の分布、時間帯ごとの変化、窓口数、離脱などを調べ、モデルへの適合を別途確認する必要があります。