Kết hợp quy trình xác định và không xác định

Mô phỏng Sự kiện Rời rạc bằng Python

Diogo Costa (PhD, MSc)

Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

Quy trình xác định và không xác định

Sơ đồ cho thấy trình tự các quy trình của một hệ thống. Bắt đầu bằng quy trình xác định, Quy trình A, tiếp theo là quy trình không xác định, Quy trình B, và kết thúc bằng một quy trình xác định khác, Quy trình C.

Ví dụ: Quản lý luồng hành khách tại sân bay

  • Không xác định: Thời điểm hành khách đến sân bay
  • Xác định: Vận chuyển hành lý trong sân bay sau khi làm thủ tục
Mô phỏng Sự kiện Rời rạc bằng Python

Ví dụ: Dây chuyền lắp ráp trong nhà máy

Quy trình xác định

  • Vận chuyển nguyên liệu đến nhà máy
  • Các bước tự động hoàn toàn
  • Kiểm tra chất lượng
  • Đóng gói
  • Vận chuyển sản phẩm mới đến khách hàng

Ví dụ: Máy hàn

Thời gian xử lý = Chiều dài đường hàn x Tốc độ máy hàn

Quy trình không xác định

  • Đặt hàng nguyên liệu
  • Lắp ráp thủ công các bộ phận phức tạp

Biểu đồ phân tán cho thấy thời lượng của một thao tác lắp ráp thủ công khi lặp lại nhiều lần.

Mô phỏng Sự kiện Rời rạc bằng Python

Quy trình xác định

Ví dụ: Dây chuyền lắp ráp với hàn

  • 2 quy trình xác định
    welding_1

welding_2

  • welding_1

    • Tên quy trình: Hàn linh kiện A

    • Thời gian xử lý: 5 giờ

  • welding_2
    • Tên quy trình: Hàn linh kiện B
    • Thời gian xử lý: length * hours_per_length

Tạo dictionary cho từng quy trình:

welding_1 = {
    "name": "Welding component A",
    "time_hours": 5
}

length = 20   # meters
hours_per_length = 0.2  # hours 

welding_2 = {
    "name": "Welding component B",
    "time_hours": length * hours_per_length
}
Mô phỏng Sự kiện Rời rạc bằng Python

Quy trình không xác định

Ví dụ: Dây chuyền lắp ráp

  • 2 quy trình không xác định manual_assembly_1

manual_assembly_2

  • manual_assembly_1

    • Tên quy trình: Lắp ráp thủ công A
    • Thời gian xử lý trung bình: 80 giờ

    • Độ lệch chuẩn: 5 giờ

  • manual_assembly_2
    • Tên quy trình: Lắp ráp thủ công B"
    • Thời gian xử lý trung bình: 20 giờ
  • Độ lệch chuẩn: 2 giờ

Tạo dictionary cho từng quy trình:

manual_assembly_1 = {
    "name": "Manual Assembly A",
    "time_hours": 80,
    "std_hours": 5
}
manual_assembly_2 = {
    "name": "Manual Assembly B",
    "time_hours": 20,
    "std_hours": 2}
Mô phỏng Sự kiện Rời rạc bằng Python

Xây dựng mô phỏng dựa trên sự kiện

Trình tự sản xuất Sơ đồ cho thấy trình tự các quy trình của một hoạt động sản xuất, theo thứ tự thời gian: welding_1, manual_assembly_1, manual_assembly_2 và welding_2.

Mô hình sự kiện rời rạc

# Khởi tạo biến theo dõi thời gian
time = numpy.zeros(number_of_processes)

# Tiến trình theo thời điểm sự kiện kế tiếp time[0] = 0 time[1] = time[0] + welding_1["time_hours"] time[2] = time[1] + rd.gauss(manual_assembly_1["time_hours"], manual_assembly_1["std_hours"]) time[3] = time[2] + rd.gauss(manual_assembly_2["time_hours"], manual_assembly_2["std_hours"]) time[4] = time[3] + welding_2["time_hours"] time[5] = time[4]
Mô phỏng Sự kiện Rời rạc bằng Python

Đơn vị thời gian và khám phá mô hình

  • Đơn vị thời gian
    • Đảm bảo đơn vị thời gian nhất quán cho mọi quy trình.
Mô phỏng Sự kiện Rời rạc bằng Python

Cùng luyện tập nào!

Mô phỏng Sự kiện Rời rạc bằng Python

Preparing Video For Download...