1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Mô phỏng Sự kiện Rời rạc bằng Python

Connected

Bài tập

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.

Table with process names and their duration statistics, namely mean and standard deviation.

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. Monte Carlo trajectories for different process scenario.

Hướng dẫn

100 XP
  • Thiết lập một vòng lặp để chạy các quỹ đạo mô phỏng khi run_i bằng 0 hoặc total_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().