You are on page 1of 26

EXCEL’DE BENZETİM

ÖRNEKLERİ
BMÜ-422 BENZETİM VE MODELLEME
GİRİŞ
• Bu bö lü mde benzetim için excel ö rnekleri ö nerilmektedir.
• Ö rnekler excel ile yapılabileceğ i gibi el ile de yapılabilir.

• Benzetim ö rnekleri Monte carlo benzetimlerinin yanı sıra dinamik benzetimler de


içerir.
• Bu bö lü mde anlatılan temel kavramlar belirsizliğ i gö stermek için rastgele sayı
kullanımını içerir.
• Kuyruk ve envanter modellerinde sistem performansını gö stermek için tanımlayıcı
istatistikler kullanılır.
• Giriş, çıkış, aktiviteler, durum ve cevaplar ile bir modelin davranışı incelenir.
RASTGELELİĞİN BENZETİMİ
• Bu bö lü mde ele alınan benzetim modelleri bir veya daha çok rastgele değ işken içerir.
• Rastgele bir madeni para atılırken yazı veya tura gelmesi belli bir mekanizma ile
yapılır.
• Bir kuyruk modelinde servis zamanı ve varışlar arası zaman eğ er kesin bilinmiyor ve
tahmin edilemiyorsa istatistiksel dağ ılım ile tanımlanabilir.
• Rastgele bir sayı ü retilmesi 0 ile 1 aralığ ında ü retimi ile yapılabilir.
• Rastgele sayıların ü retimi iki ö nemli ö zelliğ e sahip olmalıdır.
1. Sayılar 0 ile 1 aralığ ında uniform bir dağılımda olmalıdır.
2. Ü retilen ardışık sayılar daha ö nce ü retilen bü tü n sayılardan istatistiki olarak bağ ımsız
olmalıdır.
RASTGELELİĞİN BENZETİMİ
• Excel’de rastgele sayı ü retimi için

=S_SAYI_URET()
fonksiyonu kullanılır.
• Eğ er 0 veya 1 ü retilmek isteniyorsa

=EĞ ER(S_SAYI_Ü RET()<=0,5;0;1)


• Belli bir aralıkta ratgele sayı ü retmek için
=RASTGELEARADA(alt;ust)
Metodu kullanılır.

• Excel de makrolar aracılığ ıyla visual basic komutları da kullanılır.


• VBA’da Rnd fonksiyonu rastgele sayı ü retmek için kullanılır.
ÖRNEKLERDE RASTGELE ÜRETEÇLERİN
KULLANIMI
• Rnd01() 0 ile 1 aralığ ında rastgele sayı ü retir.
• DiscreteUniform(min, max) min ile max arasında rastgele sayı ü retir.
ÖRNEK-1: MADENİ PARA BENZETİMİ
• Madeni paranın 10 kez atıldığ ını dü şü nelim. Adaletli bir para olduğ u dü şü nü lü yor. Yani
yazı ve turanın gelem olasılığ ı eşittir.
• Her birinin oluşma olasılığ ı 0.5’tir.
• Bu ö rnek bir monte Carlo benzetimidir.
• Çü nkü ö rnekte bir zaman veya olay yoktur.
ÖRNEK-1: MADENİ PARA BENZETİMİ
=EĞ ERSAY($I$15:$I$24;"H")

=S_SAYI_Ü RET()

=EĞ ER(C15<=$C$7;"H";"T")
ÖRNEK-2: RASTGELE SERVİS ZAMANLARININ BENZETİMİ
• Bu ö rnekte rastgele servis zamanının benzetimi için bir model ö nerilmektedir.
• Temel prensip belirlenen olasılıklara gö re servis zamanlarını ayarlamaktır.
• Otomatikleştirilmiş bir telefon bilgi servisi her bir çağrıya 3, 6 veya 10 dakika harcamaktadır.

• Her bir servisin çağ rı oranı %30, %45 ve %25’tir. Amacımız bu servis zamanlarını excel’de simule
etmektir.
• Bu ö rnek aynı zamanda monte Carlo benzetimi olarak da bilinir. Çö zü m şö yle olmalıdır.

Olasılıklar 0.3 0.45 0.25

Kü mü latif
Olasılıklar
0 0.3 0.75 1

Servis zamanları 3 6 10
=EĞ ERSAY($C$16:$C$40;3)

ÖRNEK-2: RASTGELE SERVİS ZAMANLARININ BENZETİMİ

=DiscreteEmp($D$7:$D$9;$B$7:$B$9)
ÖRNEK-2: RASTGELE SERVİS ZAMANLARININ BENZETİMİ
• =DiscreteEmp($D$7:$D$9;$B$7:$B$9)

fonksiyonunda $D$7:$D$9 kü mü latif olasılıkları içeren hü crelerin aralığını, $B$7:$B$9 ise servis
zamanları için istenen değ erleri içeren hü crelerin aralığıdır.
• Ayrık sadece listelenen değ erlerin ü retileceğ i anlamına gelir. İki worksheet aralığ ının her biri aynı
uzunluk, aynı hü cre sayısına sahip bir sü tü n vektö rü olacaktır.
• Her adreste her satır ve sü tunun ö nü nde bulunan $ işareti gö reli adresten ziyade mutlak adresi
gö sterir.
• DicreteEmp() bir visual basic fonksiyonu olup worksheet’teki iki adresi destekler. Biri kü mü latif
olasılıklar diğ eri ise arzu edilen değerlerdir.
RASTGELE VARIŞ ZAMANLARININ BENZETİMİ
• Bu bö lü mde amacımız rastgele varışlar arası zamanının( iki ardışık varış zamanı
arasındaki zaman) nasıl ü retileceğ ini ve mü şterilerin varış zamanı ile sisteme girişleri
hesaplamaktır.
• Benzetim saati her dinamik ayrık zaman benzetimi için anahtar bileşendir.

• Bü tü n excel ö rneklerinde saat zamanı benzetim tablosunun en ü stü nde uygun


bir sü tunda verilir.
• Bü tü n durumlarda saat zamanı varış, servis başlaması, kuyrukta beklemenin bitmesi
gibi bir olayın oluşunu gö sterir.
ÖRNEK: RASTGELE VARIŞ ZAMANLARININ BENZETİMİ
• Bir telefon bilgi servisine telefon çağ rıları varışlar arası zamanı 1, 2, 3, 4 dakikaya sahip varışlar arası
zaman ile rastgele zamanlarda oluşur. Her birinin olasılığ ı eşittir.
• Amaç varış zamanları ile varışlar arası zamanı nasıl ü reteceğ imizi belirlemektir.

• Bu ö rnek varış olayı gibi sadece bir olaya sahiptir. Dolayısıyla bu ö rnek aynı zamanda ilk dinamik olay
tabanlı ö rneğimizdir.
• Dinamik basit şekilde zaman tabanlı anlamına gelir. Sistem durumu zaman ü zerinde değişir. Olay
tabanlı ise zaman ü zerinde olay oluşlarının ilerlemesini takip eder.
• Ayrık bir uniform dağ ılım ile zamanlar ü retilir.
• Uniformdan kasıt eşit olasılık değ erlerine sahip olmaktır.
• Bu amaçla ö zel bir VBA fonksiyonu DiscreteUniform() fonksiyonu kullanılır.

• =DicreteUniform($G$55,$G$6)
• Veya =DiscreteUniform(1,4) fonksiyonu kullanılır.
ÖRNEK: RASTGELE VARIŞ ZAMANLARININ BENZETİMİ

• DicreteUniform(low, high) fonksiyonu VBA’da tek bir satırlık kod ile yazılabilir.
• DicreteUniform=low+Int((high-low)+1)*Rnd())

• Bu ö rnek için
• DiscreteUniform=1+Int(4*Rnd())
Komutu kullanılır.
ÖRNEK: RASTGELE VARIŞ ZAMANLARININ BENZETİMİ

• DicreteUniform(low, high) fonksiyonu VBA’da tek bir satırlık kod ile yazılabilir.
• DicreteUniform=low+Int((high-low)+1)*Rnd())

• Bu ö rnek için
• DiscreteUniform=1+Int(4*Rnd())
Komutu kullanılır.
ÖRNEK: RASTGELE VARIŞ ZAMANLARININ BENZETİMİ

=DiscreteUniform($C$6;$C$7)
EXCELDE BENZETİMİN TEMEL ÇATISI
• İlk olarak model geliştiriciler model girişlerini, sistem durumlarını ve model çıkışlarını
belirlemelidir.
• Girişler diğ er sistem karakteristiklerinden bağ ımsız olarak tanımlanan dış
değ işkenlerdir.
• Yazı turada tura olasılığ ı, servis zamanı ve bir kuyruk sistemindeki varışlararası zaman dağ ılımı
giriş ö rnekleridir.
• Bu giriş aktiviteleri rastgele aktivite zamanları ve diğ er değ işkenleri ü retmek için kullanılır.
• Çıkışlar model cevabı olarak bilinen sistem performans ö lçü mlerini hesaplamak için kullanılır.
• Ö rneğ in, bir kuyrukta bir mü şterinin bekleme zamanı çıkış olabilir.

• İlgili cevaplar ise bir kuyruktaki ortalama bekleme zamanı veya bir envanter sisteminde birim
zaman başına ortalama maliyet olabilir.
EXCELDE BENZETİMİN TEMEL ÇATISI
• Her benzetim tablosu eldeki problem için ö zel tasarlanır. Tablodaki her bir sü tun aşağ ıdaki
tiplerden biri olabilir
• Model girişi ile ilgili bir aktivite zamanı
• Model girişi ile tanımlanan rastgele bir değ işken
• Sistem durumu
• Olay veya bir olayın oluş zamanı
• Model çıkışı
• Bazen model cevabı

• Genelde model cevapları sistem performans ö lçü leri olarak da bilinirler ve benzetim
tamamlandıktan sonra benzetim tablosunun dışında hesaplanırlar.
• Ö rneğ in, bir bekleme hattı modelinde her bir bireyin kuyruktaki gecikmesi model çıkışı bü tü n
mü şterilerin ortalama bekleme zamanı ise model cevabıdır.
• Sistem durumuna; server durumu (boş veya meşgul) ö rnek verilebilir.
EXCELDE BENZETİMİN TEMEL ÇATISI
• Model geliştiriciler el ile veya benzetim
aracıyla model geliştirirken aşağ ıdaki Adım Sistem durumları ve aktiviteler Çıkışlar
maddelere dikkat ederler: 1 Xi1 Xi2 Xij Xip Yi
• Benzetime her girişin ö zelliğ ini belirle. 2
• Problem ile ilgili aktiviteleri, olayları ve sistem 3
durumlarını belirle
• Hedeflere veya bu hedefleri karşılayan spesifik 4
sorulara bağlı olarak model cevaplarını ve
performans ö lçü mlerini belirle
• Model cevaplarını elde etmek için çıkışları
belirle n
• Benzetim tablosu oluştur.
• Her i adımı için aktiviteleri, sistem
durumlarını
ve çıkışı belirle
• Benzetim bittiğinde model cevaplarını ve
performans ö lçü mlerini hesaplamak için
çıkışları kullan.
ÖRNEK-1: MADENİ PARA ATMA OYUNU
• Charlize arkadaşları Tom ve Harry için bir madeni parayı 100 kez atıyor. Eğ er tura gelirse Harry
1$ kazanır ve Tom 1$ kaybeder. Yazı gelirse Tom kazanır ve Harry 1$ kazanır.

=EĞ ER(Rnd01()<=$C$7;"H";"T")
=EĞ ERSAY($D$14:$D$113;">0"
=D14+EĞ ER($C15="H";1;(-1)) )
ÖRNEK-2: KUYRUK BENZETİM MODELİ
• Kuyruk modellerini veya bekleme hat modellerini tanımlayacağ ız. Tek servis ve iki servisli kuyruk
modellerini anlatacağ ız.
• Her ikisi de dinamik ve olay tabanlı modellerdir.

Hizmet
Bekleme hattı
Çağ ırma populasyonu
ÖRNEK-2: KUYRUK BENZETİM MODELİ
• Bir kuyruk sistemi çağ ırma popü lasyonu, varışlar, servis mekanizması ve kuyruk disiplini ile
tanımlanır.
• Ö nceki şekilde tek kanallı bir kuyruk sistemi verilmiştir.

• Çağ ırma popü lasyonunun ü yeleri mü şteriler, telefon çağ rıları, tamir dü kkanındaki işler olarak ifade
edilir. Bunlara birim olarak başvuracağız.
• Bu ö rnekte sabit varış oranı ve sınırsız potansiyelli çağ rı popü lasyonu olduğ u varsayılacaktır.
• Sistem kapasitesi bir limite sahip değildir.
• İlk gelen ilk çıkar mantığ ı ile çalışır.
ÖRNEK-2: KUYRUK BENZETİM MODELİ
• Bir ayrılma olduğ unda benzetim aşağ ıdaki akış diyagramı ile ilerletilir.
• Ayrılış olayı sistem durumunu değiştirir. Eğ er kuyrukta bekleyen yoksa sistem durumu boş olur.

• Bekleyen var ise sonraki birim servise alınır. Her iki durumda da sistemdeki birimlerin sayısı bir
azalır.

Ayrılma
olayı

Server boş Başka


Hayır Evet Bekleyen birimi
zamanı bekleyen
kuyruktan sil
başlat var mı?

Servise başla
ÖRNEK-2: KUYRUK BENZETİM MODELİ
• Aşağ ıdaki tabloda tek kanallı bir kuyruk sistemi modellenmiştir. İlk giren ilk çıkar mantığ ı ile çalışır.

• Her olayın oluştuğ u zamanı tutar. Bu benzetim tablosu varışlar arası zamanların varsayılan serisinden
varış zamanlarını hesaplar. 2 4 1 2 6
• B, C ve E sü tunları clock zamanlarını gö sterir. B varış zamanını, E ayrılış zamanını gö sterir ve D’den
kolayca hesaplanabilir.
A B C D E
Mü şteri No Varış zamanı Servis başlama zamanı Servis zamanı Servis bitiş zamanı
1 0 0 2 2
2 2 2 1 3
3 6 6 3 9
4 7 9 2 11
5 9 11 1 12
6 15 15 4 19
ÖRNEK-2: KUYRUK BENZETİM MODELİ
• Yandaki tabloda mü şteri numarasına gö re Olay Tipi Müşteri No Clock time
dü zenlenmiştir. Varış 1 0
Ayrılış 1 2
• Aşağ ıdaki şekilde ise sistemde bulunan mü şteri
sayıları verilmiştir. Varış 2 2
Ayrılış 2 3
Varış 3 6
Varış 4 7
Ayrılış 3 9
Varış 5 9
Ayrılış 4 11
Ayrılış 5 12
Varış 6 15
Ayrılış 6 19
ÖRNEK-2: KUYRUK BENZETİM MODELİ
• Basit bir bakkaliye bir kontrol sayıcısına sahiptir.
• Mü şteriler 1 ile 8 dakika arasında değ işen rastgele bir kontrol sayıcı ile varır.
• Her birinin olasılığ ı eşittir.
• Servis zamanları 1 ile 6 arasında değişir.
• Servis zamanlarının olasılıkları aşağ ıdaki tabloda verilmiştir.

• Amacımız 100 mü şteri ü zerinde varış ve servis zamanlarını simule ederek sistem performansını
ö lçmektir.
ÖRNEK-2: KUYRUK BENZETİM MODELİ

You might also like