Kết hợp quy trình tất định và bất đị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 tất định và bất định

Sơ đồ chuỗi công đoạn của một hệ thống. Bắt đầu với công đoạn tất định, Quy trình A; tiếp theo là công đoạn bất định, Quy trình B; và kết thúc với công đoạn tất định, Quy trình C.

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

  • Bất định: Thời điểm hành khách đến sân bay
  • Tất đị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 tất định

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

Ví dụ: Máy hàn

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

Quy trình bất đị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 thể hiện thời lượng của một lần 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 tất định

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

  • 2 công đoạn tất định
    welding_1 welding_2

  • welding_1

    • Tên công đoạn: Hàn linh kiện A
    • Thời gian xử lý: 5 giờ
  • welding_2

    • Tên công đoạn: Hàn linh kiện B
    • Thời gian xử lý: length * hours_per_length

Tạo dictionary cho từng công đoạn:

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 bất định

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

  • 2 công đoạn bất định manual_assembly_1 manual_assembly_2

  • manual_assembly_1

    • Tên công đoạn: 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 công đoạn: 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 công đoạn:

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ự các công đoạn sản xuất Sơ đồ chuỗi công đoạn của một hoạt động sản xuất theo thời gian: welding_1, manual_assembly_1, manual_assembly_2 và welding_2.

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

# Initiate time-tracking variable
time = numpy.zeros(number_of_processes)

# Next-event time progression 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 thống nhất đơn vị thời gian cho mọi công đoạn.
Mô phỏng Sự kiện Rời rạc bằng Python

Ayo berlatih!

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

Preparing Video For Download...