待ち行列理論では、Engset の式を使用して、M/M/c/c/N 待ち行列のブロック確率を決定します (ケンドールの表記法)。
この式は開発者であるTO Engsetにちなんで名付けられました。
アプリケーション例
車両群とオペレーターのグループを考えてみます。オペレーターはランダムにシステムに参入し、車両の使用を申請します。利用可能な車両がない場合、申請したオペレーターは「ブロック」されます(つまり、オペレーターは車両を利用せずに退出します)。車両群の所有者は、コストを最小限に抑えるために小規模な車両群を選択したいと考えていますが、ブロックされる可能性が許容範囲内となるように、十分な規模も確保したいと考えています。 


させて
サーバーの(整数)数。
トラフィックのソースの数(整数)
アイドル状態のソース到着率(つまり、空きソースが要求を開始する率)
平均保留時間(つまり、サーバーがリクエストを処理するのにかかる平均時間)であること。
そして、ブロッキングの確率は[ 1 ]で与えられる。

項を並べ替えると、上記の式は[ 2 ]のように書き直すことができる。

ここで、 はガウス超幾何関数です。 
計算
数値的に安定した方法で 計算するために使用できる再帰[ 3 ]がいくつかあります。
あるいは、超幾何関数をサポートする任意の数値計算パッケージを使用することもできます。以下にいくつかの例を示します。
SciPyを使ったPython
scipy.specialからhyp2f1をインポートします。P = 1.0 / hyp2f1 ( 1 , - c , N - c , - 1.0 / ( Lambda * h ))
MATLABとSymbolic Math Toolbox
P = 1 /超幾何([ 1 , - c ], N - c , - 1 / ( Lambda * h ))
不明なソースの到着率
実際には、ソース到着率は不明(または推定困難)である一方、ソースあたりの提供トラフィックは既知であることが多い。この場合、関係式を次のように置き換えることができる。 


ソース到着率とブロッキング確率の関係をEngset式に代入して固定点方程式を得る

どこ

計算
上記の方法により式から未知数は除去されますが、複雑さが増します。つまり、ブロッキング確率を直接計算できなくなり、代わりに反復法を使用する必要があります。固定小数点反復法は魅力的ですが、そのような反復法を に適用すると発散することがあることが示されています。[ 2 ]あるいは、二分法またはニュートン法のいずれかを使用することもできます。これらのオープンソース実装は利用可能です。 

参考文献