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ı/amaçları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 amaçları
Neleri optimize etmek istiyorsunuz?
Bu amaçlar için izlenecek durum değişkenleri
Paylaşılan Kaynaklar
simpy.Resources(env, capacity=4)
Örnekler
Kaplar (Container)
simpy.Container(env, capacity,
init=initial_capacity)
Kaynak, depo/tank gibi davranır
Miktar ekle/çıkar:
.put() ve .get()
Örnekler
Mağaza (Store)
Çoklu öğeli mağaza benzeri kaynak
Kapasite varsayılan olarak sınırsızdır
Rastgele nesneleri depolamak için yuvalar
Öğeleri ekle/çıkar:
.put() ve .get()
Örnekler
SimPy, iki olayı birleştirmek için bit düzeyi (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