Location : Home > Languages > Perl > Package
Title : Math::Telephony::ErlangC
Toolbox Logo

名称

 Math::Telephony::ErlangC - アーランC式の計算


概要

use Math::Telephony::ErlangC;

# サービス要求が待つべき確率を評価する。
$wprob = wait_probability($traffic, $servers);

# 待ち時間が固定最大値以下となる確率。
# 平均サービス時間を $mst とする。
$mwprob = maxtime_probability($traffic, $servers, $mst, $maxtime);

# キュー内における平均待ち時間。
# 平均サービス時間を $mst とする。
$awtime = average_wait_time($traffic, $servers, $mst);

説明

 本モジュールはアーランC式(Erlang C)の計算に用いるいくつかの関数を含んでいる。
 アーランCモデルでは M/M/S/inf/inf モデル(ケンダールモデル)におけるサービス窓口の数を決定することもできる。

エクスポート

 デフォルトではなし。以下の関数は ":all" キーワードを通じてのみインポートされる。.

概念

 以下の関数で共通に用いる概念を挙げる。

待ち確率のための関数

$wprob = wait_probability($traffic, $servers);

 全てのサービス窓口がふさがっているために呼が待たねばならない確率を評価する。

$servers = servers_waitprob($traffic, $wait_probability)

 $wait_probability より大きくない待ち確率の $traffic アーランを扱うためのサービス窓口の数を評価する。

$traffic = traffic_waitprob($servers, $wait_probability, $prec);

 所与の値を超えない要求の待ち確率なしで $servers を扱うことのできる最大のトラヒックを評価する。計算は $prec 以下のバリエーションを示す回数だけ実行する。その値はオプションでありデフォルトは $Math::Telephony::ErlangB::default_precision である。

最大待ち時間確率のための関数

$mwprob = maxtime_probability($traffic, $servers, $mst, $maxtime);

 所与のサービス要求が所与の最大時間内に扱うことのできる確率を評価する。

$servers = servers_maxtime($traffic, $maxtime_probability, $mst, $maxtime);

 アーランで与えられた所与の $traffic 及び $maxtime_probability における必要なサービス窓口の数を評価する。すなわち所与の要求が $maxtime 秒を超えない範囲で、平均サービス時間 $mst の下でサービスできる確率を評価する。

$traffic = traffic_maxtime($servers, $maxtime_probability, $mst, $maxtime, $prec);

 所与の要請が $maxtime 内で処理するできる確率が $maxtime_probability という条件の下で $servers 個のサービス窓口で扱うことのできる最大のトラヒックを評価する。パラメータ $mst は1要請を処理するのに必要な平均時間を意味する。
 計算時に精度を $prec で指定することができる。指定しない場合はデフォルト値 $Math::Telephony::ErlangB::precision に設定される。

$mst = service_time_maxtime($traffic, $servers, $maxt_prob, $maxtime);

 他のパラメータを固定した状態で平均サービス時間を評価する。

$mst = service_time2_maxtime($frequency, $servers, $maxt_prob, $maxtime);

 他のパラメータを固定した状態で平均サービス時間を評価する。

my $maxtime = max_time_maxtime($traffic, $servers, $maxt_prob, $mst);

 $maxt_prob の確率で要求された過程における最大時間を評価する。

平均待ち時間のための関数

$awtime = average_wait_time($traffic, $servers, $mst);

 平均待ち時間、すなわち、一般的な要請によりキュー内で過ごす平均時間を評価する。

$servers = servers_waittime($traffic, $average_wait_time, $mst);

 各要請に対し $average_wait_time を超えない範囲のキュー内平均待ち時間の下で所与の $traffic を処理するために必要なサービス窓口の数を評価する。$mst は平均サービス時間とする。

$traffic = traffic_waittime($servers, $average_wait_time, $mst, $prec);

 平均待ち時間は $average_wait_time を超えないとしたときに $servers で処理することのできる最大のトラヒック量を評価する。$mst は平均サービス時間とする。
 計算時に精度を $prec で指定することができる。指定しない場合はデフォルト値 $Math::Telephony::ErlangB::precision に設定される。

$mst = service_time_waittime($traffic, $servers, $awt);

 キュー内における平均待ち時間を $awt として $traffic に対し $servers 個のサービス窓口で対応する際の平均サービス時間を評価する。

$mst = service_time2_waittime($frequency, $servers, $awt);

 キュー内における平均待ち時間を $awt として $frequency で起こる要請に対し $servers 個のサービス窓口で対応する際の平均サービス時間を評価する。

積算関数

servers($param_hash_ref);

 必要なサービス窓口を求める方程式を解く。以下のパラメータを渡すとよい。


参考資料

 アーランC式(Erlang C)についてはググれば多くの情報が入手できるだろう。


著者

 Flavio Poletti, <flavio@polettix.it>


著作権とライセンス

 Copyright (C) 2005 by Flavio Poletti

 本ライブラリはフリーソフトウェアであり、 Perl 本体と同等の条件で修正/再配布することができる。Perl は バージョン 5.8.6 またはユーザの選択でPerl 5 のそれ以降のバージョンで利用可能である。

Toolbox Logo
Updated : 2007/05/07