Word Whitt: The Queueing Network Analyzer(7)

Word Whitt: The Queueing Network Analyzer(6)」の続きです。
今日も2ページ。

 ここで我々はQNAがクラスとルート毎のインプットをどのようにセクション2.1の標準インプットに変換するかを示す。このために、1Hが集合Hの指示関数であるとしよう。つまりもしx{\in}Hならば1H=1さもなければ1H=0である。
 最初に、外部到着レートを

		\lambda_{0j}=\Bigsum_{k=1}^r\hat\lambda_k1\{k:n_{k1}=j\}		(3)

によって得る。つまり、ノードjでの外部到着レート\lambda_{0j}はルート上の最初のノードがjであるような全てのルートの到着レート\hat\lambda_kの合計である。(ここでH=\{k:n_{k1}=j\}について1H記法を用いている。) 同様に、iからjへのフロー・レートは

		\lambda_{ij}=\Bigsum_{k=1}^r\Bigsum_{l=1}^{n_k-1}\hat\lambda_k1\{(k,l):n_{kl}=i,n_{k,l+1}=j\}		(4)

であり、iからネットワークの外へのフローは

		\lambda_{i0}=\Bigsum_{k=1}^r\hat\lambda_k1\{k:n_{kn_k}=i\}		(5)

である。(4)と(5)から、ルーティング行列Qを得ることが出来る。iからjに向かう客の割合は

		q_{ij}=\frac{\lambda_{ij}}{\lambda_{i0}+\Bigsum_{k=1}^n\lambda_{ik}}		(6)

である。もしノードiがネットワークのアクティブな部分であれば、分母は厳密に正になるだろう。さもなければQNAはエラーメッセージを出す。
 次に、もしサービス時間パラメータがルート毎に得られるならば、平均することでノードについてのサービス時間パラメータを得ることが出来る。

		\tau_j=\frac{\Bigsum_{k=1}^r\Bigsum_{l=1}^{n_k}\hat\lambda_k\tau_{kl}1\{(k,l):n_{kl}=j\}}{\Bigsum_{k=1}^r\Bigsum_{l=1}^{n_k}\hat\lambda_k1\{(k,l):n_{kl}=j\}}		(7)

(7)の分母は、もしノードjが一度でも訪問されたことがあれば厳密に正である。さもなければ、(6)と同様QNAはエラーメッセージを出す。
 分布の混合の2次モーメントが2次モーメントの混合であるという性質を用いてノード変動パラメータc_{sj}^2を得る。よって

		\tau_j^2(c_{sj}^2+1)=\frac{\Bigsum_{k=1}^r\Bigsum_{l=1}^{n_k}\hat\lambda_k\tau_{kl}^2(c_{skl}^2+1)1\{(k,l):n_{kl}=j\}}{\Bigsum_{k=1}^r\Bigsum_{l=1}^{n_k}\hat\lambda_k1\{(k,l):n_{kl}=j\}}	(8)

 この時点で、QNAは、セクション4.1で説明するように、内部フロー・レート\lambda_jトラフィック強度\rho_jを計算するための標準インプットについて十分な情報を計算した。つまり、

		\rho_j=\lambda_j\tau_j/m_j				(9)

QNAは外部到着過程の変動パラメータc_{0j}^2を計算するためにこの情報を用いる。ノードjへの外部到着過程はさまざまなクラスからのノードjへの外部到着過程の重ね合わせであるので、セクション4.2での重ね合わせ到着過程のためのハイブリッド近似もまたここで用いられる。もし\lambda_{0j}=0ならば、c_{0j}^2は問題ではなくQNAはc_{0j}^2=1と設定する。さもなければ、

c_{0j}^2=(1-\bar{w_j})
	+\bar{w_j}\left[\Bigsum_{k=1}^rc_k^2\left(\hat\lambda_k1\{k:n_{k1}=j\}/\Bigsum_{l=1}^r\hat\lambda_l1\{k:n_{k1}=j\}\right)\right]	(10)

ただし、

	\bar{w_j}{\eq}\bar{w_j}(\rho_j,\bar{v_j})=[1+4(1-\rho_j)^2(\bar{v_j}-1)]^{-1}		(11)

\rho_jは(9)におけるトラフィック強度であり、

	\bar{v_j}=\left[\Bigsum_{k=1}^r\left(\hat\lambda_k1\{k:n_{k1}=j\}/\Bigsum_{l=1}^r\hat\lambda_l1\{l:n_{l1}=j\}\right)^2\right]^{-1}	(12)

である。
例1:考えを定着させるのを助けるために、n=2ノードとr=3ルートを持つ基礎的な例を考察しよう。ノードのサーバの数をm_1=40m_2=10としよう。ルートのインプットをベクトル

	(n_k,\hat\lambda_k,c_k^2;n_{k1},\tau_{k1},c_{sk1}^2;...;n_{kn_k},\tau_{kn_k},c_{skn_k}^2)	(13)

で記述するとしよう。ここでrベクトルは

	(2,2,1; 1,1,1; 1,3,3)
	(3,3,2; 1,2,0; 2,1,1; 1,2,1)
	(2,2,4; 2,1,1; 1,2,1)			(14)

であるとしよう。最初のルートはノード1へのレート2のポアソン到着過程に対応していて、全ての客はネットワークから出発する前に2番目のサービスのために即座に戻される。(もちろん、到着過程は実際にはポアソンである必要はない。ポアソン仮定は常にc^2=1であるが他の仮定もc^2=1であり得る。) 2番目のクラスもノード1で入り、次にノード2に行き、ネットワークを出発する前にノード1に戻る、などである。
 (3)によって、外部到着レートは\lambda_{01}=5\lambda_{02}=2である。(4)によって、内部フロー・レートは\lambda_{11}=2\lambda_{12}=3\lambda_{21}=5\lambda_{22}=0である。(5)より、ネットワークから出るフロー・レートは\lambda_{10}=7\lambda_{20}=0である。(6)によって、ルーティング過程は、q_{11}=1/6q_{12}=1/4q_{21}=1q_{22}=0である。(7)によって、平均サービス時間は\tau_1=2\tau_2=1である。

Word Whitt: The Queueing Network Analyzer(8)」に続きます。