Lini perakitan mobil: menambahkan kejadian deterministik
Latihan ini berfokus pada proses deterministik tanpa menggunakan SimPy. Pada latihan berikutnya, kita akan berfokus pada SimPy.
Sebuah model kejadian-diskrit diminta untuk mensimulasikan lini produksi mobil. Model ini bertujuan membantu meningkatkan produktivitas, mengidentifikasi kemacetan proses (bottleneck), dan mengelola sumber daya. Untuk memulai, Anda terlebih dahulu harus mengidentifikasi kelompok utama proses yang terlibat di lini produksi. Kelompok tersebut adalah (1) pengelasan dan pengecatan serta (2) perakitan dan pengujian. Tentu saja, masing-masing kelompok proses ini mencakup banyak subproses dan tugas, tetapi untuk saat ini, Anda berfokus pada pengodean versi pertama model Anda pada tingkat tinggi.
Sekarang setelah Anda mengidentifikasi kelompok proses yang kritis, saatnya menentukan waktu rata-rata yang dibutuhkan setiap proses untuk diselesaikan. Anda telah melakukan riset dan memperoleh 15 jam untuk pengelasan dan pengecatan serta 24 jam untuk perakitan komponen dan pengujian. Mari kita representasikan proses deterministik ini dalam model kejadian-diskrit tanpa menggunakan SimPy.
Latihan ini merupakan bagian dari kursus
Simulasi Peristiwa Diskret dengan Python
Instruksi latihan
- Catat durasi proses "Welding and Painting".
- Catat durasi proses "Assembly and Testing".
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-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)