アルゴリズム8.1:分離可能モデルのための階層的分解解法

「分解可能仮定」についての考察(2)」の続きです。


さらに「第8章 フロー等価と階層的モデル化」を読み進めていきますと、今度は「8.4.高レベル・モデルの求解」のところでひっかかります。このセクションについてはいろいろな箇所で引っかかるのですが、まずはこのセクションの最後にあるアルゴリズム8.1:分離可能モデルのための階層的分解解法について確認することにします。まず、注意しなければならないのはこのアルゴリズム分解可能モデルのためのものであるということですね。

次に読み進んでいきますと

K個のセンターと個体数\vec{N}を持つクローズド分離可能モデルを与え、センター1からAまでを総体とし、センターA+1からKまでを補完体とする。

1.

  • 全てのクラスについてセンターA+1からKまでの処理要求時間をゼロに設定して低レベル・モデルを作成する。これはセンター1からAまでを持つモデルを作成することと等価である。

2.

  • 厳密MVA解法を用いて、個体数\vec{N}を持つこの(分離可能)モデルを評価する。客ゼロの場合からフル個体数\vec{N}までの全ての個体数と全てのクラスcについてシステム・スループットX_c(\vec{n})を得る。

3.

  • センターA+1からKまでと、センター1からAまでを表現する1つのFESCと、客個体数\vec{N}からなる高レベル・モデルを作成する。そのFESCのキュー内の客個体数が\vec{n}である場合のクラスcについてのそのFESCの処理レートはX_c(\vec{n})であるべきである。

はい、ここまでは大丈夫です。この内容は「8.5.1.大域バランス」で具体例を示したものと内容は同じです。ただ「8.5.1.大域バランス」に登場する例のモデル(図8.4)は分離可能ではないところが異なります。しかし、低レベルモデル(図8.5)は分離可能ですから、上のステップ1と2は素直に適用出来ます。ステップ3は高レベルモデルを構築するところですから図8.6を作成することに対応するので、これも適用出来ます。しかし次のステップ4は「8.5.1.大域バランス」の例の説明と異なってきます。これは、「8.5.1.大域バランス」の例の高レベルモデル(図8.6)が分離可能ではないためです。

4.

  • 第20章に記述されたMVAの拡張を用いてこの高レベル・モデルを評価する。このモデルの解はもともとのKセンター・ネットワークの解の近似である。全ての客クラスについてのシステム性能尺度と、センターA+1からKまでについての性能尺度は、この解の結果として得られる。センター1からAまでについての性能尺度は高レベルと低レベルのモデルの解からの情報を組み合わせることによって計算出来る。例えば、個体数Nの単一クラス・モデル内のセンターKでの平均待ち行列長は、
    • Q_K(N)=\Bigsum_{n=1}^N\left[P[Q_{FESC}=n]\Bigsum_{j=1}^njP[Q_K=j|Q_{FESC}=n]\right]
  • で見積ることが出来る。ただしP[Q_{FESC}=n]は、FESCでの待ち行列長がnである確率(高レベル・モデルから得られた)であり、P[Q_K=j|Q_{FESC}=n]は、総体内にn個の客がある場合にセンターK待ち行列jを持つ確率(低レベル・モデルから得られた)である。


ひとつひとつ確認していきます。

第20章に記述されたMVAの拡張を用いてこの高レベル・モデルを評価する。

FESCがモデル内に含まれているので厳密MVAをそのまま適用することが出来ないのですね。

このモデルの解はもともとのKセンター・ネットワークの解の近似である。

はあ、これは厳密解ではなくて近似解であると・・・。

全ての客クラスについてのシステム性能尺度と、センターA+1からKまでについての性能尺度は、この解の結果として得られる。

「センターA+1からKまで」というのは補完体のことですから、補完体を構成するセンターについての性能尺度はここから得られるということですね。補完体ではなくて総体を構成するセンターについての性能尺度については

センター1からAまでについての性能尺度は高レベルと低レベルのモデルの解からの情報を組み合わせることによって計算出来る。例えば・・・・・

となっていますから、ここでの説明内容を適用することで得られるようです。その内容とは

例えば、個体数Nの単一クラス・モデル内のセンターKでの平均待ち行列長は、

  • Q_K(N)=\Bigsum_{n=1}^N\left[P[Q_{FESC}=n]\Bigsum_{j=1}^njP[Q_K=j|Q_{FESC}=n]\right]

で見積ることが出来る。ただしP[Q_{FESC}=n]は、FESCでの待ち行列長がnである確率(高レベル・モデルから得られた)であり、P[Q_K=j|Q_{FESC}=n]は、総体内にn個の客がある場合にセンターK待ち行列jを持つ確率(低レベル・モデルから得られた)である。

ここで、おそらく記述を簡単にするためでしょう、「単一クラス・モデル」とことわっています。次に、FESCでの待ち行列長がnである確率P[Q_{FESC}=n]は高レベル・モデルから得られると書いてありますが、私にはFESCにおける待ち行列長の意味がよく分かりません。と言うよりキューイング・センター以外のセンターにおける待ち行列長がよく分かりません。そこで「6.4.1.オープンモデルの解法(1)」に戻って確認すると、まず、キューイング・センターの待ち行列長の式から、この本で待ち行列という時には待っている客だけでなく処理中の客も数に数えることが分かります。次に、ディレイ・センターの待ち行列長の式からディレイ・センターの場合、待ち行列長はセンター内にある客の数の平均値にほかならないことが分かります。考えてみれば、キューイング・センターの待ち行列長にしてもセンター内にある客の数の平均値であるわけです。よって、FESCについても、その待ち行列長はそのFESC内にある客の数の平均値と考えればよいと思います。しかし、FESCの内部を表すモデルはクローズド・ネットワークなので客の数は一定です。よってQ_{FESC}はFESC内の客数であると言えます。そしてP[Q_{FESC}=n]はFESC内の客数がnである確率のことを表していますから、これが高レベル・モデルから得られるのは理解出来ます。そして、総体内にn個の客がある場合にセンターK待ち行列jを持つ確率P[Q_K=j|Q_{FESC}=n]が低レベル・モデルから得られることも理解出来ます。また、

  • Q_K(N)=\Bigsum_{n=1}^N\left[P[Q_{FESC}=n]\Bigsum_{j=1}^njP[Q_K=j|Q_{FESC}=n]\right]

も理解出来ます。この部分は、「8.5.1.大域バランス」の例でも同じことでしょう。
8.5.1.大域バランス」の例の解き方と異なるのはステップ4の中でも

第20章に記述されたMVAの拡張

を用いているところだけである、ということになります。理解出来ました。すると、今度は第20章の記述を読んだほうがよさそうです。