待ち行列理論シミュレーター (M/M/1)

到着率・サービス率と待ち行列の安定性

インタラクティブシミュレーションを読み込んでいます...

ロー(ρ)の崖 🖖

L = ρ/(1−ρ) はなめらかには増加しません — ρ = 1に垂直漸近線があるため、使用率が90%から99%に上がると、平均待ち行列長は9人から99人に跳ね上がり、容量ちょうどでは無限大になります。これが「ρの崖」です。使用率80%の待ち行列は85%とほとんど同じに感じられますが、95%まで押し上げると待ち時間は爆発的に増加します。なぜならW = 1/(μ−λ)も同じ特異点を持つからです — 分子が増えるのではなく、分母がゼロに近づいていくのです。コールセンターや病院の救急外来のような実際のシステムが、意図的に100%容量よりかなり低い水準で余裕を持たせているのはこのためです。頂点付近の一見「無駄な」余剰キャパシティこそが、崖から遠ざけてくれるのです。

行列を生むのはばらつき 🖖

M/M/1 の二つの M は「マルコフ的」を表し、到着はランダム(ポアソン過程)、サービス時間もランダムに変動(指数分布)し、サーバーは一つです。核心は意外で——サーバーが平均として客の到着より速くても、行列はできます。もし全員が時計仕掛けのように到着し、各処理が同じ時間なら、余力のあるサーバーに行列は決してできません。待ちは過負荷ではなく、ばらつきから生まれます。λ を μ より十分小さくしても、行列は現れては消えます。

リトルの法則はほとんど何も求めない 🖖

ここに示したLとWは独立したものではありません。L = λW、そして同様に Lq = λWq という関係を満たします。この関係式に前提条件はほぼありません。1961年にジョン・リトルは、定常状態にある安定した待ち行列ならこれが常に成り立つことを証明しました。到着やサービスの分布がどうであれ、窓口がいくつあろうと、顧客を処理する順序がどうであっても関係ないのです。病院の病棟であれ、工場の仕掛品や店舗の在庫であれ、支配している法則は同じです。内部の平均数は、到着率に平均滞留時間を掛けた値になります。

全プロセスの詳細解説

  1. 1時間に3回の到着と20%の増加がある待ち行列 5 ステップ

    客が 1 時間に 3 人到着し、サーバーは 1 時間に 4 人処理する。サーバーが手持ち無沙汰である時間は全体の 4 分の 1 であり、一見すると余裕があるように思える。この条件で生じる行列を求めよ。そして、到着数が 20% 増加したときに行列がどう変化するかを求めよ。

    1. 状態遷移は平衡している。各状態への流入率は流出率と等しく、ここから Pₙ = (1 − ρ)ρⁿ が得られる。これは行列の長さに関する幾何分布であり、ρ はサーバーが稼働している時間の割合を表す。ここでは ρ = 0.75 である。

    2. その分布の平均は ρ/(1 − ρ) である。分母に注目してほしい。ここにあるのは 1 時間あたりの処理能力の余力ではなく、余力の割合である。1 日の 4 分の 1 がアイドル状態であるサーバーにおいて、系内には平均して 3 人が存在することになる。

    3. サービスを受けている 1 人(確率 ρ で存在する)を差し引くと、2.25 人が待ち状態に残される。

    4. リトルの法則は系内人数を時間へと変換するものであり、分布に関する仮定を一切必要としない。すなわち、系内の平均人数は、到着率に平均滞在時間を掛けたものに等しい。処理に 15 分かかる仕事に対して、系内に 1 時間滞在し、そのうち 45 分間を行列で過ごすことになる。

    5. ここで λ を 3.6 に引き上げてみる。利用率は 0.75 から 0.90 へと上昇し(仕事量が 20% 増加)、ρ/(1 − ρ) は 3 から 9 へと跳ね上がる。

    解答

    利用率 75% のとき、ツールは L = 3.000, Lq = 2.250, W = 1.000, Wq = 0.750 と表示する。ここで得られる教訓は ρ/(1 − ρ) の分母にある。行列の長さを決めるのは、どれだけの絶対的な余力があるかではなく、余力が割合としてどれだけ残されているかであり、負荷を追加したときに費消されるのはまさにその割合である。到着数が 20% 増加すると行列は 3 倍になる。そこからさらに 10% 上乗せされると(ρ = 0.99)、行列は 99 に達する。これが、病院や高速道路、ディスクコントローラーが高利用率下で緩やかに低下するのではなく突如として機能不全に陥る理由であり、「まだ容量の 90% に過ぎない」という言葉が言葉通りには安心できない理由である。

参考文献 (1)

例題

  • 低負荷 - 利用率が低いと、待ち行列と待ち時間は小さく抑えられる。
  • 高負荷 - μ = 4 に対して λ = 3.8 としましょう。サーバーの空き時間は二十単位時間あたり一単位時間にすぎません。それでも系内には平均して 19.000 人の顧客が滞留しています。そのうち 18.050 人はサービス中ではなく待ち行列に並んでおり、システムを抜けるまでに 5.000 単位時間を要します。ここから λ をあと十分の一だけ押し上げると、L、Lq、W はいずれもほぼ二倍になります。これが、ρ = 1 における漸近線が引き寄せる力なのです。
  • 不安定 - 利用率が1を超えると、待ち行列は不安定になる。