Kesikli olay simülasyonu

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

Kesikli olay simülasyonunda, sistem operasyonu kronolojik olay basamakları olarak tanımlanır. Her olay bir anda gerçekleşir ve sistemde bir durum değişimini gösterir. Örneğin; “6. kat düğmesine basıldı” gibi bir olay, “asansörün hareket etmesi” ve “asansörün 6. katta olması” (asansörün arızalanması durumu göz önüne alınmadıkça) durumlarıyla sonuçlanır.

Kesikli olay simülasyonlarının herhangi bir bekleme hattını modellemede nasıl oluşturulacağını öğrenirken şu alıştırma çok kullanılır: Bankadaki müşterilerin işlerinin veznedarlar tarafından görülmesi. Bu örnekte müşteri kuyruğu ve veznedarlar olmak üzere iki varlık bulunmaktadır. Sistem olayları da müşterinin varışı ve ayrılışıdır (Veznedarın hizmet vermeye başlaması olayı, varış ve ayrılış olayları mantığının bir parçası olabilir). Bu olaylar tarafından değiştirilen sistem durumları kuyruktaki müşteri sayısı (0’dan n’ye tamsayılar) ve veznedarın durumudur (meşgul ya da boşta). Bu sistemi stokastiksel olarak tasarlamak için rastsal değişkenler tanımlanmalıdır. Bu değişkenler müşterinin varışı arası geçen süre ve veznedarın hizmet süresidir.

Kesikli olay simülasyonunu sürdürmek için birçok mekanizma ortaya atılmıştır. Olay tabanlı, etkinlik tabanlı, süreç tabanlı ve üç evreli yaklaşım da bunların arasındadır. Üç evreli yaklaşım birçok ticari simülasyon yazılım paketinde kullanılır, ancak genellikle kullanıcının bakış açısından simülasyon yönteminin altında yatan özellikler gözükmez.

Kesikli Olay Simülasyonunun Bileşenleri[değiştir | kaynağı değiştir]

Sistem durum değişkenlerini ve sistem olayları meydana gelirken ne olup bittiğinin mantığını tanımlamaya ek olarak kesikli olay simülasyonu aşağıdakileri içerir:

Saat: Simülasyon o andaki zamanın izlediği yolu kayıt altında tutmalıdır. Ölçü birimi tasarlanan sistem için hangisi uygunsa o seçilir. Kesikli olay simülasyonlarında -gerçek zamanlı simülasyonların aksine- olaylar anlık olduğundan bir anda birinden diğerine atlanır. Saat, simülasyon ilerledikçe bir sonraki olayın başlangıç zamanına geçer.

Olay listesi: Simülasyon en az bir olay listesi barındırmalıdır. Bir olay; başlangıç zamanına, olayın kendi performansını oluşturan bir tür koda ve –her zaman olmasa da- bir bitiş zamanına sahip olmalıdır. Kimi yaklaşımlarda, o andaki ve gelecekteki olaylar için ayrı listeler vardır. Olay listeleri olay başlangıç zamanına göre sıralanır. Genelde olaylar "bootstrapped"tir. Yani olaylar simülasyon ilerlerken dinamik olarak çizelgelenir. Örneğin; üstteki banka örneğinde, müşterinin varışı olayı t zamanında ve eğer müşteri kuyruğu boş ve veznedar boşta ise, sonraki olay olan müşterinin ayrılışı t+s zamanında gerçekleşecektir. Buradaki s hizmet süresidir.

Rastsal sayı üreteçleri: Simülasyon sistem tasarımına da bağlı olarak çeşitli rastsal değişkenlerin atanmasına gerek duyar. Bu ise bir ya da daha çok sözderastsal sayı üreteci tarafından sağlanır.

İstatistikler: Simülasyon, genel olarak ilgilenilen durumu sayılara döken sistem istatistiklerini tutar. Banka örneğinde ilgilenilen, ortalama hizmet süresidir.

Koşullu sonlandırma: Olaylar "bootstrapped" olduğundan teorik olarak kesikli olay simülasyonu sonsuza dek çalışabilir. Bu yüzden tasarımcısı simülasyonun ne zaman sonlanacağına karar vermelidir. Bu seçenekler “t anında”, “n adet olay işlendikten sonra” ya da “X istatistiksel ölçüsü x değerine ulaştığında” gibi olabilir.

Simülasyon Motorunun Mantığı[değiştir | kaynağı değiştir]

Kesikli olay simülasyonu ana döngüsü aşağıdaki gibi olacaktır:

Başlangıç

  • Sonlandırma koşulunu FALSE olarak tanımla.
  • Sistem durum değişkenlerini tanımla.
  • Saati tanımla (çoğunlukla sıfır değerinde başlar).
  • Başlangıç olayı planla (örn: olay listesine birkaç başlangıç olayı koy).

Do-While döngüsü

Sonlandırma koşulu FALSE iken aşağıdakileri yap:

  • Saati bir sonraki olay zamanına getir.
  • Bir sonraki olayı yap ve olay listesinden çıkar.
  • İstatistikleri güncelle.

Bitiş

  • İstatistik raporunu oluştur.

Dış bağlantılar[değiştir | kaynağı değiştir]

SimPy (Açık kaynaklı genel amaçlı kesikli olay simülasyonu)

Witness (Lanner Witness Simülasyon Yazılımı )

Simulation Frameworks (Simülasyon yazılımları geliştirme platformu listesi )

Kaynakça[değiştir | kaynağı değiştir]

• Stewart Robinson (2004). Simulation – The practise of model development and use. Wiley.

• Michael Pidd (1998). Computer simulation in management science – fourth edition. Wiley.