本記事では、待ち行列理論の基本から、最も代表的なモデルであるM/M/1モデルまでを、できるだけ直感的に分かりやすく解説します。「到着率λ」「サービス率μ」「利用率ρ」といった重要な概念も、イメージとともに理解しましょう。
さらに、平均待ち時間の計算式についても、単なる公式暗記ではなく、
「なぜその式になるのか?」まで踏み込んで解説しています。
最後には例題も用意しているので、理解を確認しながら読み進めることができます。
- 待ち行列理論を基礎から理解したい方
- 数式の意味までしっかり納得したい方
- 学び直しで数学をもう一度整理したい方
そんな方に向けた内容になっています。
「なんとなく難しそう」と感じていた待ち行列理論を、“ちゃんと理解できる”状態まで一緒に整理していきましょう。
待ち行列理論とは?仕組みと基本をわかりやすく解説
私たちの身の回りには「待ち時間」があふれています。
人気店の行列、レジ待ち、病院の診察待ち、さらにはネット通信の遅延まで——。
こうした「待つ現象」を数学的に分析するのが待ち行列理論です。
一見すると難しそうに感じるかもしれませんが、考え方はとてもシンプルです。
ポイントは「モノ(人・仕事)が来るペース」と「処理するペース」のバランスにあります。
この章では、待ち行列理論の基本を直感的に理解していきましょう。
待ち行列理論とは何か
待ち行列理論(Queueing Theory)とは、待ち時間や行列の長さを数式で分析する理論です。
もう少し具体的に言うと、次のようなことを扱います。
・平均でどのくらい待つのか?
・列はどのくらいの長さになるのか?
つまり、「なんとなく長い待ち時間」を“予測できる数値”に変えるのが待ち行列理論です。
この理論は、以下のような場面で活用されています。
・遊園地のアトラクションの待ち時間の計算
・コンビニやスーパーのレジ設計
・Webサービスのサーバー負荷管理
「効率化」や「ストレス軽減」に直結する、非常に実用的な数学分野です。
身近な例で理解する待ち行列
では、もっと身近な例で考えてみましょう。
例えば、次のようなラーメン店を想像してください。
・1分あたりに2人来店する(到着)
・店員は1分あたりに1人さばける(処理)
この場合、来るスピードの方が速いので、どんどん行列は伸びていきます。
逆に、
・1分あたりに1人来店する(到着)
・1分あたりに2人さばける(処理)
場合は、行列はほとんど発生しません。
このように、
・来る量(需要)
・処理する力(供給)
このバランスで「待ち」が決まる、というのが基本的な考え方です。
待ち行列理論では、この関係を「到着率」と「サービス率」という言葉で表現し、数式で扱えるようにします。
待ち時間はなぜ発生するのか?
「来る量」と「処理する力」のバランスで待ちが決まると解説しました。
逆に言えば、うまくバランスが取れれば行列はほぼ発生しないと言えます。
しかし、現実には両者のバランスをとるのは至難の業です。
理由は、「来る量」にはランダム性がある一方で、「処理する力」には限界があるからです。
現実では、人が来るタイミングはバラバラです。たまたま連続でお客さんが来ることもあれば、しばらく誰も来ない時間もあるでしょう。一方で、「処理する力」が「来る量」に応じて対応できるとは限りません。平均的には「処理能力の方が高い」としても、一時的に「来る量」が集中すると、「余裕」がなくなり、待ちが発生してしまいます。
このような“ばらつき”が待ち行列ができる原因です。
・待ちは「来る量」と「処理する力」のバランスで決まる
・ランダムな到着と余裕のなさが待ち時間を生む
このあと解説するM/M/1モデルでは、これらの現象を具体的に数式で扱い、「平均で何分待つのか?」を求められるようになります。
M/M/1モデルとは?考え方を直感的に理解しよう
M/M/1モデルとは?
待ち行列理論の中でも、最も基本でよく使われるのがM/M/1モデルです。
「M/M/1」は、待ち行列理論において、行列のシミュレーションのやり方によってモデルを分類する際に用いられる名前です。行列は主に「到着ペース」「処理ペース」「処理できる窓口数」の3つの要素でシミュレーションできることから、これらを「到着ペース / 処理ペース / 処理できる窓口数」と記載します。
この表記法をケンドール記号と呼びます。
M/M/1の場合は、
・1つ目のM:到着ペースがランダム
・2つ目のM:処理ペースもランダム
・最後の1 :窓口数は1つ
というモデルになります。
マルコフ過程については解説すると長くなるので詳細は割愛しますが、
ここでは、ランダムを表す確率分布と理解しておけば十分です。
つまり、M/M/1モデルとは、「1つの窓口でランダムに到着する人を処理する」待ち行列モデルを意味します。
M/M/1モデルの具体例
ちょっと抽象的な話が続いたので、M/M/1モデルの具体例を紹介します。
例えば、コンビニにレジが1つしかない場合、このレジにできる行列はM/M/1モデルで考えることができます。
理由は、
・来店するお客さんはランダムにきて
・店員さんが会計にかかる時間もランダム(人によって購入品の量もバラバラ)
・レジは1つ
だからです。
他にも身の回りの待ち行列の多くがM/M/1モデルにあてはまります。
では、M/M/1モデルについて理解できたところで、次章では具体的に待ち時間を計算する方法を解説していきます。
M/M/1モデルの待ち時間の計算式と求め方|直感的に理解
平均待ち時間の公式とは?
M/M/1モデルは、「1つの窓口でランダムに到着する人を処理する」待ち行列モデルでした。このモデルの待ち時間は、結論、以下の公式で計算できます。
M/M/1モデルにおける平均待ち時間\(\small W_q\)は、平均到着率を\(\small \lambda\), 平均サービス率を\(\small \mu\), 利用率を\(\small \rho\)とした場合、
$$\small \displaystyle W_q = \frac{\rho}{\mu (1-\rho)}$$
いろいろと新しい用語が出てきたので順番に解説しています。用語の意味自体は難しくないので、一つずつ確認していきましょう。
「平均到着率λ」とは?
平均到着率とは、 時間あたりの到着人数のことです。
例えば、10分で1人が到着する場合、1分あたりの到着人数は、1(人)÷10(分)=0.1人です。
よって、\(\small \lambda=0.1\)が平均到着率になります。
待ち行列は、大きく
・人が到着する
・滞在する(処理する)
の流れで構成されています。
このうち、平均到着率は、「人が到着する」という部分について、具体的にどのくらいのペースで人が来るのかを表す数値になります。

「平均サービス率μ」とは?
平均サービス率は、時間あたりにサービス提供できる人数のことです。
例えば、10分で4人を処理できる場合、平均サービス率は、4(人)÷10(分)=0.4人です。
よって、\(\small \mu = 0.4\)が平均サービス率になります。
平均サービス率は、
・人が到着する
・滞在する(処理する)
の流れのうち、「滞在する」部分のペースを表す数値になります。

サービス提供できる人数が多いほど、処理能力が高いことになるため、お客さんの滞在時間が短くなります。
利用率ρ(ロー)とは?
利用率は、どのくらいサービスが使われているかを表す割合です。
具体的には、サービス利用可能な人数のうち、サービスを利用しようとしている人の割合で求めます。
具体例で解説します。例えば、とあるお店が
・お客さんは、10分に1人のペースで到着する
・お店側は10分で4人を処理できる
という状況だとします。この場合、お店は10分間で最大4人のお客さんを対応できるわけですが、その間お客さんは1人しか来店していないことになります。つまり、本来は4人分対応できる処理能力があるにもかかわらず1人分しか利用されていないということになるので、利用率は、\(\small \displaystyle \frac{1}{4}=0.25\)(25%)となります。
この考え方を数式化すると、
\begin{split}
\small 利用率=\frac{来店する客数}{お店側がサービス提供できる人数}\\
\end{split}
となります。ここで、分母の「お店側がサービス提供できる人数」はまさに平均サービス率、分子の「来店する客数」は平均到着率を表しています。
つまり、利用率 \(\small \rho\)は
\begin{split}
\small \rho=\frac{\lambda}{\mu}\\
\end{split}
で求めることができます。
待ち時間の式を直感的に解説
平均待ち時間を求める公式に出てくる用語の意味が理解できたところで、ここからはなぜ
$$\small \displaystyle W_q = \frac{\rho}{\mu (1-\rho)}$$
で待ち時間が求められるのかを解説します。
この式を理解しやすくするために、次のように分解して考えます。
\begin{split}
\small W_q &\small \displaystyle = \frac{\rho}{\mu (1-\rho)}\\
&\small \displaystyle = \frac{\rho}{1-\rho}\times \frac{1}{\mu}\\
\end{split}
\(\small \displaystyle \frac{\rho}{1-\rho}\)は『待ちの人数』を表す
分子の\(\small \rho\)は「利用率」、分母の\(\small 1-\rho\)は「空いている割合(未使用率)」を表します。
例えば、1時間あたりにサービス提供できる人数が3人、来店する客数が2人の場合を考えます。このとき、空きは1人分あるのに対して来店する客数が2人なので、平均的にみると2人分の順番待ちが発生するイメージと解釈できます。

この「2人分」という数値は、「利用されている量(2人)」が「空き(1人)」の何倍で求めることができるので、まさに、
$$\small \displaystyle \frac{利用率}{空いている割合}=\frac{\rho}{1-\rho}$$
という形で表すことができます。
\begin{split}
\small \frac{\rho}{1-\rho} &\small \displaystyle =\frac{\dfrac{2}{3}}{1-\dfrac{2}{3}}\\
&\small \displaystyle = \frac{\dfrac{2}{3}}{\dfrac{1}{3}}\\
&\small =2\\
\end{split} このように、確かに、\(\small \displaystyle \frac{\rho}{1-\rho}\)の値が上記の結果と一致することが分かります。
\(\small \displaystyle \frac{1}{\mu}\)は『サービス利用時間』を表す
平均サービス率の逆数なので、意味から考えるとすぐ理解できます。
平均サービス率は時間あたりにサービス提供できる人数でしたから、単位は『人/分』です(時間の単位は、時・分・秒のどれを用いてもOKです)。
この逆数は、『分/人』の単位なので、意味としては1人をサービス提供するのにかかる時間を表します。言い換えれば、1人あたりのサービス利用時間(滞在時間)と言えます。
それぞれの部分が表す意味が分かったところで、冒頭の式に戻りましょう。
平均待ち時間の計算式は、これらを掛け合わせた形になっているため、「待ちの人数」×「1人あたりのサービス利用時間」と解釈できます。
したがって、1人あたりの滞在時間に待ちの人数を掛け算すれば平均待ち時間が求まることが分かります。
例題で理解するM/M/1モデル|待ち時間を実際に計算してみよう
例題を通してM/M/1モデルの待ち時間の求め方を確認しましょう。
薬剤師は1人で、1人あたりの対応時間は平均 4分 である。
M/M/1の待ち行列モデルに従う場合、客がサービスを受け始めるまでの平均待ち時間を求めよ。
平均6分間隔で客が来ることから、平均到着率(時間あたりに来る人数)は、
\begin{split}
\small \lambda &\small =1(人) ÷ 6(分)\\
&\small \displaystyle =\frac{1}{6}\\
\end{split}
また、1人あたりの対応時間が平均 4分であることから、平均サービス率(時間あたりにサービス提供できる人数)は、
\begin{split}
\small \mu &\small =1(人) ÷ 4(分)\\
&\small \displaystyle =\frac{1}{4}\\
\end{split}
利用率 \(\small \rho\)は、
\begin{split}
\small \rho &\small \displaystyle=\frac{\lambda}{\mu}\\
&\small \displaystyle =\frac{\dfrac{1}{6}}{\dfrac{1}{4}}\\
&\small \displaystyle =\frac{2}{3}\\
\end{split}
よって、待ち時間の公式より、平均待ち時間 \(\small W_q\)は
\begin{split}
\small W_q &\small \displaystyle =\frac{\rho}{\mu(1-\rho)}\\
&\small \displaystyle =\frac{\dfrac{2}{3}}{\dfrac{1}{4}\left(1-\dfrac{2}{3}\right)}\\
&\small \displaystyle =\frac{\dfrac{2}{3}}{\dfrac{1}{12}}\\
&\small \displaystyle =8\\
\end{split}
故に、平均待ち時間は8分…【答】.
まず、1時間あたりの来客数は『客が平均 6分間隔で来る』ことから、60分では10人。
次に、1時間あたりにサービス提供できる人数は、『1人あたりの対応時間は平均 4分』であることから、60分では15人。
よって、15人利用できるところ10人しか利用していないことから、利用率は、\(\small \displaystyle \frac{10}{15}=\frac{2}{3}\)と求まります。
平均待ち時間の計算式の覚え方のコツ
平均到着率、平均サービス率、利用率といった用語にとらわれすぎると、それぞれのイメージが湧かずに式が覚えづらくなります。
そこで、平均待ち時間の計算式を覚えるだけであれば以下のように理解することで導出できるようにしておくのがおすすめです。
平均待ち時間を\(\small W_q\)、時間あたりの来客数を\(\small \lambda\)、時間あたりにサービス提供できる人数を\(\small \mu\)とすると
\begin{split}
\small W_q &\small =待ちの人数 \times 1人あたりの滞在時間\\
&\small =\frac{来客数}{空きの人数}\cdot 1人あたりの滞在時間\\
&\small =\frac{\lambda}{\mu-\lambda}\cdot \frac{1}{\mu}\\
&\small =\frac{\rho}{1-\rho}\cdot \frac{1}{\mu} \space◀分母分子を\rhoで約分\\
\end{split}
空きの人数は、お店側がサービス提供できる人数から、利用されている人数(来客数)を差し引いた人数のため、\(\small \lambda-\mu\)で求めることができます。
まとめ|待ち行列理論とM/M/1モデルの重要ポイント
本記事では、待ち行列理論の基本からM/M/1モデルを用いた待ち時間の考え方までを解説しました。
ポイントを整理すると、次の通りです。
・待ち行列理論は「待ち時間」や「行列の長さ」を数式で分析する理論
・待ち時間は「来るペース(到着率λ)」と「処理するペース(サービス率μ)」のバランスで決まる
・M/M/1モデルは「1つの窓口でランダムに到着するモノを処理する」最も基本的なモデル
・利用率ρは「サービス提供できる人数(μ)」のうち「実際に来客した人数(λ)」なのでλ/μ
・平均待ち時間は「待ちの人数」×「1人あたりのサービス利用時間」として直感的に理解できる
待ち行列理論は、飲食店やレジの行列だけでなく、ビジネスやシステム設計など幅広い場面で活用できる考え方です。
本記事が、M/M/1モデルを理解するための第一歩となれば幸いです。

コメント