Lini Perakitan Mobil: menambahkan kejadian non-deterministik
Latihan ini berfokus pada proses non-deterministik tanpa menggunakan SimPy. Pada latihan berikutnya, kita akan berfokus pada SimPy.
Anda diminta untuk memperhitungkan variasi durasi proses pada model kejadian-diskret sebelumnya untuk lini produksi mobil. Kelompok proses yang telah diidentifikasi sebelumnya adalah (1) "Pengelasan dan pengecatan" dan (2) "Perakitan komponen dan pengujian". Ingat bahwa masing-masing kelompok proses ini mencakup banyak subproses dan tugas, namun untuk saat ini Anda berfokus pada pengodean versi pertama model Anda pada tingkat tinggi.
Sebelumnya, Anda menentukan bahwa pengelasan dan pengecatan memerlukan rata-rata 15 jam untuk selesai, sedangkan perakitan komponen dan pengujian memerlukan rata-rata 24 jam untuk selesai.
Sekarang, Anda melakukan riset dan pemantauan tambahan untuk mempelajari variasi durasi proses-proses tersebut. Anda menyimpulkan bahwa pengelasan dan pengecatan dapat bervariasi hingga lima jam (lebih lama atau lebih cepat), dan durasi perakitan komponen dapat bervariasi hingga enam jam (lebih lama atau lebih cepat).
Perbarui model kejadian-diskret Anda untuk memperhitungkan variasi durasi kejadian-kejadian ini.
Paket random telah dimuat untuk Anda.
Latihan ini merupakan bagian dari kursus
Simulasi Peristiwa Diskret dengan Python
Instruksi latihan
- Catat durasi proses "Pengelasan dan pengecatan", dengan mempertimbangkan informasi baru tentang variasi menggunakan metode dari paket
randomyang menghasilkan bilangan bulat acak. - Catat durasi proses "Perakitan komponen dan pengujian", dengan mempertimbangkan informasi baru tentang variasi menggunakan metode dari paket
randomyang menghasilkan bilangan bulat acak.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
def car_production_line(SIMULATION_TIME):
car_number, time = 0, 0
while time < SIMULATION_TIME:
car_number += 1
# Clock 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 the time requirement for: Assembly of parts 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!")
car_production_line(SIMULATION_TIME)