Sản xuất may mặc: Nhiều công đoạn và tính mô-đun
Bạn được giao tạo một mô hình sự kiện rời rạc để hỗ trợ tối ưu hóa một nhà máy sản xuất may mặc ở thành phố Milan (Ý), được mệnh danh là kinh đô thời trang.
Bạn rất hào hứng và muốn bảo đảm mình xây dựng một mô hình hữu ích, có thể mở rộng, vì bạn biết ngành may mặc phức tạp, liên quan đến nhiều công đoạn và nguồn lực mà bạn vẫn đang làm quen.
Bạn đã nghiên cứu và lập ra danh sách quy trình như trong bảng bên dưới. Bạn cũng cẩn thận tạo một hàm riêng cho từng quy trình để mô hình có tính mô-đun và có thể mở rộng theo cách kiểm soát được.
Giờ đây, sau khi nhận phản hồi từ quản lý, bạn được yêu cầu bổ sung một quy trình mới vào mô hình để tính đến "Spot cleaning and laundry" (làm sạch điểm và giặt), quy trình này cần đặt giữa bước 8 và 9 (xem hàng trong bảng được tô đỏ). Các gói random và simpy đã được import.

Bài tập này là một phần của khóa học
Mô phỏng Sự kiện Rời rạc bằng Python
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)