Tối ưu hóa sản xuất: Tìm & Dừng
Hãy sử dụng mô hình nhà máy đồng hồ treo tường đã tạo ở bài trước và áp dụng chiến lược tối ưu hóa "Tìm & Dừng" dựa trên lấy mẫu Monte Carlo để xác định các quy trình cổ chai quan trọng.
Quy trình sản xuất được tóm tắt trong bảng dưới đây, và thông tin đã được lưu trong một danh sách các dictionary tên là processes, mỗi quy trình là một dictionary. Các khóa (key) trong mỗi dictionary tương ứng với tiêu đề cột của bảng.

Phương thức plot_results() dùng để tạo biểu đồ trong bài này đã được nạp sẵn và hiển thị bên dưới.
def plot_results():
df_disc = pd.DataFrame({cNam[0]: process_line_space, cNam[1]: time_record})
fig = sns.lineplot(data=df_disc, x=cNam[0], y=cNam[1], marker='o')
plt.grid()
fig.set(xlim=(0, len(processes)))
fig.set(ylim=(0, 180))
fig.set(xticks=process_line_space)
plt.plot()
Vòng lặp lấy mẫu Monte Carlo sẽ tạo ra một loạt quỹ đạo quy trình có thể xảy ra và dừng lại khi điều kiện mong muốn được thỏa mãn, như trong hình minh họa.

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
Hướng dẫn bài tập
- Thiết lập một vòng lặp để chạy các quỹ đạo mô phỏng khi
run_ibằng 0 hoặctotal_duration[run_i]lớn hơn 85 giờ (tức là điều kiện dừng:total_duration[run_i]nhỏ hơn hoặc bằng 85 giờ). - Chạy bộ máy Monte Carlo được đóng gói trong hàm
run_monte_carlo().
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.
def run_monte_carlo():
run_i = 0
# While-loop with the stop condition
____
run_i += 1
env = simpy.Environment()
env.process(manufractoring_process(env))
env.run()
plot_results()
plt.show()
# Call the run_monte_carlo function
____