始める無料で始める

自動車組立ライン:決定論的イベントの追加

この演習では、SimPy を使わずに決定論的なプロセスに焦点を当てます。次の演習で SimPy を扱います。

自動車の生産ラインをシミュレーションする離散事象モデルが求められています。このモデルは、生産性の向上、ボトルネックの特定、資源の管理に役立てることを目的としています。まずは、生産ラインに関わる主なプロセス群を特定しました。(1) 溶接と塗装、(2) 組立と検査です。もちろん、それぞれのグループには多くのサブプロセスや作業が含まれますが、まずはモデルの最初のバージョンを高い抽象度でコーディングすることに集中します。

重要なプロセス群を特定できたので、各プロセスの平均所要時間を見積もります。調査の結果、溶接と塗装は15時間、部品の組立と検査は24時間とかかることがわかりました。これらの決定論的プロセスを、SimPy を使わずに離散事象モデルで表現してみましょう。

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

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

コースを見る

演習の手順

  • "Welding and Painting" プロセスの所要時間を記録してください。
  • "Assembly and Testing" プロセスの所要時間を記録してください。

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

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

def car_production_line(SIMULATION_TIME):
    car_number, time  = 0, 0
    while time < SIMULATION_TIME:

        car_number += 1

        # Clock-in the time requirement for: Welding and Painting
        time += ____
        if time >= SIMULATION_TIME: break
        print(f"Time = {time:7.4f} | Car {car_number:02d} | Welding and Painting")

        # Clock-in the time requirement for: Assembly and testing
        time += ____
        if time >= SIMULATION_TIME: break
        print(f"Time = {time:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
        print(f"Time = {time:7.4f} | Car {car_number:02d} | Car ready for shipping!")

SIMULATION_TIME = 1000
car_production_line(SIMULATION_TIME)
コードを編集して実行