You are on page 1of 37

GENEL PRENSİPLER

 Bu bölümde, karmaşık sistemlerin modellenmesi için


temel prensipler açıklanmıştır.
 Kesikli olay benzetimi yapan paket programlar
temelde bu genel prensipler üzerine kurulmuştur.
 Kesikli-olay benzetiminde bir sistem;
 Kesikli anlardaki sistem durumu,
 Sistemden geçen öğeler,
 Sistem kaynaklarını temsil eden varlıklar ve
 Sistem durumunda değişikliğe neden olan faaliyet ve olaylar ile
modellenebilir.

1
KAVRAMLAR
 Liste : Geçici veya kalıcı olarak mantıksal bir
düzende sıralanmış öğeler kümesi.
 Gelecek olaylar listesi (GOL)(Future Event List) :
Gelecekteki oluşma zamanlarına göre
sıralanmış olaylar listesi.

 Faaliyet (Activity) : Başladığında ne kadar


süreceği modelleyici tarafından hesaplanabilen
zaman aralığı (servis süresi, gelişler arası
süre).
Deterministik, stokastik veya sistem
değişkenlerine bağlı bir fonksiyon olabilir.
Koşulsuz bekleme olarak da adlandırılır.
Faaliyetlerin bitişi (temel) olay olarak
adlandırılır ve GOL’ne eklenirler.
2
KAVRAMLAR
 Gecikme (Delay) : Bittiği ana kadar
bitiş anı hesaplanamayan zaman
aralığı
Koşullu bekleme olarak da adlandırılır.
Gecikmelerin bitimi koşullu/tali olay
olarak adlandırılır. Bunlar gelecek
olaylar listesinde yer almaz.

 Saat (Clock): Benzetim zamanını


temsil eden yapay saat.

 Farklı benzetim yazılımları benzer


kavramlar için farklı terminoloji
kullanabilir. (liste, küme, zincir,
kuyruk,...)
3
Model elemanlarının tanımı modelin statik
durumunu ortaya koyar.
Ayrıca elemanlar arasındaki dinamik ilişki ve
etkileşimlerin de belirlenmesi gerekir;
 Her bir olayın sistem durumuna, varlık özelliklerine ve
liste içeriklerine etkisi nedir?
 Faaliyetler nasıl tanımlanmıştır (deterministik,
stokastik, fonksiyonel)?
 Her faaliyetin başlangıcını oluşturan olay nedir?
 Faaliyetler sistem durumundan bağımsız olarak
başlayabilir mi?
 Gecikmelerin başlangıcını ve bitişini belirleyen olaylar
nelerdir?
4
 Kesikli-olay benzetiminde sistem durumu belirli anlarda
değişir.

 Bu nedenle benzetim sistemin belirli anlardaki temsilleri


(görüntüsü) ile koşturulur.

 Sistemin t anındaki (CLOCK=t) görüntüsü sadece t


anındaki sistem durumunu değil, süreci devam eden tüm
faaliyetlerin listesini ve ne zaman sona ereceklerini, tüm
öğelerin durumlarını, kümelerin üyeliklerini, birikimli
istatistiklerin değerlerini ve sayaç değerlerini verir.
5
 Sistemin anlık görüntüsü tablolar ile gösterilir.

Birikimli
Sistem Öğeler ve Küme Küme Gelecek olaylar listesi
Saat ... istatistikler ve
durumu Özellikleri 1 2 (GOL) sayaçlar

(3,t1) – tt anında 3
tipinde olay
gerçekleşmesi
t (x,y,z,...)
(1,t2) – t2 anında 1
tipinde olay
gerçekleşmesi

6
OLAY ÇİZELGELEME (EVENT SCHEDULING)
 Benzetim zamanını ileriye götürürken tüm olayların
kronolojik sıralarında oluşmasını sağlamak için
gelecek olaylar listesi (GOL) temel unsurdur.
 Bu liste gelecekte oluşacak tüm olaylar için not tutar
(olay notu).
 Bir olayın çizelgelenmesi; bir faaliyetin başladığı anda
(faaliyet süresi belirlidir veya istatistiksel bir dağılım
ile belirlenir) faaliyet sonu olayının ve zamanının
GOL’ne eklenmesidir.
 Gerçek dünyada gelecek olaylar çizelgelenmez, rasgele
meydana gelirler (makine arızası, müşteri gelişi).
Modelde ise bu tip rassal olaylar bir faaliyetin bitişi
olarak ele alınır ve faaliyet sürelerinin istatistiksel
dağılımları ile olayların oluş zamanları hesaplanır.
(çalışma süresi, gelişler arası süre)
7
OLAY ÇİZELGELEME
 Herhangi bir t anında GOL daha önce çizelgelenmiş
tüm olayları ve oluş zamanlarını listeler.
 t 1 anında gerçekleşek olan olay sıradaki olay
(imminent event) olarak adlandırılır, gelecek
olaylardan en yakın zamanda gerçekleşek olan
olaydır.
 t anındaki olay gerçekleştirildikten sonra sistemin t 1
andaki görüntüsüne geçilir. Yeni görüntü tablosu
üzerinde gerekli değişiklikler yapılır. Bu süreç
benzetim sonuna kadar devam eder.
 Zamanı ilerletmek ve olayları çizelgelemek için
izlenen süreç olay çizelgeleme (event scheduling)
veya zaman ilerletme (time advance) algoritması
olarak adlandırılır.

8
OLAY ÇİZELGELEME / ZAMAN İLERLETME
ALGORİTMASI
Adım 1. Sıradaki olay notunu GOL’den kaldır
Adım 2. Zamanı sıradaki olay anına ilerlet
Sıradaki olayı gerçekleştir: sistem durumunu güncelle,
öğelerin özelliklerini güncelle
Adım 3. Gelecek olayları oluştur (eğer varsa) ve GOL’ne
ekle
Adım 4. Birikimli istatistikleri ve sayaçları güncelle

9
sistemin farklı noktalarında
bulunan müşteri sayılarını
gösterebilir
t anındaki sistem görüntüsü
Gelecek olaylar
Sistem Varlıklar ve Küme Küme listesi Birikimli istatistikler
Saat ...
durumu Özellikleri 1 2 ve sayaçlar
(GOL)

(3,t1)
t (5,1,6,...) (1,t2)
(1,t3)

t1 anındaki sistem görüntüsü


Gelecek olaylar
Sistem Varlıklar ve Küme Küme listesi Birikimli istatistikler
Saat ...
durumu Özellikleri 1 2 ve sayaçlar
(GOL)

(1,t2)
(4,t*)
t1 (5,1,5,...) (1,t3)
.
. 10
 Sistemin 0 anındaki görüntüsü başlangıç koşulları
olarak tanımlanır.
 Örnek olarak kuyruk sistemlerinde sıfır anında ilk
geliş olayı oluşturulur ve olay notu GOL’ne eklenir.
 Gelişler arası süre bir faaliyettir. Saat ilk geliş
zamanına ulaştığı anda ikinci geliş oluşturulur.
 Önce gelişler arası süre a * belirlenir; t+a * =t * ile
yeni geliş olayı zamanı ve notu GOL’e eklenir.
 Gelişler arası sürenin bitimi temel bir olaydır ve
GOL’de yer alır.

11
 Kuyruk sistemlerinde gelecek olay oluşturmanın diğer bir
örneği de servisin tamamlanmasıdır.
 t anında bir müşterinin servisi tamamlanmışsa ve
bekleyen bir müşteri var ise onun için de servis süresi (s*)
hesaplanır. Yeni servis tamamlanma zamanı t+s*=t*
olarak hesaplanır ve GOL’ne eklenir.
 Ayrıca bir müşteri sisteme geldiğinde eğer boş bekleyen
bir servis varsa yine servis tamamlanma zamanı
hesaplanır ve GOL’e eklenir.
 Servis süresi bir faaliyettir.
 Servis başlangıcı koşullu bir olaydır çünkü hem o an
servisin boş olmasını hem de servis bekleyen müşteri
olmasını gerektirir, GOL’de yer almaz.
 Dikkat edilirse koşullu bir olay olan servis başlangıcı
temel bir olay olan servis bitimi ve bazı koşullar ile
tetiklenmektedir.
 Servis tamamlanması temel bir olaydır ve GOL’de yer alır.
12
 Her benzetim için bir sona erdirme olayı (E) tanımlanır. Bu
tanım genel olarak iki şekilde olabilir;
 0 anında benzetimin sona erdirileceği son zaman (T E ) belirlenir.
 Benzetim tarafından belirlenir.
 Örneğin, belirli bir olayın 1000 defa olması, bütün sistemin arızalı duruma
geçmesi, dağıtım merkezinin son ürünü de alıcıya ulaştırması vb.

13
OLAY ÇİZELGELEME İLE ELLE BENZETİM

Örnek
 Küçük bir market sadece bir kasiyer ile hizmet
vermektedir.
 Müşterilerin kasaya geliş zaman aralıkları 1 ile 8
dakika arasındaki tamsayılı değerlerde ve her değer
için eşit olasılıkla olmaktadır.
 Kasiyerin servis süresi ise 1 ile 6 dakika arasındaki
tamsayılı değerlerde ve her değer için farklı
olasılıktadır.
 60 dakikalık bir benzetim yapınız.

14
MÜŞTERİLERİN KASAYA GELİŞLERİ
ARASINDAKİ SÜRE DAĞILIMI

Gelişler arası süre Kümülatif Rassal sayı


Olasılık
(dakika) olasılık aralığı
1 0.125 0.125 001-125
2 0.125 0.250 126-250
3 0.125 0.375 251-375
4 0.125 0.500 376-500
5 0.125 0.625 501-625
6 0.125 0.750 626-750
7 0.125 0.875 751-875
8 0.125 0.1000 876-000

15
SERVİS SÜRESİ DAĞILIMI

Servis süresi Kümülatif Rassal sayı


Olasılık
(dakika) olasılık aralığı

1 0.10 0.10 01-10


2 0.20 0.30 11-30
3 0.30 0.60 31-60
4 0.25 0.85 61-85
5 0.10 0.95 86-95
6 0.05 1.00 96-00

16
Sistem durumu :
L Q (t): t anında kuyrukta bekleyen müşteri sayısı,
L S (t): t anında servis alan müşteri sayısı (0,1),
Öğeler: Müşteriler,
Olaylar: Geliş (A), Ayrılış (D), Sona erdirme (E)
Faaliyetler: Gelişler arası süre, servis süresi
Gecikme: Müşterinin kuyrukta geçirdiği süre

17
GELİŞ OLAYININ GERÇEKLEŞTİRİLMESİ
(OLAY DİYAGRAMI)

CLOCK=t anında Geliş olayı

H E
LS(t)=1?
LS(t)=1 LQ(t)’yi 1 arttır

s* servis süresini
a* gelişlerarası süresini
Oluştur, t+s* anına ayrılış
oluştur, t+a* anına geliş
olayı çizelgele
olayı çizelgele

İstatatistikleri topla

Benzetime devam
Etmek için durma kriterini kontrol et 18
AYRILIŞ OLAYININ GERÇEKLEŞTİRİLMESİ
(OLAY DİYAGRAMI)

CLOCK=t anında Ayrılış olayı

H E
LQ(t)>0?
LS(t)=0 LQ(t)’yi 1 azalt

s* servis süresini
Oluştur, t+s* anına ayrılış
olayı çizelgele

İstatatistikleri topla

Benzetime devam
etmek için durma kriterini kontrol et
19
Gelişler arası Servis  Gelişlerarası süreler ve servis
süreler süreleri
süreleri rassal sayı aralıkları ile
1 4
tablodaki gibi belirlenmiştir.
1 2
6 5  Başlangıç koşulu : 0 anında
3 4 sisteme bir müşteri giriş yapmış ve
7 1 servis almaya başlamıştır.
5 5  Servis kullanımı (B) ve maksimum
2 4 kuyruk uzunluğu (MQ) istatistikleri
4 1 toplanacaktır.
1 4
20
Birikimli istatistikler
Sistem durumu Gelecek olaylar ve sayaçlar
Saat listesi Not
(GOL)
LQ(t) LS(t) B MQ

İlk A gerçekleşir;
0 0 1 (A,1) (D,4) (E,60) (a*=1) sonraki A çizelgelendi; 0 0
(s*=4) ilk D’yi çizelgelendi

İkinci A gerçekleşir: (A,1);


(A,2) (D,4) (E,60)
1 1 1 (a*=1) sonraki A çizelgelendi; 1 1
(Müşteri beklemede)

Üçüncü A gerçekleşir: (A,2);


2 2 1 (D,4) (A,8) (E,60) (a*=6) sonraki A çizelgelendi; 2 2
(İki müşteri beklemede)

İlk D gerçekleşir: (D,4);


4 1 1 (D,6) (A,8) (E,60) (s*=6) sonraki D çizelgelendi; 4 2
( müşteri beklemede)

(A,8) (D,11) İkinci D gerçekleşir: (D,6)


6 0 1 6 2
(E,60) (s*=5) sonraki D çizelgelendi
21
Birikimli istatistikler
Sistem durumu Gelecek olaylar
ve sayaçlar
Saat listesi Not
(GOL)
LQ(t) LS(t) B MQ

İkinci D gerçekleşir: (D,6)


6 0 1 (A,8)(D,11)(E,60) 6 2
(s*=5) sonraki D çizelgelendi
Dördüncü A gerçekleşir: (A,8)
(D,11) (A,11)
8 1 1 (a*=3) sonraki A çizelgelendi 8 2
(E,60)
(müşteri beklemede)
Beşinci A gerçekleşir: (A,11)
(a*=7) sonraki A çizelgelendi
(D,15) (A,18)
11 1 1 Üçüncü D gerçekleşir: (D,11) 11 2
(E,60)
(s*=4) sonraki D çizelgelendi
(müşteri beklemede)

(D,16) (A,18) Dördüncü D gerçekleşir: (D,15)


15 0 1 15 2
(E,60) (s*=1) sonraki D çizelgelendi

16 0 0 (A,18) (E,60) Beşinci D gerçekleşir: (D,16) 16 2

Altıncı A gerçekleşir: (A,18)


(D,23) (A,23)
18 0 1 (a*=5) sonraki A çizelgelendi 16 2
(E,60)
(s*=5) sonraki D çizelgelendi
(A,25) (D,27) 22
23 0 1 ,,, 21 2
(E,60)
Olay-çizelgeleme algoritması bilgisayar
ortamında programlandığında hafızada sadece
bir anlık görüntü tutulur.
Bu nedenle anlık görüntü benzetimin devamı
için gerekli olan tüm bilgileri içermelidir.

23
Önceki örnekte müşterinin ortalama
sistemde kalma süresinin ve sistemde 5
dakika ve daha fazla kalan müşteri
sayısınında bulunmak istendiğini varsayınız.
Bu ölçümleri yapabilmek için tablonun
müşterilerin bireysel olarak takip
edilebilmesini sağlayacak şekilde
genişletilmesi gerekir:

24
Öğeler : (C i ,t): t anında gelen müşteri
Olay notları:
(A, t, C i ): t anında C i müşterisinin gelişi
(D, t, C i ): t anında C i müşterisinin ayrılması
Küme : “Kontrol kümesi”, güncel anda kuyrukta
bekleyen veya servis alan müşteriler.
S: Sistemden ayrılmış olan müşterilerin sistemde
kalma süresi toplamı
F: Sistemde 5 dakika ve daha fazla kalan toplam
müşteri sayısı
N D : Sistemden ayrılan toplam müşteri sayısı

25
Birikimli istatistikler
Sistem durumu
Gelecek olaylar listesi ve sayaçlar
Saat Kontrol Kümesi
(GOL)
LQ(t) LS(t) S ND F

0 0 1 (C1,0) (A,1,C2) (D,4,C1) (E,60) 0 0 0

1 1 1 (C1,0)(C2,1) (A,2,C3) (D,4,C1) (E,60) 0 0 0

2 2 1 (C1,0) (C2,1)(C3,2) (D,4,C1) (A,8,C4) (E,60) 0 0 0

4 1 1 (C2,1)(C3,2) (D,6,C2) (A,8,C4) (E,60) 4 1 0

6 0 1 (C3,2) (A,8,C4) (D,11,C3) (E,60) 9 2 1

8 1 1 (C3,2) (C4,8) (D,11,C3) (A11,C5) (E,60) 9 2 1

11 1 1 (C4,8) (C5,11) (D,15,C4) (A,18,C6) (E,60) 18 3 2

15 0 1 (C5,11) (D,16,C5) (A,18,C6) (E,60) 25 4 3

16 0 0 (A,18,C6) (E,60) 30 5 4

18 0 1 (C6,18) (D,23,C6) (A,23,C7) (E,60) 30 5 4

23 0 1 (C7,23) (A,25,C8) (D,27,C7) (E,60) 35 6 5

Ortalama sistemde kalma süresi = 35/6=5,83 dakika


26
5 dakika ve daha fazla sistemde kalan müşteri oranı = 5/6=0,83
 Örnek (kömür madeni)
Bir kömür madeninden çıkarılan kömürler 6 adet kamyon
tarafından tren vagonlarına yüklenmek üzere istasyona
taşınmaktadır.
Kamyonlara yükleme iki adet yükleyiciden biriyle
yapılmaktadır.
Yüklenen kamyon hemen kantara girmekte daha sonra ise
istasyona giderek yükünü boşaltıp tekrar madene
dönmektedir.
Yükleyiciler ve kantar FIFO kuyruk prensibi ile hizmet
vermektedir.
Yükleme süresi, tartı süresi ve yolculuk süreleri dağılımları
tablolarda verilmiştir.
Yükleme bölgesi ile kantar arasındaki yolculuk süresi
önemsiz kabul edilmiştir.
Benzetimin amacı yükleyicilerin ve kantarın kullanım
oranlarını bulmaktır.
27
kuyruk kuyruk

KANTAR

28
Yükleme süresi Kümülatif Rassal sayı
(dakika) Olasılık olasılık aralığı
5 0,30 0,30 1-3
10 0,50 0,80 4-8
15 0,20 1,00 9-0
Tartı süresi Kümülatif Rassal sayı
(dakika) Olasılık olasılık aralığı
12 0.70 0,70 1-7
16 0.30 1.00 8-0
Yolculuk süresi Kümülatif Rassal sayı
(dakika) Olasılık olasılık aralığı
40 0,40 0,40 1-4
60 0,30 0,70 5-7
80 0,20 0,90 8-9
100 0,10 1,00 0
29
MODEL BİLEŞENLERİ

 Sistem durumu : [L Q (t), L S (t), W Q (t), W S (t)]


L Q (t): t anında yükleyici kuyruğundaki kamyon sayısı
L S (t): t anında yüklenen kamyon sayısı (0,1,2)
W Q (t): t anında kantar kuyruğundaki kamyon sayısı
W S (t): t anında tartılan kamyon sayısı (0,1)
 Olay notları :
(AL Q , t, K i ) : t anında yükleyici kuyruğuna gelen i kamyonu
(EL, t, K i ) : t anında yüklemesi biten i kamyonu
(EW, t, K i ) : t anında tartısı biten i kamyonu
 Öğeler : 6 adet kamyon (K 1 , K 2 , ..., K 6 )
 B L : Her iki yükleyicinin toplam çalışma süresi
 B s : Kantarın toplam çalışma süresi
30
Listeler : Yükleyici kuyruğu, kantar kuyruğu
Faaliyetler : Yükleme süresi, tartı süresi,
yolculuk süresi
Gecikmeler: Yükleyici kuyruğundaki bekleme,
tartı kuyruğundaki bekleme

0 anında bir kamyonun tartıda 5 kamyonun ise


yükleyicilerde olduğu varsayılmıştır.

31
BAŞLANGıÇ DURUMU

kuyruk
6 5 4 3 kuyruk 1

LQ LS WQ WS 32
Yükleme süresi
(dakika) 10 5 5 10 15 10 10
Tartı süresi
(dakika) 12 12 12 16 12 16
Yolculuk süresi
(dakika) 60 100 40 40 80

Faaliyet süreleri için ihtiyaç duyulduğunda kullanılmak


üzere yukarıdaki değerler oluşturulmuştur.

33
AL Q OLAYININ (YÜKLEME KISMINA GİRİŞ)
GERÇEKLEŞTİRİLMESİ (OLAY DİYAGRAMI)

CLOCK=t anında ALQ olayı

E H
LS(t)’yi 1 artır LS(t)<2 ? LQ(t)’yi 1 artır

t+s*anına
EL olayı çizelgele

İstatatistikleri topla

Benzetime devam
Etmek için durma kriterini kontrol et

34
EL OLAYININ (YÜKLEMENİN BİTMESİ)
GERÇEKLEŞTİRİLMESİ (OLAY DİYAGRAMI)

CLOCK=t anında EL olayı

E H
WS (t)=1 Ws(t)=0? WQ(t)’yi 1 arttır

t+s*anına
EW olayı çizelgele
LQ(t)>0?
LQ(t)’yi 1 azalt E
H
LS (t) ’yi 1 azalt

t+s*anına
İstatatistikleri topla
EL olayı çizelgele

Benzetime devam
Etmek için durma kriterini kontrol et 35
EW OLAYININ (TARTILMANIN BİTMESİ)
GERÇEKLEŞTİRİLMESİ (OLAY DİYAGRAMI)

CLOCK=t anında EW olayı

E H
WS (t)=0 WQ(t)=0? WQ(t)’yi 1 azalt

t+s*anına
EW olayı çizelgele

t+s**anına
ALQ olayı çizelgele

İstatatistikleri topla

Benzetime devam
Etmek için durma kriterini kontrol et 36
Birikimli
Sistem durumu Listeler
İstatistikler
Saat GOL
Yükleyici Kantar
LQ(t) LS(t) WQ(t) WS (t) BL BS
kuyruğu Kuyruğu
K4 (EL, 5, K3)
0 3 2 0 1 K5 (EL, 10, K2) 0 0
K6 (EW, 12, K1)
(EL,10, K2)
K5
5 2 2 1 1 K3 (EL, 5+5, K4) 10 5
K6
(EW,12,K1)
(EL,10, K4)
K3
10 1 2 2 1 K6 (EW,12,K1) 20 10
K2
(EL,10+10, K5)
K3 (EW,12, K1)
10 0 2 3 1 - K2 (EL, 20, K5) 20 10
K4 (EL, 10+15, K6)
(EL, 20, K5)
K2 (EW,12+12, K3)
12 0 2 2 1 - 24 12
K4 (EL, 25, K6)
(ALQ, 12+60, K1)

37

You might also like