simülasyon - Ozlem Aydin | Trakya

Download Report

Transcript simülasyon - Ozlem Aydin | Trakya

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,
y  y1  y 2  ...  ym

Bu değişkenlerin olasılık yoğunluk fonksiyonu şöyle tanımlanır:
f ( yi )   e yi
ERLANG DAĞILIMI

i. üstel dağılım:
1
i     In ( Ri )

y
Dolayısıyla, m tane Erlang örneği:
1
i    { In ( R1)  In ( R 2 )  ...  In ( Rm )}

y
1
    In ( R1. R 2... Rm )

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.
R1R 2...Rn  e t  R1R 2...Rn  1, n 0
1  et  R1, n  0
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.
x  R1  R 2  .... Rn

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:


 x n 
2
y   
 n 


 12 
NORMAL DAĞILIM



Uygulamada kolaylık olması açısından n=12 alınarak bu
formül y     ( x  6) 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.
x   2In(R1) cos(2  R2)

Box-Muller yöntemi halen en etkili yöntemdir. Boz ve Muller
verilen formülde cos(2  R2) yerine sin(2  R2) 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ş
cinsinden aşağıdaki şekilde ifade edilir:
ve
çıkış
olayları
GELİŞ OLAYI
1.
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).
2.
Eğer hizmet veren (berber) boş ise,
1.
2.
3.
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
1.
Eğer kuyrukta beleyen kimse yok ve hizmet veren de boş
ise, bunu belirt ve hizmet verenin kullanım istatistiğini
güncelleştir.
2.
Eğer kuyruk boş değilse,
1.
2.
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)