第一学習社『社会と情報』『情報の科学』にある待ち行列の問題を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(待ち時間)
200 をもっと大きくして,待ち時間のヒストグラムを描いてみよう。
サービス時間も乱数にしてみよう。どんな乱数がいいだろうか。
より現実的な到着時刻の間隔は指数分布である(ポアソン過程)。
Last modified: