前提・実現したいこと
窓口での残りサービス時間を表現する2列の行列を作成し,全要素から1を引く操作を繰り返す.同時に,客の到着間隔を表現する値を一つ発生し,この値から1を引く操作を繰り返す.また,待ち行列長を表す値を一つ用意する.
『①サービス時間について、マイナスになった項を0に置き換え、0の項がある場合はその時点で待ち行列が存在するかを調べる。
②待ち行列が存在する場合は、待ち行列長から1を引き、新たなサービス時間を生成する。
③待ち行列が無くなるか、サービス時間が0である項が無くなるまでこの操作を繰り返す。
④客の到着間隔は0になった時点を客の到着とみなし、待ち行列長に1を加える。』
という問題です。
発生している問題・エラーメッセージ
①マイナスになった項を0に置き換えるという言葉の意味がよくわかりません。 項とは何を指しているのでしょうか。 ②待ち行列がなくなるのは「queue = 0」だと思うのですが、サービス時間が0である項がなくなるまで繰り返すという動作を行うコードが思いつきません。
該当のソースコード
Python
1def q(num): 2 service = np.random.exponential(3.0, 2) 3 arrival = np.random.exponential(2.5) 4 queue = 0 5 len_total = 0 6 7 for i in range(num): 8 service = service - 1 9 arrival = arrival - 1 10 11 if service < 0 and queue > 0: 12 queue = queue - 1 13 service = np.random.exponential(3.0, 2) 14 15 if queue = 0 or service = 0: 16 break 17 18 len_total = len_total + queue 19 if service > 0: len_total = len_total + 1 20 21 print("平均系内客数: " + str(len_total/num))
試したこと
if service < 0:
serice = 0
にしましたが、うまくいっていません。
置き換えについて調べましたが、リストでのreplaceを使う例しか出てきませんでした。
こういったリストではない場合の置き換えとはどういう意味なのか教えていただきたいです。
補足情報(FW/ツールのバージョンなど)
3.6です
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。