Hazırlayan: Özlem AYDIN SİMÜLASYON ÇEŞİTLERİ Hazırlayan: Özlem AYDIN
SİMÜLASYON ÇEŞİTLERİ Günümüz simülasyonları gerçek sistem davranışlarını zamanın bir fonksiyonu olduğu düşüncesine dayanan Monte Carlo yöntemine dayanır. 1. Sürekli modeller: Davranışları zamanla birlikte devamlı değişim gösteren sistemlerdir. ***dünya nüfusundaki hareketliliğin araştırılması. 2. Kesikli modeller: Zaman içerisinde kesikli veya sayılabilir noktalarda temel değişkenlerinin değerleri değişime uğrayan sistemlerdir. *** bekleme hatlarında ortalama kuyrukta bekleme süresinin hesaplanması.
KESİKLİ SİMÜLASYONUN TEMELLERİ Cinslerine göre olaylar: Tüm kesikli simülasyonlar, doğrudan ya da dolaylı olarak, müşterilerin geldiği durumlarda gerektiğinde oluşabilecek kuyruklar (ya da bekleme hatları) ve ardından da sistemi terk etmeden önce hizmet görme olarak tanımlanırlar. Bir kesikli olay modeli kuyrukların oluşturduğu bir şebeke modelidir. Herhangi bir kesikli simülasyon modelinde geliş ve gidiş olmak üzere iki temel olay söz konusudur. Bu olaylar sistemi incelemek için gereksinim duyulan iki andır. Diğer tüm zamanlarda sistemin istatistiklerini etkileyen bir şey olmaz.
KESİKLİ SİMÜLASYONUN TEMELLERİ Olasılık dağılımlarından gelen olaylar: Simülasyonda rastgelelik, bir t aralığındaki ardarda iki olayın olasılıklı olduğu durumlarda ortaya çıkar. Bir f(t) olasılık dağılımından ardarda t=t1,t2,… rastgelen örneklemelerini üretme yöntemleri şunlardır: 1-Ters dönüşüm yöntemi 2- Konvülasyon yöntemi 3-Kabul-red yöntemi
TERS DÖNÜŞÜM YÖNTEMİ Bir f(x) yoğunluk fonksiyonundan bir rastgele değişken elde edileceğini varsayalım. Ters dönüşüm yöntemi, önce y’nin tanımlanmış tüm değerleri için 0≤F(x)≤1 olmak üzere F(x)=P{y≤x} kümülatif yoğunluk fonksiyonunun kapalı bir formunu belirlemektedir.
TERS DÖNÜŞÜM YÖNTEMİ Bu şekilde yöntem hem sürekli hem de kesikli değişkenler için gösterilmektedir. Verilen bir u yada R1 değerine karşılık gelen x değeri belirlenir. 1.adım: R(0,1) rastgele sayısını üret. 2.adım: İstenen x=F(R1) değerini hesapla.
Üstel dağilim Üstel dağılım fonksiyonu, gelişler arası süresi t, ortalaması 1/λ olan bir fonksiyondur. f(t)=λ.e-λt , t>0 f(t)’den bir t rastgele örneklemesi belirleyelim. Kümülatif yoğunluk fonksiyonu aşağıdaki gibi belirlenir. Burada R=F(t) yazarak t çözüldüğünde bulunur.
KONVOLÜSYON YÖNTEMİ Bu yöntemin temel düşüncesi, istenen örneğin kolay örneklenen diğer rastgele değişkenlerin toplamı olarak ifade edilmesidir. Bu dağılımların en tipik örnekleri Erlang ve Poisson dağılımları olup üstel dağılım örneklerinden elde edilirler.
Erlang dağilimi n sayıda olayın tümüyle ortaya çıkmasına kadar geçen zamanın olasılık dağılımı inceler. m tane Erlang rastgele değişkeni, m tane bağımsız ve özdeş dağılmış rastgele değişkenlerin istatistiksel toplamı olarak ifade edilir. Y, m Erlang rastgele değişkenini göstersin. Bu durumda, Bu değişkenlerin olasılık yoğunluk fonksiyonu şöyle tanımlanır:
Erlang dağilimi i. üstel dağılım: Dolayısıyla, m tane Erlang örneği:
Poisson dağilimi Eğer ardarda meydana gelen olaylar arası dağılım üstel ise, bu durumda birim zaman başına düşen olay sayısının dağılımı da poisson dağılımına uyacaktır.
Normal dağilim Merkezi limit teoremine göre, n yeterince büyük olmak üzere, n adet bağımsız ve özdeş rastgele değişken normal dağılma eğilimindedirler. Bu sonuç ortalaması μ ve standart sapması σ olan bir normal dağılımdan örneklem üretmek için kullanılmaktadır. y rastgele örneklemi, ortalaması ve standart sapması olan bir N() normal dağılımından, x için aşağıdaki formül yardımı ile hesaplanır:
Normal dağilim Uygulamada kolaylık olması açısından n=12 alınarak bu formül haline indirgenir. Bu yöntemin dezavantajı her bir normal örneklem için 12 tane (0,1) rastgele sayı üretmek gerekliliğidir. Bu da verimsiz bir durum olmaktadır. Daha verimli bir yöntem olarak Box-Muller Yöntemi önerilmektedir. Box-Muller yöntemi halen en etkili yöntemdir. Boz ve Muller verilen formülde yerine yazıldığında başka bir örneklem elde edilebileceğini göstermişlerdir. Bu da, R1 ve R2 gibi iki rastgele sayı kullanarak aynı anda iki örneklemin üretebilmesi demektir.
Kabul-red yontemi Bu yöntem karmaşık olasılık yoğunluk fonksiyonlarında kullanılmak üzere tasarlanmıştır. Yöntemin genel düşüncesi, karmaşık pdf f(x)’i daha analitik olarak kullanabilen bir vekil pdf h(x) ile değiştirmektir. h(x)’ten alınan örneklemler daha sonra orijinal pdf f(x)’ten örneklemler belirlemede kullanılmaktadır.
Kesikli simulasyonun isleyisi Tüm kesikli simülasyon modellerinde gelişler ve gidişler olmak üzere iki temel olay vardır. Bu olaylar, sistemin istatistiğinde meydana gelebilecek değişim anlarını tanımlamaktadır.
örnek Bir kuaföre gelen müşterilere ait gelişlerarası süre, ortalaması 10 dk. olan bir üstel dağılıma uymaktadır. Kuaförde sadece bir berber çalışmakta ve biri alabros kesim diğeri normal kesim olmak üzere iki tür traş yapmaktadır. Alabros kesim yaklaşık 10 dk., normal kesim de yaklaşık 15 dk. sürmektedir. Ortalama olarak her dört müşteriden biri alabros traş için gelmekle birlikte süreç rasgele işlemektedir. Aşağıdakileri hesaplayın: 1. Berberin ortalama kullanımı, 2. Bekleyen ortalama müşteri sayısı, 3. Bir müşterinin ortalama kuyrukta bekleme süresi.
Örnek—devam… Simülasyon modelinin mantığı, giriş ve çıkış olayları cinsinden aşağıdaki şekilde ifade edilir: GELİŞ OLAYI Bir sonraki geliş olayının gerçekleşme zamanını üret ve bunu geliş sırasına göre kaydet (=mevcut simülasyon zamanı+gelişlerarası süre). Eğer hizmet veren (berber) boş ise, Hizmeti başlat ve hizmet verenin meşgul olduğunu belirt. Hizmet verenin kullanım istatistiğini güncelleştir. Müşteri için, çıkış olayının gerçekleşme zamanını üret ve bunu çıkış sırasına göre kaydet (=mevcut simülasyon zamanı+hizmet süresi) Eğer hizmet veren (berber) meşgulse, gelen müşteriyi kuyruğa dahil ederek kuyruk istatistiğini güncelleştir.
Örnek—devam… ÇIKIŞ OLAYI Eğer kuyrukta beleyen kimse yok ve hizmet veren de boş ise, bunu belirt ve hizmet verenin kullanım istatistiğini güncelleştir. Eğer kuyruk boş değilse, FCFS (First Come First Served-ilk gelen ilk hizmet görür) kuralına göre kuyruktan bir müşteri seç ve onu hizmet yerine yerleştir. Kuyruk ve hizmet verenin kullanım istatistiklerini güncelleştir. Müşteri için, çıkış olayının gerçekleşme zamanını üret ve bunu çıkış sırasına göre kaydet (=mevcut simülasyon zamanı+hizmet süresi)