Lini Perakitan Mobil: menambahkan kejadian non-deterministik dengan SimPy
Latihan ini berfokus pada proses non-deterministik menggunakan SimPy.
Anda akan memodifikasi versi SimPy dari model lini perakitan mobil Anda, dengan menambahkan kejadian deterministik yang sama menggunakan metode SimPy.
Ingat bahwa "Pengelasan dan pengecatan" memerlukan rata-rata 15 jam untuk selesai, tetapi durasinya bervariasi lima jam (lebih cepat atau lebih lambat). Sementara itu, "Perakitan komponen dan pengujian" memerlukan rata-rata 24 jam untuk selesai, tetapi durasinya bervariasi enam jam (lebih cepat atau lebih lambat)
Pustaka SimPy telah diimpor untuk Anda.
Latihan ini merupakan bagian dari kursus
Simulasi Peristiwa Diskret dengan Python
Instruksi latihan
- Catat durasi proses "Welding and painting" dengan mempertimbangkan informasi baru tentang variabilitasnya menggunakan metode
random.randint(). - Catat durasi proses "Assembly of parts and testing_" dengan mempertimbangkan informasi baru tentang variabilitasnya menggunakan metode
random.randint().
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)