Belirleyici ve belirsiz süreçleri birleştirme

Python ile Ayrık Olay Benzetimi

Diogo Costa (PhD, MSc)

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

Belirleyici ve belirsiz süreçler

Belirli bir sistemin süreç sırasını gösteren diyagram. Belirleyici bir süreç olan Süreç A ile başlar, ardından belirsiz bir süreç olan Süreç B gelir ve yine belirleyici bir süreç olan Süreç C ile biter.

Örnek: Havalimanlarında yolcu akışı yönetimi

  • Belirsiz: Yolcunun havalimanına varış zamanı
  • Belirleyici: Check-in sonrası bagajın havalimanı içi taşınması
Python ile Ayrık Olay Benzetimi

Örnek: Bir fabrikada montaj hattı

Belirleyici süreçler

  • Hammaddeyi fabrikaya taşıma
  • Tam otomatik adımlar
  • Kalite kontrolleri
  • Paketleme
  • Yeni ürünü müşterilere taşıma

Örnek: Kaynak makinesi

İşleme süresi = Kaynak hattı uzunluğu x Kaynak makinesi hızı

Belirsiz süreçler

  • Hammadde siparişi
  • Karmaşık parçaların manuel montajı

Belirli bir manuel montajın tekrarlı uygulamalarındaki sürelerini gösteren saçılım grafiği.

Python ile Ayrık Olay Benzetimi

Belirleyici süreçler

Örnek: Kaynaklı montaj hattı

  • 2 belirleyici süreç
    welding_1 welding_2

  • welding_1

    • Süreç adı: Bileşen A'nın kaynağı
    • İşleme süresi: 5 saat
  • welding_2

    • Süreç adı: Bileşen B'nin kaynağı
    • İşleme süresi: length * hours_per_length

Her 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
}
Python ile Ayrık Olay Benzetimi

Belirsiz süreçler

Örnek: Montaj hattı

  • 2 belirsiz süreç manual_assembly_1 manual_assembly_2

  • manual_assembly_1

    • Süreç adı: Manuel Montaj A
    • Ortalama işleme süresi: 80 saat
    • Standart sapma: 5 saat
  • manual_assembly_2

    • Süreç adı: Manuel Montaj B"
    • Ortalama işleme süresi: 20 saat
  • Standart sapma: 2 saat

Her 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}
Python ile Ayrık Olay Benzetimi

Olay tabanlı bir benzetim oluşturma

Üretim süreç sırası Bir üretim faaliyetinin süreç sırasını gösteren diyagram; kronolojik olarak şunları içerir: welding_1, manual_assembly_1, manual_assembly_2 ve welding_2.

Ayrık olay modeli

# 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]
Python ile Ayrık Olay Benzetimi

Zaman birimleri ve modeli inceleme

  • Zaman birimleri
    • Tüm süreçlerde zaman birimlerini tutarlı yapın.
Python ile Ayrık Olay Benzetimi

Hadi pratik yapalım!

Python ile Ayrık Olay Benzetimi

Preparing Video For Download...