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

Ví dụ: Quản lý luồng hành khách tại sân bay
Quy trình xác định
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

Ví dụ: Dây chuyền lắp ráp với hàn
welding_1welding_2
welding_1
Tên quy trình: Hàn linh kiện A
Thời gian xử lý: 5 giờ
welding_2length * hours_per_lengthTạ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
}
Ví dụ: Dây chuyền lắp ráp
manual_assembly_1manual_assembly_2
manual_assembly_1
Thời gian xử lý trung bình: 80 giờ
Độ lệch chuẩn: 5 giờ
manual_assembly_220 giờ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}
Trình tự sản xuất

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