Mulai sekarangMulai gratis

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

Lihat Kursus

Instruksi latihan

  • Catat durasi proses "Pengelasan dan pengecatan", dengan mempertimbangkan informasi baru tentang variasi menggunakan metode dari paket random yang menghasilkan bilangan bulat acak.
  • Catat durasi proses "Perakitan komponen dan pengujian", dengan mempertimbangkan informasi baru tentang variasi menggunakan metode dari paket random yang 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)
Edit dan Jalankan Kode