Python ile Ayrık Olay Benzetimi
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Dinamik sistemi anlayın
Ayrık olay modelinin amacını tanımlayın
Süreçleri belirleyin:
Uygun SimPy kaynaklarını belirleyin (resource, container, store)
Model mimarisini tanımlayın:
Dinamik sistemi anlayın
Modelin hedefleri
Neleri optimize etmek istiyorsunuz?
Bu hedefler için izlenecek durum değişkenleri
Paylaşılan Kaynaklar
simpy.Resource(env, capacity=4)
Örnekler
Kaplar (Container)
simpy.Container(env, capacity,
init=initial_capacity)
Kaynak, depo/tank gibi davranır
Miktar ekleme ve çıkarma:
.put() ve .get()
Örnekler
Mağaza (Store)
simpy.Store(env, capacity=4)
Çoklu öğe tutan mağaza benzeri kaynak
Varsayılan kapasite sınırsızdır
Rastgele nesneler için yuvalar
Öğeleri ekle/çıkar:
.put() ve .get()
Örnekler
SimPy, iki olayı birleştirmek için bit düzeyinde (bitwise) operatörler kullanır
Python’daki operatör türleri
Bit düzeyi operatörler
a & b, a >> b, a ^ bSimPy’de
SimPy için ilgili bit düzeyi operatörler
__and__() veya &__or__() veya |Python ile Ayrık Olay Benzetimi