Back

ⓘ Kesikli olay simülasyonu




Kesikli olay simülasyonu
                                     

ⓘ Kesikli olay simülasyonu

Sistem değiskenlerinin zaman içindeki değisimine göre simülasyonun kesikli ya da sürekli olduğu belirlenir.

Sistem durumunu belirleyen değiskenlerinin değerleri zaman içinde sürekli değisim gösteriyorsa sıvının borudan akması ya da nüfus değisimi gibi simülasyon sürekli olarak tanımlanır.

Sistem durumunu belirleyen değiskenlerin değerleri zamanın belirli noktalarında değisiyorsa kuyruğun uzunluğu ya da müsterilerin bekleme zamanı istatistikleri yeni bir müsterinin varısı ya da ayrılısıyla değisir simülasyon kesikli olarak tanımlanır. Kesikli sistem, durum değiskenlerinin zamanın farklı noktalarında değistiği sistemdir.

Kesikli olay simülasyonu fiziksel bir sistemin matematiksel/mantıksal bir modelini kullanır ve simülasyonu yapılan zamanın belirli noktalarındaki durumsal değisimleri gösterir. Değisikliğin doğası ve olustuğu an doğru tanımlamayı zorunlu kılar. Hizmet bekleyen müsteriler, malzeme envanter yönetimi ve askeri savaslar kesikli olay simülasyonun tipik etki alanlarıdır.

Kesikli olay simülasyonu, bir sistemin çalısmasını zamanla gerçeklesen kesikli olaylar sıralaması olarak modeller. Her bir olay belirli bir anda meydana gelir ve sistem durumunda değisiklik yapar. Ardısık olaylar arasında sistem durumunda bir değisiklik olmayacağı varsayılır ki böylece simülasyon belirli bir zamanda doğrudan bir olaydan takip eden olaya atlayabilir.

Kesikli olay simülasyonu nda, sistem operasyonu kronolojik olay basamakları olarak tanımlanır. Her olay bir anda gerçeklesir ve sistemde bir durum değisimini gösterir.

Kesikli olay simülasyonları her bir zaman dilimini simüle etmek zorunda değildir. Kesikli olay simülasyonunda simülasyonun durumu kesin bir anda meydana gelen olaya göre değisir ve bir sonraki olaya kadar aynı durumda kalır. Postanede bulunan müsterilerin durumu postaneye yeni bir müsteri girdiğinde ya da müsteri isini bitirip ayrıldığında değisir. Bu yönüyle kesikli olay simülasyonu, simülasyon süresinin zaman dilimlerine ayrılarak sistem durumunun her bir zaman diliminde meydana gelen aktivite setlerine göre güncellendiği, simülasyonun sürekli olarak sistem dinamiğini izlediği sürekli simülasyondan farklılık gösterir

Kesikli olay simülasyonunu sürdürmek için birçok mekanizma ortaya atılmıstır. Olay tabanlı, etkinlik tabanlı, süreç tabanlı ve üç evreli yaklasım da bunların arasındadır. Yaklasımlarından biri üç fazlı yaklasım metodudur. Bu yaklasıma göre, birinci faz bir sonraki kronolojik olaya atlamaktır. Ikinci faz, ilgili zamanda meydana gelen kosulsuz tüm olayları yönetmektir bunlar B-olayları olarak adlandırılır. Üçüncü faz ise ilgili zamanda meydana gelen tüm kosullu olayları yönetmektir bunlar C-olayları olarak adlandırılır. Üç fazlı yaklasım, olay tabanlı yaklasımın bilgisayar kaynaklarının daha etkili kullanılabilmesini sağlamak için aynı anda meydana gelen olayların sıralandırıldığı bir ayrıstırmadır. Üç fazlı yaklasım pek çok ticari simülasyon yazılım paketlerinde kullanılmaktadır ancak genellikle kullanıcının bakıs açısından simülasyon yönteminin altında yatan özellikler gözükmez.

                                     

1. Örnek

Kesikli olay simülasyonun nasıl yapılacağını öğreten yaygın bir alıstırma bankada gise hizmeti bekleyen müsteri kuyruğu modellemektir. Bu örnekte sistem öğeleri müsteri kuyruğu ve gise görevlileridir. Sistem olayı müsterinin bankaya varısı ve ayrılısıdır Gise görevlisinin hizmet vermeye baslaması müsterinin varıs-ayrılısının bir parçası olabilir. Olaylarla değisen sistem durumu; kuyrukta bekleyen müsteri sayısı" 0” dan" n”e bir tam sayı ve gise görevlisinin durumudur mesgul ya da müsait. Modeli stokastik olarak karakterize eden değiskenler ise müsteriler arasındaki bankaya varıs zamanları ve gise görevlisinin hizmet süresidir.

                                     

2. Kesikli olay simülasyonunun bilesenleri

Sistem olayı meydana geldiğinde, sistem değiskenlerini ve sistem olayları meydana gelirken ne olup bittiğinin mantığını tanımlamaya ilave olarak kesikli olay simülasyonu asağıdaki bilesenleri içerir:

Sistem Durumu: Çalısılan sistemin dikkat çeken özelliklerini yakalayan değiskenler setidir.

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 baslangıç zamanına geçer.

Olay listesi: Simülasyon en az bir olay listesi sağlamalıdır. Olay listesi bazen yaklasan olay listesi olarak da adlandırılır. Çünkü simüle edilen önceki olayın sonucu olarak yaklasan olayları listeler. Bir olay; baslangıç zamanına, olayın kendi performansını olusturan bir tür koda ve –her zaman olmasa da- bir bitis zamanına sahip olmalıdır. Kimi yaklasımlarda, o andaki ve gelecekteki olaylar için ayrı listeler vardır. Olay listeleri olay baslangıç 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üsterinin varısı olayı t zamanında ve eğer müsteri kuyruğu bos ve veznedar bosta ise, sonraki olay olan müsterinin ayrılısı t+s zamanında gerçeklesecektir. Buradaki s hizmet süresidir.

Anlık olarak olaylar olustuğunda, zaman içinde meydana gelen olaylar olay sıralaması olarak modellenir. Bazı simülasyonlarda her bir olayın baslangıç ve bitisi bir aralık olarak tanımlanabilir.

Yaklasan olay seti tipik bir öncelik sırası olarak organize edilir ve olay zamanına göre ayrılır. Olay setine, olayların eklendiği sıra dikkate alınmaksızın kronolojik sıraya göre çıkarılır. Basta" binary tree” olmak üzere kesikli olay simülasyonu için birkaç genel maksat öncelik sırası algoritmasının etkili olduğu ispatlanmıstır." Skip list”, "calendar queues ve ladder queues" diğer alternatifler olarak öne çıkmaktadır.

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

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

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

                                     

3. Simülasyon motorunun mantığı

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

Baslangıç

  • Baslangıç olayı planla örn: olay listesine birkaç baslangıç olayı koy.
  • Sistem durum değiskenlerini tanımla.
  • Sonlandırma kosulunu FALSE olarak tanımla.
  • Saati tanımla çoğunlukla sıfır değerinde baslar.

Do-While döngüsü

Sonlandırma kosulu FALSE iken asağıdakileri yap:

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

4. Dıs bağlantılar

  • Simulation Frameworks Simülasyon yazılımları gelistirme platformu listesi
  • Witness Lanner Witness Simülasyon Yazılımı
  • SimPy Açık kaynaklı genel amaçlı kesikli olay simülasyonu