Mulai sekarangMulai gratis

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.

Table with process names, respective functions, and information about whether the process has been incorporated in the model.

Latihan ini merupakan bagian dari kursus

Simulasi Peristiwa Diskret dengan Python

Lihat Kursus

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)
Edit dan Jalankan Kode