IE 303T Sistem Benzetimi · Olay Çizelgeleme Algoritması imdiye kadarki benzetim modellerimizde...
Transcript of IE 303T Sistem Benzetimi · Olay Çizelgeleme Algoritması imdiye kadarki benzetim modellerimizde...
L E C T U R E 3 : O L A Y Ç I Z E L G E L E M E A L G O R I T M A S I
IE 303T Sistem Benzetimi
İçerik
Olay Çizelgeleme Algoritması
Tek Servis Sağlayıcılı Kuyruk (Tekrar)
Maden Ocağı Kamyonları
Liste İşlemleri
Geçen Ders
Rassal Rakamların Özellileri
Uniform (eşit) dağılım
Tarihçeden bağımsızlık
Örneklem hacmi ->∞, rassal rakamların histogramı -> (teorik) uniform dağılımı
Yazı-Tura Oyunu
Tek Servisli Kuyruk
-> -> -> ->
Olay Çizelgeleme Algoritması
Şimdiye kadarki benzetim modellerimizde biz objeler üzerinden gittik, gelen müşteriler, gazete bayii’ne gelen talepler, yazı-tura vs..
Ama eğer benzetim sistemimiz daha karmaşıksa
Örnek: Bir liman benzetimi yaptığımızı varsayalım. 3 farklı gemimiz var:
Konteynır gemisi, dökme yük gemileri, tankerler
Her bir gemi tipi farklı tipteki vinç ve ekipmanlar tarafından servis görür…
Olay Çizelgeleme Algoritması
Bu tür bir karmaşık modelde olayların kaydını tutmak gemiler üzerinden simulasyon yapıldığında çok zordur…
Onun için olay çizelgeleme algoritmasını kullanırız:
Algoritmanın temel mantığı her bir olay anında ör. Müşteri gelişi, üretimin başlayışı vs.,
gelecek olaylar oluşturulur ve Gelecek Olay Listesine (GOL) yazılır.
Olay Çizelgeleme Algoritması
Verilen herhangi bir t anında, GOL önceden çizelgelenmiş tüm olayları ve zamanları kronolojik bir sırada içerir:
t < t1 ≤ t2 ≤ t3 ≤ ··· ≤ tn
t zamanı SAAT değişkeninin değeridir, ve simulasyonun bulunduğu zamanı göstermektedir. t1 zamanında ise bir sonraki olay gerçekleşecektir (‘imminent event’).
Olay Çizelgeleme Algoritması
Simulasyonda zaman ilerledikçe sistem durumu ve gelecekteki olaylar ve istatistikler bu tablo ile organize edilecektir.
Simulasyon Tablosu Prototipi
Saat Sistem
Durumu Obje ve
Özellikleri GOL
Kümülatif İstatistikler ve Sayaçlar
Olay Çizelgeleme Algoritması
Olay Çizelgeleme-Algoritması
Adım 1: Bir sonraki olayı GOL’den çıkar.
Adım 2: SAAT’i bir sonraki olayın zamanına ilerlet.
Adım 3: Bir sonraki olayı oluştur; sistemi güncelle.
Adım 4: Gelecekteki olayları yarat ve GOL’e ekle...
Adım 5: Kümülatif istatistik ve sayaçları güncelle
Ayrıca her simulasyonda bir bitiş olayı (E) olmalıdır ve bu da GOL’de tutulmalıdır.
Bu algoritmasının akış diyagramını nasıl yazardık?
Olay Çizelgeleme Algoritması
Olay Çizelgeleme Algoritması
Olay çizelgeleme algoritmasını kullanarak bir tek servisçi kuyruk sisteminin benzetim modelini kuralım. Değişkenler:
Ns: Servis alan kişi sayısı. Her yeni bir servis başladığında bir arttır.
B : Toplam servis zamanı.
TE: Ortalama bekleme zamanı. Toplam bekleme / müşteri sayısı(W/ NS).
W: Kuyrukta geçen toplam zaman
LS: Servis uzunluğu
LQ: Kuyruk uzunluğu
MQ: Maximum kuyruk uzunluğu
Olay Çizelgeleme Algoritması
Servis almak üzere bir kişi ile başlayalım...
Gelişler Arası
Süre 1 1 6 3 7 5 2 4 1 ...
Servis Zamanları
4 2 5 4 1 5 4 1 4 ...
Saat LQ(t) LS(t) GOL Yorum
Kümülatif İstatistikler ve Sayaçlar
Ns B W MQ
0 0 1 (A,1); (D,4); (E,60) İlk A oldu. 1 0 0 0
Olay Çizelgeleme Algoritması
Saat LQ(t) LS(t) GOL Yorum
Kümülatif İstatistikler ve
Sayaçlar
Ns B W MQ
0 0 1 (A,1); (D,4); (E,60) İlk A oldu. 1 0 0 0
1 1 1 (A,2); (D,4); (E,60) İkinci A 1 1 0 1
2 2 1 (D,4); (A,8); (E,60) Üçüncü A oldu. 1 2 1 2
4 1 1 (D,6); (A,8); (E,60) İlk D oldu. 2 4 1+2*2=5 2
6 0 1 (A,8); (D,11); (E,60) İkinci D oldu. 3 6 5+2=7 2
8 1 1 (D,11); (A,11); (E,60) Dördüncü A oldu. 3 8 7 2
11 1 1 (D,15); (A,18); (E,60) Beşinci A, üçüncü D oldu. 4 11 10 2
15 0 1 (D,16); (A,18); (E,60) Dördüncü D oldu. 5 15 14 2
16 0 0 (A,18); (E,60) Beşinci D oldu. 5 16 14 3
Boşaltma Kamyonu Örneği
6 boşaltma kamyonu madenini girişindeki yükleyiciden trenyoluna kadar kömür taşımasında kullanılmaktadır. Her bir kamyon iki yükleyici vinçten bir tanesi ile yüklenmektedir. Daha sonra kamyonlar tartıya giderek tartılmaktadır. Tüm yükleyici ve kamyonlar FCFS sistemi ile çalışmaktadırlar. Kamyondan tartıya kadar geçen süre ihmal edilebilir durumdadır. Tartıdan sonra ise tren istatsyonuna kadar geçen süre, yükleme ve tartılma süreleri ise rassal değişkenlerdir.
Boşaltma Kamyonu Örneği
Yükleme Zamanı Dağılımı
Yükleme Zamanı
Olasılık Kümülatif Olasılık
Rassal Hane
5 0.3 0.3 1-3
10 0.5 0.8 4-8
15 0.2 1 9-0
Tartı Zamanı
Tartı Zamanı Olasılık Kümülatif
Olasılık Rassal Hane
12 0.7 0.7 1-7
16 0.3 1 8-0
Varış Zamanı
Varış Zamanı Olasılık Kümülatif
Olasılık Rassal Hane
40 0.4 0.4 1-4
60 0.3 0.7 5-7
80 0.2 0.9 8-9
100 0.1 1 0
Sistemdeki rassal olayların dağiılımları aşağıdaki gibidir:
Boşaltma Kamyonu Örneği
Model bileşenleri:
Durum Değişkenleri
LQ(t): yükleme kuyruğundaki kamyon sayısı, t anında
L(t): yükleme yapılan kamyon sayısı (0,1 veya 2)
WQ(t): tartı kuyruğundaki araç sayısı
W(t): tartılan araç sayısı
Olaylar
(ALQ,t,Ti): Kamyon i yükleme kuyruğuna varışı
(EL, t, Ti): Kamyon i yükleme bitişi
(EW,t,Ti): Kamyon i tartı bitiş.
Boşaltma Kamyonu Örneği
Objeler
Kamyonlar T1, T2, ... , T6
Lists: Yükleme ve tartı kuyruğu,
Aktiviteler: Yükleme, tartı, seyahat
Gecikmeler: Yükleme ve tartı kuyruğundaki gecikmeler
İstatistikler: BL: yükleyicinin toplam çalışma zamanı
BW: tartının toplam çalışma süresi
BL hesaplanırken her iki yükleyicinin toplam zamanı dikkate alınmalıdır.
Boşaltma Kamyonu Örneği
Saat
Sistem Durumu Listeler GOL Kümülatif İstatistik
LQ(t) L(t) WQ(t) W(t) Yükleme Kuyruk
Tartı Kuyruk
BL Bs
0
Yükleme Zamanları
10 5 5 10 15 10 10
Tartı Zamanları
12 12 12 16 12 16
Seyahat Zaman
60 100 40 40 80
Boşaltma Kamyonu Örneği
Boşaltma Kamyonu Örneği
Boşaltma Kamyonu Örneği
Boşaltma Kamyonu Örneği
Liste İşlemleri
Görüldüğü gibi GOL simulasyonda ki organizasyon ve tüm algoritma için önem arz etmektedir.
Gerçek sistemlerin simulasyonlarında GOL ciddi biçimde uzun olabilmektedir.
GOL bilgisayarda vektörlerde tutularak işlemlenebilir.
List Processing
Vektörleri kullanmanın olumlu ve olumsuz yanları bulunmaktadır.
GOL’de gerçekleştirilen temel operasyonlar:
Listenin üstünden bir kayıt silme
Listenin herhangi bir yerinden kayıt silme
Listenin altına veya üstün kayıt ekleme
Listenin herhangi bir yerine kayıt ekleme.
Ders 3 Sonu
Next Lecture Chapter 5.1, 5.3, 5.4
Event Scheduling Algorithm - Detail
Activity vs. Delay: Activity a duration of time of specified length (statistical distributions)
(e.g. service time or interarrival time), which is known when it begins.
Delay a duration of time of unspecified indefinite length, which is not known until it ends (e.g. a customer’s delay in a last-in-first-out waiting line)
Single Server Queue:
Event: Arrivals of customers, service completion in the server
Activity: Service time
Delay: customers’ waiting in the queue