Deterministik ve nedeterministik 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

Deterministik ve nedeterministik süreçler

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

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

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

Örnek: Bir fabrikadaki montaj hattı

Deterministik süreçler

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

Örnek: Kaynak makinesi

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

Nedeterministik süreçler

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

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

Python ile Ayrık Olay Benzetimi

Deterministik süreçler

Örnek: Kaynaklı montaj hattı

  • 2 deterministik süreç
    welding_1

welding_2

  • welding_1

    • Sürecin adı: Welding component A

    • İşleme süresi: 5 saat

  • welding_2
    • Sürecin adı: Welding component B
    • İş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

Nedeterministik süreçler

Örnek: Montaj hattı

  • 2 nedeterministik süreç manual_assembly_1

manual_assembly_2

  • manual_assembly_1

    • Sürecin adı: Manual Assembly A
    • Ortalama işleme süresi: 80 saat

    • Standart sapma: 5 saat

  • manual_assembly_2
    • Sürecin adı: Manual Assembly 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 kur

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

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

Zaman birimleri ve modeli keşfetme

  • Zaman birimleri
    • Tüm süreçlerde zaman birimlerinin tutarlı olduğundan emin ol.
Python ile Ayrık Olay Benzetimi

Hadi pratik yapalım!

Python ile Ayrık Olay Benzetimi

Preparing Video For Download...