自動車組立ライン:決定論的イベントの追加
この演習では、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)