IE 303T Sistem Benzetimi · Olay Çizelgeleme Algoritması imdiye kadarki benzetim modellerimizde...

Post on 17-Jan-2020

12 views 0 download

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