待ち行列のシミュレーション

第一学習社『情報の科学』の待ち行列の問題をPythonでやってみよう。

客が来る間隔(分)は1〜6の整数である。どの客も窓口で3分のサービスを受ける。200人の客の平均待ち時間を求めよという問題である。

import numpy as np

rng = np.random.default_rng()

到着時刻 = 0
開始時刻 = 0
終了時刻 = 開始時刻 + 3
待ち時間 = [開始時刻 - 到着時刻]
for 客 in range(1, 200):
    到着時刻 += rng.integers(1, 7)
    開始時刻 = max(到着時刻, 終了時刻)
    終了時刻 = 開始時刻 + 3
    待ち時間.append(開始時刻 - 到着時刻)

np.mean(待ち時間)

サービス時間も乱数にしてみよう。到着時刻を現実的(ポアソン過程)にしてみよう。


Last modified: