Produksi Garmen: Multi-proses dan modularitas
Anda diminta membuat model kejadian-diskret untuk membantu mengoptimalkan pabrik produksi garmen yang berlokasi di kota Milan, Italia, yang dikenal sebagai ibu kota mode.
Anda sangat antusias dan ingin memastikan membangun model yang bermanfaat dan dapat diskalakan karena Anda tahu industri garmen itu kompleks dan melibatkan banyak proses serta sumber daya, yang masih Anda pelajari.
Anda telah melakukan riset dan menyusun daftar proses seperti pada tabel di bawah. Anda teliti dan membuat fungsi terpisah untuk setiap proses agar model Anda bersifat modular dan dapat berkembang secara terkendali.
Kini, Anda menerima umpan balik dari manajer untuk menyertakan proses baru dalam model guna mengakomodasi "Spot cleaning and laundry", yang harus ditempatkan di antara langkah 8 dan 9 (lihat baris tabel yang disorot merah). Paket random dan simpy sudah diimpor.

Latihan ini merupakan bagian dari kursus
Simulasi Peristiwa Diskret dengan Python
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Create a function for the new process
def ____(gen_type=None, gauss_mean=None, gauss_std=None, unif_start=None, unif_end=None):
if gen_type == "gauss":
duration = random.gauss(gauss_mean, gauss_std)
elif gen_type == "uniform":
duration = random.uniform(unif_start, unif_end)
return duration
def all_processes(env, prod_line):
with prod_line.request() as request:
yield request
t1 = fabric_relaxing(gen_type="gauss", gauss_mean=2*60, gauss_std=15)
t2 = spread_form_layout(gen_type="gauss", gauss_mean=6, gauss_std=1)
t3 = laying_paper_pattern(gen_type="uniform", unif_start=3, unif_end=0.5)
t4 = marking(gen_type="gauss", gauss_mean=6, gauss_std=1)
t5 = cutting(gen_type="gauss", gauss_mean=5, gauss_std=0.5)
t6 = embroidery_screen_and_printing(gen_type="uniform", unif_start=10, unif_end=2)
t7 = sewing(gen_type="gauss", gauss_mean=15, gauss_std=3)
t8 = checking(gen_type="gauss", gauss_mean=2, gauss_std=0.5)
# Add the new process
tnew = ____
# Account for the new process duration in the entire process duration
total_duration = sum([t1, t2, t3, t4, t5, t6, t7, t8, ____, t9, t10])
yield env.timeout(total_duration)