ENM 316 BENZETİM DERS 3 KUYRUK SİSTEMİ Kuyruk sistemleri, Operasyon yönetiminde önemli bir alana sahiptir. Üretimde, atölye çevresi kuyruk şebekelerinin karmaşık bir ilişkisi olarak düşünülebilir. Bir iş merkezinde tamamlanan işler, bir sonraki iş merkezinde işlenebilmek için kuyruğa girerler. Bir atölyede çizelgeleme işlemi dinamik bir problemdir. Akış oranları ve diğer performans ölçütleri kuyruk teorisinden yararlanılarak bulunabilir.
KUYRUK SİSTEMİ Servis sistemlerinde, kuyruk problemleri ile sık sık karşılaşılmaktadır. Hizmet sistemlerindeki kuyruk olayları ile günlük yaşantımızda sık sık karşılaşmaktayız. Michael Fortina (1988), yaptığı bir araştırma sonucunda, çoğu insan tüm hayatı boyunca toplam 5 yılını kuyruklarda bekleyerek, 6 ayını da trafik ışıklarında bekleyerek geçirmektedir. Restaurantlarda, bankada, süpermarketlerde, berberlerde, çevre yolundaki gişe önlerinde devamlı olarak kuyruklarla karşılaşırız. Bir havaalanında piste uçakların inmesi bir kuyruk problemidir. Havadaki uçaklar, servis görmeyi bekleyen müşteriler, pist ise servis olarak düşünülebilir. Telefon, trafik sistemleri, karmaşık kuyruk sistemlerine örnektir. Telefon call lar switching (anahtarlama) sistemi ile yönlendirilir. Bir sonraki switching e ulaşıncaya kadar ya da son noktaya ulaşmak için kuyruk oluşturmaktadır. KUYRUK SİSTEMİ Bir kuyruk sistemi, Hizmet veren bir veya birden fazla servise sahiptir. Sisteme gelen müşteriler tüm servisleri dolu bulursa, servisin önündeki kuyruğa ya da kuyruklardan (birden fazla kuyruk varsa) birisine girer. Kesikli olay benzetim çalışmalarının büyük bir kısmını, gerçek hayatta karşılaşılan kuyruk sistemlerinin modellenmesi oluşturmakta veya benzetim edilen sistemin en azından bazı bileşenleri bir kuyruk sistemidir. Bu nedenle, Kuyruk sisteminin standart notasyonlarını ve kuyruk sistemi tarafından sağlanana servis kalitesini belirleyen performans ölçülerini bilmesi önemlidir.
KUYRUK SİSTEMİ Sistem Servisler Müşteriler Banka Hastane Bilgisayar Sistemi Montaj Hattı Havaalanı KUYRUK SİSTEMİNİN BİLEŞENLERİ Bir kuyruk sisteminin 5 bileşeni vardır. Bunlar; Varış prosesi (Arrival process) Servis prosesi (Service process) Kuyruk disiplini (Queueing Discipline) Sistemde izin verilen müşteri sayısı Müşterinin geldiği yığının genişliği
KUYRUK SİSTEMİNİN BİLEŞENLERİ 1) Varış Prosesi: Bir kuyruk sisteminde varış prosesi; müşterilerin sisteme nasıl geldiğini tanımlar. Bu durumda varış prosesi, müşterilerin varışlararası zamanları ile karakterize edilir. Varışlar, sabit zamanlarda ya da rassal zamanlarda olabilir. Varışlar rassal zamanlarda oluyorsa, varışlararası zaman bir olasılık dağılımı ile karakterize edilir. A i : (i-1). ve i. müşteri varışları arasındaki varışlararası zaman aralığı olsun. A 1, A 2, : rassal değişkenlerdir. E(A): varışlararası ortalama (beklenen) zaman λ = 1 E( A) : Müşterilerin varış oranı (Birim zamanda gelen müşteri sayısı) Örnek: Bir dakikada 5 varış olan bir sistemde varışlararası zaman aralığı ortalaması 1 1 E( A) = = = 0.20 dak λ 5 KUYRUK SİSTEMİNİN BİLEŞENLERİ 2) Servis Mekanizması: Servis prosesi, servis sayısı ve servis zamanı dağılımı ile karakterize edilir. Her servis kendisine ait bir kuyruğa veya tüm servisleri bekleyen bir kuyruğa sahip olabilir. S i : i. müşterinin servis zamanı S 1, S 2,. : rassal değişkenler E(S): Bir müşterinin ortalama servis zamanı µ = 1 E( S) : Servis oranı (Birim zamanda servis gören müşteri sayısı) Örnek: Ortalama servis zamanı 2 dakika ise, servis oranı 1 1 µ = = = 0.5 E( S) 2 servis/dak
KUYRUK SİSTEMİNİN BİLEŞENLERİ Kuyruk sistemlerinde en önemli parametre trafik yoğunluğudur. Varis orani λ ρ = = ( Servis orani) c µ c c: servis sayısı λ 1 E( A) E( S) ρ = = = µ c (1 E( S)) c E( A) c E( S) 0.5 Örnek: E(A)=1 ve E(S)=0.5, c=1 ρ = = = 0. 5 E( A) 1 ρ < 1 ise ρ = 1 ise ρ > 1 ise servis zamanin servis dolu sonsuz kuyruk 1 - ρ kadari olusur bos kalir KUYRUK SİSTEMİNİN BİLEŞENLERİ Örnek: 3 dakikada bir varışın olduğu bir sistemde servis zamanı 2 dakikadır. Gelişler ve servis süreleri bir zaman çizelgesinde gösterilirse;
KUYRUK SİSTEMİNİN BİLEŞENLERİ 3) Kuyruk Disiplini: Servise alınacak müşteri düzenini belirler. FIFO (First in First Out): ilk giren, ilk çıkar prensibine göre servis LIFO(Last in First Out): son giren, ilk çıkar prensibine göre servis SIRO(Service in Random Order): Rassal sırada servis ÖNCELİK (PRIORITY): Müşterilerin önemine göre servis verilir. Aksi belirtilmedikçe, FIFO kullanılır. KUYRUK SİSTEMİNİN BİLEŞENLERİ Kendall (1953), kuyruk sistemi modellerini sınıflandırmak için bir sistem geliştirmiştir. 1/2/3 1: Varış prosesi 2: Servis prosesi 3: Servis sayısı Bu sınıflandırma sistemi aşağıdaki gibi genişletilmiştir. 1/2/3/4/5/6 4: Paralel servis sayısı 5: Sistemde izin verilen müşteri sayısı 6: Müşterinin geldiği yığının genişliği
KUYRUK SİSTEMİNİN BİLEŞENLERİ KUYRUK SİSTEMLERİNDE PERFORMANS ÖLÇÜTLERİ Sınırlı sayıda kuyruk sistemleri (M/M/1, M/M/S ve M/G/1 olarak tanımlanan sistemler) için analitik çözüm mevcuttur. Bu sınıf için, servis sürelerinin üstel ve varışların poisson dağılımı söz konusudur. Sistem, bu özelliklere uymuyor ise, analitik çözümleri bulmak mümkün değildir. Bu durumda, benzetimden yararlanılır.
M/M/1 KUYRUK MODELİ Varışlararası zamanının ve servis zamanının üstel dağılıma sahip olduğu, FIFO kuyruk disiplininin kullanıldığı kuyruk modelidir. Kuyruk kapasitesi sonsuzdur. Bu modelin, matematiksel çözümü vardır. Sürekli zamanlı Markov prosesinden elde edilen formüller; (Bu formüller denge durumu için geçerlidir.) M/M/1 KUYRUK MODELİ P 0 : sistemde is veya musteri olmamasi olasiligi P 1 : sistemde bir is veya musteri olmasi olasiligi P 2 : sistemde P n iki is veya : sistemde n is veya musteri musteri olmasi olmasi olasiligi olasiligi λ ρ = ; µ (trafik yogunlugu,doluluk orani)
M/M/1 KUYRUK MODELİ P P 0 x = 1 - = ρ λ µ x P 0 1 λ λ P 1 = ρ P0 = 1 µ µ 2 2 λ λ P 2 = ρ P0 = 1 µ µ n λ P n = ρ P0 = 1 µ n λ µ M/M/1 KUYRUK MODELİ λ ρ L = = ; sistemdeki ortalama musteri sayisi µ λ 1 ρ Q = L Q 2 2 λ ρ = = ; kuyruktakiortalama musteri sayisi µ ( µ λ) 1 ρ 1 1 W = = ; bir musterinin sistemde bekleme zamani µ λ µ (1 ρ) d = W Q λ ρ = = ; bir musterinin kuyrukta ortalama bek. zamani µ ( µ λ) µ (1 ρ) Parametreler arasındaki ilişki; Q = λ. d L = λ. w W = d + E(S)
KESİKLİ OLAY BENZETİMİ Kesikli olay benzetimi, durum değişkenlerinin zaman içinde bazı noktalarda değiştiği sistemlerin modellenmesi ile ilgilenir. Sistemin zamana göre benzetimidir. Zaman içinde kesikli noktalarda bir olay ortaya çıkar. Bu olay, sitemin durumunu değiştiren ani bir oluştur. KESİKLİ OLAY BENZETİMİ (KOB) ÖRNEK 1: Bir servisli kuyruk sistemi dikkate alınsın.
KESİKLİ OLAY BENZETİMİ (KOB) Bu sistemin özellikleri; Bir varış kanalı Bir servis imkanı FIFO ilk gelen ilk servis Servis meşgul ise, müşteri kuyrukta bekler Varışlararası zaman ve servis süreleri bilgisayarda belirlenen dağılımlardan üretilir. Varışlararası zamanlar stokastik Servis zamanları stokastik İş veya müşteri servisleri bittiği an sistemden çıkar Bir servis tamamlandığında en yakın müşteri servise alınır. KESİKLİ OLAY BENZETİMİ (KOB) Bu sistemde performans ölçüleri: Müşterilerin kuyrukta ortalama bekleme zamanı i. musterinin kuyrukta i. musterinin servise i. musterinin sisteme = bekleme zamani baslama zamani varis zamani n Kuyrukta ortalama i. musterinin kuyrukta = bekleme zamani i =1 bekleme zamani n
KESİKLİ OLAY BENZETİMİ (KOB) Bu sistemde performans ölçüleri: Müşterilerin sistemde ortalama bekleme zamanı i. musterinin sistemde bekleme zamani = i. musterinin servisinin bitis zamani i. musterinin sisteme varis zamani i. musterinin kuyrukta i. musterinin = + bekleme zamani servis zamani n Sistemde ortalama i. musterinin sistemde = bekleme zamani i =1 bekleme zamani n KESİKLİ OLAY BENZETİMİ (KOB) Bu sistemde performans ölçüleri: Servisin dolu ve bos zaman yüzdeleri Servisin dolu Toplam dolu (mesgul) zaman = 100 zaman yuzdesi Toplam gecen sure Servisin bos Servisin dolu = 100 zaman yuzdesi zaman yuzdesi
KESİKLİ OLAY BENZETİMİ (KOB) Performans ölçüsünün tahmin edilmesinde sistemin durum değişkenlerinin izlenmesi gerekir. Durum Değişkenleri: 1) Servisin durumu: Servisin boş veya dolu olması gelen müşterinin servise veya kuyruğa girmesini belirler 2) Kuyruktaki müşteri sayısı: Bir servis tamamlandığında kuyruktaki müşteri sayısı servisin yeni durumunu belirler. Kuyrukta müşteri yoksa servis boş duruma geçer. Müşteri varsa, kuyruğun başındaki müşteri servise alınarak servis dolu durumuna geçecektir. Olaylar: 1) Müşteri varışı (Varış olayı): Sistemin durumunu değiştirir. Yani, servis boş ise dolu olacak veya kuyruktaki müşteri sayısı 1 artacak. 2) Servisin tamamlanması (Servis olayı Çıkış olayı): Sistemin durumunu değiştirir. Servis dolu iken boş olacak ya da kuyruktaki müşteri sayısı 1 azalacak. KOB DA ZAMAN İLERLETME Kesikli olay benzetim modelinin yapısı gereği, her adımda simülasyon zamanın bilinmesi gerekir. Bu nedenle, benzetim zamanının bir değerden diğer bir değere artmasını sağlayacak bir işlem gerekir. Benzetim zamanını veren değişken BENZETİM SAATİ olarak adlandırılır. Modelde zaman birimi olarak, giriş parametrelerinde kullanılan birim alınır. Simülasyon zamanı ile modelin bilgisayarda işletilmesi zamanı arasında bir ilişki yoktur. Simülasyon saatinin ilerletilmesinde iki yaklaşım kullanılmaktadır. En yakın olay zamanı ile zaman ilerletme Sabit artışlarla zaman ilerletme
KOB DA ZAMAN İLERLETME 1. En Yakın Olay Zamanı Kesikli olay benzetiminde genellikle en yakın olay zamanı yaklaşımı kullanılmaktadır. Bu yaklaşımla zaman ilerletme işleminde; Benzetim saati başlangıç değeri 0 alınır ve gelecekteki olayın ortaya çıkış zamanı belirlenir. Benzetim saati gelecekte ortaya çıkacak bu ilk olayın zamanına ilerletilir. Yeni bir olayın ortaya çıkışına bağlı olarak sistemin durumu yeni şekline göre düzenlenir ve gelecek olay zamanı belirlenir. Zaman ilerletme işlemi önceden belirlenmiş durdurma koşulu sağlanıncaya kadar devam eder. KOB DA ZAMAN İLERLETME ÖRNEK: Bir servisli kuyruk modeli benzetiminde en yakın olay zamanıyla zaman ilerletme Bu dağılımlar genellikle sistemde yapılan gözlemlerden elde edilen veriye istatistik teknikler kullanılarak belirlenir.
KOB DA ZAMAN İLERLETME KOB DA ZAMAN İLERLETME 2. Sabit Artışlarla Zaman İlerletme Bu yaklaşımda benzetim saati, önceden belirlenen bir zaman birimi kadar artırılır. Benzetim saatindeki her artış sonrası, aralığında herhangi bir olayın ortaya çıkıp çıkmadığı kontrol edilir. Bu aralıkta bir veya birden fazla olay ortaya çıkmış ise, bu olaylar aralığın sonunda olmuş gibi dikkate alınır ve sistemin durumu güncelleştirilir.
KOB DA ZAMAN İLERLETME e i : herhangi tipteki i olayın ortaya çıkışının gerçek zamanı KOB DA ZAMAN İLERLETME [0, t) zaman aralığında, e 1 zamanında ortaya çıkan olay, modelde zamanında olmuş gibi dikkate alınır. [ t, 2 t) aralığında hiçbir olay ortaya çıkmamıştır. Ancak, model bu durumu belirlemek için kontrol işlemini yapar. [2 t, 3 t) aralığında e 2 ve e 3 zamanında 2 olay olmuştur. Ancak her iki olayda 3 zamanında olmuş gibi dikkate alınır. Modelde, aynı zamanda birden fazla olay ortaya çıktığında olayların hangi sırada dikkate alınacağına karar verecek bir kural bulunmalıdır. Bu yaklaşımın 2 dezavantajı; 1) Gerçekte aynı anda meydana gelmeyen olayların zaman aralığı sonunda birlikte dikkate alınması ve ilk hangi olayın dikkate alınacağına karar verme işleminden dolayı hatanın ortaya çıkmasıdır. 2) Çok küçük alınarak bu hata azaltılabilir. Ancak, her aralığında yapılacak kontrol den dolayı modelin çalışma zamanı artacaktır. Bu nedenle KOB da, bu yaklaşım genellikle kullanılmaz.
KOB BİLEŞENLERİ En yakın olay zamanı ile zaman ilerletme tekniğinin kullanıldığı kesikli olay benzetimi modellerinde aşağıdaki bileşenler bulunmaktadır. SİSTEM DURUMU: Durum değişkenlerinin bilinmesi herhangi bir zaman için sistemin durumunun açıklanmasını sağlar. SİMÜLASYON SAATİ: Simülasyon saatinin mevcut değerini veren bir değişkendir. OLAY LİSTESİ: Olabilecek en yakın olay tipini gösteren listedir. İSTATİSTİKSEL SAYAÇLAR: Performans ölçüsüyle ilgili bilgilerin tutulması için tanımlanmış değişkenler listesi İLK DEĞER VERME İŞLEMİ: Bir alt program (SUBROUTINE) olarak hazırlanır. Simülasyon modelinde kullanılan değişkenlere ilk değerlerini verir. ZAMAN İŞLEMİ: Olay listesindeki en yakın olayı belirleyen, simülasyon saatini bir olay zamanından diğerine geçecek şekilde artıran bir alt programdır. OLAY İŞLEMİ: i. olay ortaya çıktığında sistemin durumunu ve gerekli istatistiki sayaçları yeni duruma göre düzenleyen bir alt programdır. RAPOR ÜRETECİ: Simülasyon sona erdiğinde istenilen istatistikleri hesaplatarak yazdıran bir alt programdır. ANA PROGRAM: Zaman işlemini çağırarak en yakın olayı belirleyen, olay işlemlerini kontrol ederek sistemin yeni durumunu belirler. Bu bileşenler arasındaki mantıksal ilişki aşağıdaki şekilde görülmektedir. KOB BİLEŞENLERİ
İSTATİSTİKSEL SAYAÇLAR KOB de üç tip istatistik vardır. 1. Değişkenlerin gözlemlenmesine dayalı istatistik (Kesikli zaman istatistiği): 2. Zamana göre ortalama 3. Bir zaman aralığı boyunca değişen değişkenler için ortalama İSTATİSTİKSEL SAYAÇLAR 1. Değişkenlerin gözlemlenmesine dayalı istatistik (Kesikli zaman istatistiği): Örnek; Bir kuyruk sisteminde, kuyrukta ortalama bekleme zamanı tahmin edilsin. - i. müşterinin bekleme zamanını hesapla (d i ) - n müşteri için toplam bekleme zamanı bul n d i i= 1 kuyrukta ortalama bekleme zamanı hesapla d n n d i i= = 1
İSTATİSTİKSEL SAYAÇLAR 2. Zamana göre ortalama Değişkenler değerlerini belirli zamanlarda atlamalarla değiştirir. Zaman peryotları için değişkenlerin değerleri sabittir. Bir atlama yaparak diğer bir zaman peryodu için de sabit bir değerde kalırlar. İSTATİSTİKSEL SAYAÇLAR Örnek: Kuyruk sisteminde ortalama müşteri sayısı
İSTATİSTİKSEL SAYAÇLAR Örnek: Kuyruk sisteminde zamana göre ortalamanın alındığı diğer bir performans ölçüsü servisin doluluk oranıdır. İSTATİSTİKSEL SAYAÇLAR 3. Bir zaman aralığı boyunca değişen değişkenler için ortalama
EL İLE BENZETİM ÖRNEK: Aşağıda sisteme gelen 7 iş ve her birinin sisteme varış zamanları tablo halinde verilmiştir. Sistemdeki servis işlemi için 2 alternatif düşünülmektedir. 1. Alternatif: Bir makine, bir iş için servis süresi 5 dk. 2. Alternatif: İki makine, bir iş için servis süresi 10 dk. Sisteme gelen işlerin tek bir kuyruk oluşturduğu ve her iki makineyi beslediğini düşününüz. Her bir alternatif için sistemin benzetimini yaparak 1) Boş zaman yüzdesini (ortalama boş zaman, alternatif 2. için) 2) Sistemde ortalama bekleme zamanını bulunuz. İş Varış zamanı Kuyrukta bekleme zamanı Servise başlama zamanı Servis bitiş zamanı Servis zamanı Servisin dolu zamanı 1 2 3 4 5 6 7