「《待ち行列モデルM/M/c》」の版間の差分

提供: ORWiki
ナビゲーションに移動 検索に移動
(新しいページ: ''''【まちぎょうれつもでるえむえむしー (queueing model M/M/$c$) 】'''  [[待ち行列モデル M/M/{$c$}]] (queueing model M/M/$c$)は, 客の到着がパ...')
 
9行目: 9行目:
 
'''マルコフ性''' M/M/$c$ モデルが容易に解析できるのは, 指数分布がつぎの``無記憶性''をもつことによる. 確率変数 $X$ がパラメータ $\lambda$ の指数分布に従っているものとしよう. すると, 任意の $s, t>0$ に対して
 
'''マルコフ性''' M/M/$c$ モデルが容易に解析できるのは, 指数分布がつぎの``無記憶性''をもつことによる. 確率変数 $X$ がパラメータ $\lambda$ の指数分布に従っているものとしよう. すると, 任意の $s, t>0$ に対して
  
\mbox{P}\{ X>s+t\mid X>s \} = \mathrm{e}^{-\lambda t} = \mbox{P}\{ X>t \}
+
 
 +
:<math>
 +
\mbox{P}\{ X>s+t\mid X>s \} = \mathrm{e}^{-\lambda t} = \mbox{P}\{ X>t \}\,
 +
</math>
 +
 
  
 
が成り立つ. これは, 現在の状況 ($X>s$ ということ) がわかると, 今後の確率的挙動は過去の履歴とは無関係, ということであり, この性質を[[無記憶性 (指数分布の)|無記憶性]] (memoryless property) または[[マルコフ性]] (Markov property) と呼ぶ. M/M/$c$ などの[[ケンドールの記号]]において, ポアソン到着と指数サービスを M で表現するのは, このマルコフ性に由来する.  
 
が成り立つ. これは, 現在の状況 ($X>s$ ということ) がわかると, 今後の確率的挙動は過去の履歴とは無関係, ということであり, この性質を[[無記憶性 (指数分布の)|無記憶性]] (memoryless property) または[[マルコフ性]] (Markov property) と呼ぶ. M/M/$c$ などの[[ケンドールの記号]]において, ポアソン到着と指数サービスを M で表現するのは, このマルコフ性に由来する.  
18行目: 22行目:
 
'''M/M/1 モデル''' [[待ち行列モデルM/M/1]] (queueing model M/M/1) は, $c=1$ の場合で, ポアソン到着, 指数サービス, 単一窓口をもつ待ち行列として定義される. 定常状態確率が存在するための必要十分条件は, $\rho = \lambda/\mu<1$ を満たすことである. そのときシステム内に$k$人の客がいる定常状態確率は
 
'''M/M/1 モデル''' [[待ち行列モデルM/M/1]] (queueing model M/M/1) は, $c=1$ の場合で, ポアソン到着, 指数サービス, 単一窓口をもつ待ち行列として定義される. 定常状態確率が存在するための必要十分条件は, $\rho = \lambda/\mu<1$ を満たすことである. そのときシステム内に$k$人の客がいる定常状態確率は
  
\begin{equation}
+
 
p_k=(1-\rho)\rho^k, \qquad k=0, 1, 2, \cdots
+
:<math>
\label{B-A-04+1}
+
p_k=(1-\rho)\rho^k, \qquad k=0, 1, 2, \cdots \,
\end{equation}
+
</math>     <math>(1)\, </math>
 +
 
  
 
で与えられ, 幾何分布に従う. 窓口がサービス中である確率は $1-p_0=\rho$ であるので, $\rho$ を[[利用率]]と呼ぶ. これは到着した客が待たされる確率, すなわち[[待ち確率]], でもある ([[PASTA]]参照). (1) 式より, 平均系内人数は $L=\rho/(1-\rho)$ であり, 平均待ち行列長は  $L_q=\rho^2/(1-\rho)$ である.  
 
で与えられ, 幾何分布に従う. 窓口がサービス中である確率は $1-p_0=\rho$ であるので, $\rho$ を[[利用率]]と呼ぶ. これは到着した客が待たされる確率, すなわち[[待ち確率]], でもある ([[PASTA]]参照). (1) 式より, 平均系内人数は $L=\rho/(1-\rho)$ であり, 平均待ち行列長は  $L_q=\rho^2/(1-\rho)$ である.  
27行目: 32行目:
 
 待ち時間分布は $t=0$ に $1-\rho$ のマスをもち, $t>0$ では指数分布型の密度をもつ
 
 待ち時間分布は $t=0$ に $1-\rho$ のマスをもち, $t>0$ では指数分布型の密度をもつ
  
\begin{equation}
+
 
F(t)=\mbox{P}\{\mbox{\boldmath{$W$}} \leq t \}
+
:<math>
  =\left\{ \begin{array}{ll} 0, & t<0
+
F(t)=\mbox{P}\{ \boldsymbol{W} \leq t \}
\\                                   1-\rho \mathrm{e}^{-(\mu-\lambda)t}, \qquad
+
  =\left\{ \begin{array}{ll} 0, & t<0 \\
& t \geq 0
+
1-\rho \mathrm{e}^{-(\mu-\lambda)t}, \qquad & t \geq 0
 
  \end{array} \right.  
 
  \end{array} \right.  
\label{B-A-04+2}
+
</math>     <math>(2)\, </math>
\end{equation}
+
 
  
 
で与えられる. この分布関数から, または[[リトルの公式]]から, 平均待ち時間は $W_q=L_q/\lambda=\rho/\mu(1-\rho)$, 平均系内滞在時間は $W=L/\lambda=1/\mu (1-\rho)$ であることがわかる.  
 
で与えられる. この分布関数から, または[[リトルの公式]]から, 平均待ち時間は $W_q=L_q/\lambda=\rho/\mu(1-\rho)$, 平均系内滞在時間は $W=L/\lambda=1/\mu (1-\rho)$ であることがわかる.  
41行目: 46行目:
 
'''M/M/\mbox{\boldmath $c$} モデル''' [[待ち行列モデル M/M/{$c$}]] は, ポアソン到着で $c$個 (通常は複数) の指数サービス窓口をもつモデルである. これも[[出生死滅過程]]を用いて解析できる. 客の到着率を $\lambda$, 平均サービス時間を $1/\mu$ とすると, 平衡状態が存在するための条件は $\rho=\lambda/c \mu < 1$ である. 系内に $c$ 人以上の客がいるときはすべての窓口がサービス中なので, 短い時間 $dt$ の間にいずれかのサービスが終了する確率は $c \mu \, dt$ であり, 系内にいる客の数が $k$ 人 ($k<c$) のときは, $k$ 個の窓口でサービスを行っているだけなので, この確率は $k\mu \, dt$ である. そこで
 
'''M/M/\mbox{\boldmath $c$} モデル''' [[待ち行列モデル M/M/{$c$}]] は, ポアソン到着で $c$個 (通常は複数) の指数サービス窓口をもつモデルである. これも[[出生死滅過程]]を用いて解析できる. 客の到着率を $\lambda$, 平均サービス時間を $1/\mu$ とすると, 平衡状態が存在するための条件は $\rho=\lambda/c \mu < 1$ である. 系内に $c$ 人以上の客がいるときはすべての窓口がサービス中なので, 短い時間 $dt$ の間にいずれかのサービスが終了する確率は $c \mu \, dt$ であり, 系内にいる客の数が $k$ 人 ($k<c$) のときは, $k$ 個の窓口でサービスを行っているだけなので, この確率は $k\mu \, dt$ である. そこで
  
\begin{equation}
+
 
 +
:<math>
 
\mu_k=\left\{
 
\mu_k=\left\{
 
\begin{array}{ll}
 
\begin{array}{ll}
47行目: 53行目:
 
c\mu, & \qquad k=c, c+1, \cdots
 
c\mu, & \qquad k=c, c+1, \cdots
 
\end{array} \right.  
 
\end{array} \right.  
\label{B-A-04+3}
+
</math>     <math>(3)\, </math>
\end{equation}
+
 
  
 
とおけば, $dt$ の間に一人の客が到着する確率が $\lambda \, dt$ であることから, 平衡状態において $k$ 人の客がいる確率は
 
とおけば, $dt$ の間に一人の客が到着する確率が $\lambda \, dt$ であることから, 平衡状態において $k$ 人の客がいる確率は
  
\begin{equation}
+
 
  p_k=p_0 \prod_{i=1}^k \frac{\lambda}{\mu_k}, \qquad k=1, 2, \cdots
+
:<math>
\label{B-A-04+4}
+
p_k=p_0 \prod_{i=1}^k \frac{\lambda}{\mu_k}, \qquad k=1, 2, \cdots
\end{equation}
+
</math>     <math>(4)\, </math>
 +
 
  
 
で与えられる. ここで $p_0$ は, (4) の $p_k$ の和が 1 となるよう
 
で与えられる. ここで $p_0$ は, (4) の $p_k$ の和が 1 となるよう
  
\begin{equation}
+
 
  p_0 = \left[\sum_{k=0}^{c-1} \frac{c^k \rho^k}{k!}
+
:<math>
 +
p_0 = \left[\sum_{k=0}^{c-1} \frac{c^k \rho^k}{k!}
 
         +\frac{c^c \rho^c}{c! \, (1-\rho)}\right]^{-1}
 
         +\frac{c^c \rho^c}{c! \, (1-\rho)}\right]^{-1}
\label{B-A-04+5}
+
</math>     <math>(5)\, </math>
\end{equation}
+
 
  
 
で与えられる. 安定性の条件 $\rho<1$ は, (4) の $p_k$ の和が有限の値に収束するための条件となっていることに注意しよう. この $\rho$ は各窓口がサービス中の時間の割合になっており, やはり利用率と呼ばれる. すべての窓口がふさがっている確率は,  
 
で与えられる. 安定性の条件 $\rho<1$ は, (4) の $p_k$ の和が有限の値に収束するための条件となっていることに注意しよう. この $\rho$ は各窓口がサービス中の時間の割合になっており, やはり利用率と呼ばれる. すべての窓口がふさがっている確率は,  
  
\begin{equation}
+
 
  \Pi=\sum_{k=c}^\infty p_k = \frac{c^c \rho^c}{c! \, (1-\rho)} p_0  
+
:<math>
\end{equation}
+
\Pi=\sum_{k=c}^\infty p_k = \frac{c^c \rho^c}{c! \, (1-\rho)} p_0  
 +
</math>     <math>(6)\, </math>
 +
 
  
 
であり, PASTA よりこれが待ち確率でもある. 待ち時間分布は
 
であり, PASTA よりこれが待ち確率でもある. 待ち時間分布は
  
\begin{equation}
+
 
  \mbox{P}\{\mbox{\boldmath $W$} \leq t\} = \left\{ \begin{array}{ll}
+
:<math>
 +
\mbox{P}\{ \boldsymbol{W} \leq t\} = \left\{ \begin{array}{ll}
 
   0 , & t <0 \\
 
   0 , & t <0 \\
 
   1 - \Pi \, \mathrm{e}^{-c \mu(1-\rho)t}, \quad & t \geq 0
 
   1 - \Pi \, \mathrm{e}^{-c \mu(1-\rho)t}, \quad & t \geq 0
 
   \end{array} \right.  
 
   \end{array} \right.  
\end{equation}
+
</math>     <math>(7)\, </math>
 +
 
  
 
で与えられ, 平均待ち時間は $W_q= \Pi / c \mu (1 - \rho)$ である.
 
で与えられ, 平均待ち時間は $W_q= \Pi / c \mu (1 - \rho)$ である.
87行目: 99行目:
 
 到着率を $\lambda$, 平均サービス時間を $1/\mu$ とすると, 定常状態確率は (3) を用いて (4) で与えられる. ただし, 今度の場合, とりうる状態は $k=0, 1, 2, \ldots , c$ だけであるので, $p_0$ は
 
 到着率を $\lambda$, 平均サービス時間を $1/\mu$ とすると, 定常状態確率は (3) を用いて (4) で与えられる. ただし, 今度の場合, とりうる状態は $k=0, 1, 2, \ldots , c$ だけであるので, $p_0$ は
  
\begin{equation}
+
 
 +
:<math>
 
p_0 = \left[\, \sum_{k=0}^{c}
 
p_0 = \left[\, \sum_{k=0}^{c}
 
\frac{1}{k!}\left(\frac{\lambda}{\mu}\right)^k \right]^{-1}
 
\frac{1}{k!}\left(\frac{\lambda}{\mu}\right)^k \right]^{-1}
\end{equation}
+
</math>     <math>(8)\, </math>
 +
 
 +
 
  
 
で与えられ, たとえ $\rho=\lambda/c \mu<1$ でなくてもシステムは安定的である. PASTA の性質により, 呼損率は系内にちょうど $c$ 人の客がいる確率
 
で与えられ, たとえ $\rho=\lambda/c \mu<1$ でなくてもシステムは安定的である. PASTA の性質により, 呼損率は系内にちょうど $c$ 人の客がいる確率
  
\begin{equation}
+
 
 +
:<math>
 
p_c=\frac{1}{c!} \left(\frac{\lambda}{\mu}\right)^c p_0
 
p_c=\frac{1}{c!} \left(\frac{\lambda}{\mu}\right)^c p_0
\label{B-A-04+9}
+
</math>     <math>(9)\, </math>
\end{equation}
+
 
  
 
と等しい. この式は[[アーランの損失式]] (Erlang's loss formula) と呼ばれ, 損失系の性能評価で最も重要な特性量のひとつである. なお, この式は M/G/$c$/$c$ モデル, すなわち一般サービスのときでも成り立つことが知られている.  
 
と等しい. この式は[[アーランの損失式]] (Erlang's loss formula) と呼ばれ, 損失系の性能評価で最も重要な特性量のひとつである. なお, この式は M/G/$c$/$c$ モデル, すなわち一般サービスのときでも成り立つことが知られている.  
104行目: 120行目:
  
 
----
 
----
 
 
'''参考文献'''
 
'''参考文献'''
  

2007年7月11日 (水) 18:14時点における版

【まちぎょうれつもでるえむえむしー (queueing model M/M/$c$) 】

 [[待ち行列モデル M/M/{$c$}]] (queueing model M/M/$c$)は, 客の到着がパラメータ $\lambda$ のポアソン過程に従い, サービス時間が平均 $1/\mu$ の指数分布に従う, 窓口 $c$ 個の最も基本的な待ち行列モデルである. 待ち行列理論が アーランアグナー・K}{A.\ K.\ Erlang}によって20世紀初頭に誕生したときに, 真っ先に研究の対象となったのがこのタイプのモデルであった. それ以来, モデルの簡潔さ, 公式のわかりやすさから, 代表的な待ち行列モデルとして, 常に待ち行列理論のよりどころとなり, また多方面で実際問題の解決に応用されてきている. 近年研究が進められている待ち行列ネットワークでも, その中心となっているのはこの M/M/$c$ モデルをネットワーク状につないだジャクソン型ネットワークとそれを拡張したBCMP型ネットワークであることからも, その重要性が理解できよう.


ポアソン到着と指数サービス M/M/$c$ モデルに関連して, いくつかの用語が慣用的に用いられている. 客の到着がポアソン過程にしたがうとき, つまり客の到着間隔が独立で同一の指数分布に従うとき, その到着の仕方をポアソン到着 (Poisson arrival) という. この場合, 到着過程のパラメータを $\lambda$ とすると, 長さ $t$ の時間に到着する人数は平均 $\lambda t$ のポアソン分布に従う. この $\lambda$ のことを到着率 (arrival rate) と呼ぶ. また, サービス時間の分布が指数分布に従うとき, サービスの仕方は指数サービス (exponential service) であるという. このとき平均サービス時間の逆数 $\mu$ のことをサービス率 (service rate) と呼ぶ.


マルコフ性 M/M/$c$ モデルが容易に解析できるのは, 指数分布がつぎの``無記憶性をもつことによる. 確率変数 $X$ がパラメータ $\lambda$ の指数分布に従っているものとしよう. すると, 任意の $s, t>0$ に対して



が成り立つ. これは, 現在の状況 ($X>s$ ということ) がわかると, 今後の確率的挙動は過去の履歴とは無関係, ということであり, この性質を無記憶性 (memoryless property) またはマルコフ性 (Markov property) と呼ぶ. M/M/$c$ などのケンドールの記号において, ポアソン到着と指数サービスを M で表現するのは, このマルコフ性に由来する.

 M/M/$c$ モデルでは, ポアソン到着と指数サービスの仮定から, 系内人数を状態とするマルコフ連鎖を導くことができる. このマルコフ連鎖は出生死滅過程と呼ばれる特殊な型をしており, その解析は容易である. マルコフ連鎖の一般論から, 適当な条件の下でこの出生死滅過程は時間の経過とともに平衡状態に近づく. そのため M/M/$c$ モデルでは, 平衡状態における状態確率 (これを定常状態確率 (stationary state probability) とか極限状態確率と呼ぶ) を解析的に求め, それらから待ち確率, 平均待ち時間, 待ち時間分布}, 平均系内人数, 系内人数分布などの混雑の尺度を計算して, 実際のシステムの性能評価に役立てている.


M/M/1 モデル 待ち行列モデルM/M/1 (queueing model M/M/1) は, $c=1$ の場合で, ポアソン到着, 指数サービス, 単一窓口をもつ待ち行列として定義される. 定常状態確率が存在するための必要十分条件は, $\rho = \lambda/\mu<1$ を満たすことである. そのときシステム内に$k$人の客がいる定常状態確率は


     


で与えられ, 幾何分布に従う. 窓口がサービス中である確率は $1-p_0=\rho$ であるので, $\rho$ を利用率と呼ぶ. これは到着した客が待たされる確率, すなわち待ち確率, でもある (PASTA参照). (1) 式より, 平均系内人数は $L=\rho/(1-\rho)$ であり, 平均待ち行列長は $L_q=\rho^2/(1-\rho)$ である.

 待ち時間分布は $t=0$ に $1-\rho$ のマスをもち, $t>0$ では指数分布型の密度をもつ


     


で与えられる. この分布関数から, またはリトルの公式から, 平均待ち時間は $W_q=L_q/\lambda=\rho/\mu(1-\rho)$, 平均系内滞在時間は $W=L/\lambda=1/\mu (1-\rho)$ であることがわかる.


M/M/\mbox{\boldmath $c$} モデル [[待ち行列モデル M/M/{$c$}]] は, ポアソン到着で $c$個 (通常は複数) の指数サービス窓口をもつモデルである. これも出生死滅過程を用いて解析できる. 客の到着率を $\lambda$, 平均サービス時間を $1/\mu$ とすると, 平衡状態が存在するための条件は $\rho=\lambda/c \mu < 1$ である. 系内に $c$ 人以上の客がいるときはすべての窓口がサービス中なので, 短い時間 $dt$ の間にいずれかのサービスが終了する確率は $c \mu \, dt$ であり, 系内にいる客の数が $k$ 人 ($k<c$) のときは, $k$ 個の窓口でサービスを行っているだけなので, この確率は $k\mu \, dt$ である. そこで


     


とおけば, $dt$ の間に一人の客が到着する確率が $\lambda \, dt$ であることから, 平衡状態において $k$ 人の客がいる確率は


     


で与えられる. ここで $p_0$ は, (4) の $p_k$ の和が 1 となるよう


     


で与えられる. 安定性の条件 $\rho<1$ は, (4) の $p_k$ の和が有限の値に収束するための条件となっていることに注意しよう. この $\rho$ は各窓口がサービス中の時間の割合になっており, やはり利用率と呼ばれる. すべての窓口がふさがっている確率は,


     


であり, PASTA よりこれが待ち確率でもある. 待ち時間分布は


     


で与えられ, 平均待ち時間は $W_q= \Pi / c \mu (1 - \rho)$ である.


M/M/\mbox{\boldmath $c$} モデル [[待ち行列モデル M/M/{$c$}/{$c$}]] (queueing model M/M/$c$/$c$) は, ポアソン到着で, $c$個の指数サービス窓口があるが, 待合室が無く, 客が待つことができない待ち行列である. 客が到着したときに, 空いた窓口がある場合には直ちにサービスを受けるが, すべての窓口が塞がっている場合にはサービスを受けることなく立ち去る. このようにサービスを受けずに立ち去る客がある待ち行列モデルは損失系と呼ばれ, 電話回線などのトラフィック理論でしばしば利用される. このときサービスを受けずに立ち去る客の割合を呼損率 (loss probability) という.

 到着率を $\lambda$, 平均サービス時間を $1/\mu$ とすると, 定常状態確率は (3) を用いて (4) で与えられる. ただし, 今度の場合, とりうる状態は $k=0, 1, 2, \ldots , c$ だけであるので, $p_0$ は


     


で与えられ, たとえ $\rho=\lambda/c \mu<1$ でなくてもシステムは安定的である. PASTA の性質により, 呼損率は系内にちょうど $c$ 人の客がいる確率


     


と等しい. この式はアーランの損失式 (Erlang's loss formula) と呼ばれ, 損失系の性能評価で最も重要な特性量のひとつである. なお, この式は M/G/$c$/$c$ モデル, すなわち一般サービスのときでも成り立つことが知られている.



参考文献

[1] L. Kleinrock, Queueing Systems Vol. 1 Theory, Wiley, New York, 1975.

[2] 森村英典, 大前義次, 『応用待ち行列理論』, 日科技連, 1975.

[3] 尾崎俊治, 『確率モデル入門』, 朝倉書店, 1996.

[4] S. M. Ross, Stocastic Processes, Wiley, New York, 1980.