|
■ 待ち行列らくらくメモ
ネットワークおよびキャパシティプランニングの問題において、待ち行列問題はよく登場します。ここで、ソフトウエア開発技術者試験においては、M/M/1モデルが出題されます。
M/M/1は、それぞれ、到着/サービス/窓口数を表します。
M/M/1モデルの場合、到着はポアソン分布に従い、サービスは指数分布に従います。これはどちらも一定ではなくランダムという意味であるが、意味が少し異なります。
覚え方:「ポアソンとうちゃんシースルーでサービス」
ポアソン分布 到着率 指数分布 サービス率
コンビニの例で考えると、ポアソン分布はお客さんが店に入ってくる頻度です。お客さんはある時は集団で入ってきたり、まったく来なかったりします。ポアソン分布は0にもなりうります。
指数分布はレジがお客さんをさばく頻度です。レジではお弁当を温めたり、領収証を要求するお客さんに対しては時間がかかるが、缶コーヒーを買うお客さんに対しては時間はかかりません。しかし時間が0ということはありません。これが指数分布です。
窓口数は、レジが一つかどうかを表す。2つあればM/M/2,3つあればM/M/3となるが、ソフトウエア開発技術者試験ではほぼ窓口数は1つと考えて構いません。窓口数が2のときには対応するグラフや表が問題に用意されているので、それにしたがって解答すればOKです。なお、サービス時間が一定であるM/D/1モデルというのもある。イメージとしては観覧車のイメージであるが、これももし出題されても資料が用意されます。
ここで、M/M/1モデルを解答する例として、銀行のATM装置を例に考えます。ATMにおいては残高照会、振込、引出などのサービスを提供しており、それぞれのサービス時間は異なるが平均で3分とする。またこのATMは1時間当たり16人が利用するものとする。
まず、窓口利用率ρ("ろー"と読む)を求める。
λ(到着率)
ρ=───────
μ(サービス率)
("λ"は"らむだ"、"μ"は"みゅー"と読む)
まずλとμの単位を決めます。問題を通じてこの単位をそろえることに注意してください。単位の分子は処理単位(この場合は「人」)、分母は時間の単位(この場合は「時間」)とします。
λ(到着率=何人やってくる?) (人/時間)
ρ=──────────────────────
μ(サービス率=何人さばける?)(人/時間)
分子には到着の頻度、分母には処理能力を入れます。(窓口利用率は、情報処理技術者試験的には1より小さい値となります。従って単位をそろえたならば、分子に小さい値、分母に大きい値を入れればOKです。)
λ(到着率) 到着の頻度 16(人/時間)
ρ=───────=─────=───────=0.8
μ(サービス率) 処理能力 20(人/時間)
窓口利用率ρを求めたら、並んでいる人数と、平均待ち時間と平均応答時間を求める。
並んでいる人数は、以下の式で求める。
ρ 0.8
並んでいる人数=───=─────=4(人)
(待ち行列長) 1-ρ 1-0.8
平均待ち時間は、ATM装置の行列に並び始めてから、自分の番が来るまでの時間である。したがって、4人のお客さんにそれぞれ3分かかるので、平均待ち時間は以下の式となる。
平均待ち時間=並んでいる人数×処理能力(分)=4(人)×3(分)=12(分)
待ち行列長 サービス時間
このATM装置は、12分は並んで待たねばならないということである。
平均応答時間は、ATM装置の行列に並び始めてから、自分の処理が終了するまでの時間である。したがって、先に求めた平均待ち時間12分に、自分の処理にかかる時間を加えればよい。平均応答時間の式は以下のようになる。
平均応答時間=平均待ち時間(分)+自分の処理に要する時間(分)
=待ち行列長*サービス時間+サービス時間
=12(分)+3(分)=15(分)
この平均応答時間は以下の式でも求めることができます。上記手順で求めるのもいいが、試験では時間との戦いになるので、式を覚えられるのなら覚えてしまえばOKです。
1 1 1
平均応答時間=─────────────=─────=─(時間)=15
μ(人/時間)-λ(人/時間) 20-16 4
|
|