始める無料で始める

自動車組立ライン:SimPyで非決定的イベントを追加する

この演習では、SimPyを使った非決定的なプロセスに注目します。

自動車の組立ラインモデルのSimPy版を修正し、同じ決定的イベントをSimPyのメソッドで追加していきます。

溶接と塗装」は平均15時間かかりますが、所要時間は±5時間の幅で変動します。同様に、「部品の組み立てとテスト」は平均24時間ですが、所要時間は±6時間の幅で変動します。

SimPyライブラリはすでにインポートされています。

この演習はコースの一部です

Pythonで学ぶ離散事象シミュレーション

コースを見る

演習の手順

  • 変動性に関する新しい情報を考慮し、random.randint()メソッドを使って「溶接と塗装」プロセスの所要時間を計時してください。
  • 変動性に関する新しい情報を考慮し、random.randint()メソッドを使って「部品の組み立てとテスト」プロセスの所要時間を計時してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

def car_production_line(env):
    car_number = 0
    while True:
        car_number += 1

        # Adding process 1: Clock-in time requirement for Welding and Painting
        yield env.____(random.____(10, 20))
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Welding and Painting")

        # Adding process 2: Return/yield time after completing the process and print the current time
        yield env.____(random.____(18, 30))
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Car ready for shipping!")

env = simpy.Environment()
env.process(car_production_line(env))
env.run(until=SIMULATION_TIME)
コードを編集して実行