Python ile Ayrık Olay Benzetimi
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

Örnek: Havalimanlarında yolcu akışının yönetimi
Deterministik süreçler
Örnek: Kaynak makinesi
İşleme süresi = Kaynak hattı uzunluğu x Kaynak makinesi hızı
Nedeterministik süreçler

Örnek: Kaynaklı montaj hattı
welding_1welding_2
welding_1
Sürecin adı: Welding component A
İşleme süresi: 5 saat
welding_2length * hours_per_lengthHer süreç için bir dictionary oluşturma:
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
}
Örnek: Montaj hattı
manual_assembly_1manual_assembly_2
manual_assembly_1
Ortalama işleme süresi: 80 saat
Standart sapma: 5 saat
manual_assembly_220 saat2 saatHer süreç için bir dictionary oluşturma:
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}
Üretim süreç sırası

Ayrık olay modeli
# Zaman takibi değişkenini başlat zaman = numpy.zeros(number_of_processes)# Sonraki-olay zaman ilerlemesi zaman[0] = 0 zaman[1] = zaman[0] + welding_1["time_hours"] zaman[2] = zaman[1] + rd.gauss(manual_assembly_1["time_hours"], manual_assembly_1["std_hours"]) zaman[3] = zaman[2] + rd.gauss(manual_assembly_2["time_hours"], manual_assembly_2["std_hours"]) zaman[4] = zaman[3] + welding_2["time_hours"] zaman[5] = zaman[4]
Python ile Ayrık Olay Benzetimi