Ana içeriğe atla
OR Araçları

Rehber

M/M/1 Kuyruk Teorisi: Bekleme Hattı Analizinin Temelleri

M/M/1 nedir, Kendall notasyonu, Poisson süreçleri, Little Yasası, kararlı durum metrikleri ve gerçek dünya uygulamaları üzerine kapsamlı Türkçe kuyruk teorisi rehberi.

· 11 dk okuma

İlgili araç

M/M/1 Kuyruk Analizci

Geliş ve hizmet hızlarından kararlı durumda ortalama bekleyiş, sistemde olma süresi ve durum olasılıklarını hesapla. Kuyruk teorisi temelinin görsel keşfi.

Aracı aç →

Banka şubesinde sıraya girdiğinde, çağrı merkezini aradığında, hastane acil servisinde beklediğinde, sunucu kapasitesinde gecikme yaşadığında — hepsinde aynı problem: insanlar (veya istekler) bir sisteme rastgele zamanlarda geliyor, hizmet süreleri değişken, kaynak sınırlı. Kuyruk teorisi, bu problemleri matematiksel olarak modelleyen yöneylem araştırması alt disiplinidir. M/M/1, kuyruk teorisinin “merhaba dünya” modeli; en basit ama en pedagojik kuyruk yapısıdır.

Kuyruk teorisi nedir?

Kuyruk teorisi, bekleme hatlarının matematiksel davranışını inceler. Tipik bir kuyruk sisteminin bileşenleri:

  • Müşteri (entity) — sisteme giren ve hizmet bekleyen birim (kişi, paket, istek, vb.)
  • Varış süreci — müşterilerin sisteme nasıl bir desende geldiği
  • Hizmet süreci — sunucunun bir müşteriyi ne kadar sürede servisinden geçirdiği
  • Sunucu sayısı (c) — paralel hizmet kanalı sayısı
  • Sistem kapasitesi (K) — aynı anda sistemde olabilecek maksimum müşteri sayısı (sınırsız ya da sınırlı)
  • Hizmet disiplini — hangi sıraya göre hizmet verilir? FIFO (ilk giren ilk çıkar), LIFO, öncelikli, paylaşılan…

Kuyruk teorisinin amacı, bu bileşenleri matematiksel olarak modellemek ve bilimsel kararlar vermek için performans metrikleri üretmektir: ortalama bekleme süresi, kuyruk uzunluğu, sunucu yoğunluğu, sistemi boş bulma olasılığı.

Kendall notasyonu: A/S/c/K/N/D

David Kendall’ın 1953’te önerdiği standart notasyon, bir kuyruğun özelliklerini kompakt biçimde ifade eder:

  • A: varış süreci (Arrival distribution)
    • M = Memoryless (Poisson varış / Exponential ara süre)
    • D = Deterministik
    • G = Genel dağılım
  • S: hizmet süresi dağılımı (aynı kodlar)
  • c: sunucu sayısı
  • K: sistem kapasitesi (gözardı edilirse ∞)
  • N: müşteri popülasyonu (gözardı edilirse ∞)
  • D: hizmet disiplini (gözardı edilirse FIFO)

M/M/1 dolayısıyla: Poisson varış, üstel hizmet, tek sunucu, sınırsız kapasite, sınırsız popülasyon, FIFO. Diğer yaygın varyantlar: M/M/c (c sunuculu), M/M/c/K (sınırlı bekleme alanlı), M/G/1 (genel dağılımlı hizmet), G/G/1 (her iki dağılım da genel).

Poisson varış ve üstel hizmet: neden M?

Poisson süreci, bağımsız ve memoryless varışları modelleyen olasılık sürecidir. İki kritik özelliği var:

  1. Bağımsızlık: bir varışın olması, bir sonraki varışın ne zaman olacağıyla ilgili bilgi taşımaz.
  2. Memoryless: “geçen 5 dakikada gelmedi” bilgisi sonraki varış süresini etkilemez.

Bu, çoğu pratik durumda iyi bir yaklaşımdır: çağrı merkezine bağımsız müşteriler arar, web sunucusuna bağımsız kullanıcılar istek gönderir, banka şubesine birbirinden habersiz müşteriler gelir.

Üstel dağılım (exponential), Poisson varış sürecinin “ara süre” dağılımıdır. Hizmet süreleri için kullanıldığında “memoryless service” yani “şimdiye kadar 3 dakikadır hizmet alıyor” bilgisinin “kalan süreyi” etkilemediği anlamına gelir. Bu da yine birçok pratik hizmet sistemi için makul bir varsayımdır.

İki M’nin kombinasyonu, doğum-ölüm süreci (birth-death process) olarak adlandırılan analitik olarak çözülebilir bir Markov zincirine yol açar. M/M/1’in zarafeti buradan gelir: kapalı-formüllü çözümler.

Tarihçe: Erlang’dan Kleinrock’a

Kuyruk teorisi 20. yüzyılın başında Agner Krarup Erlang’in Kopenhag telefon şirketi için yaptığı çalışmalarla doğdu. Erlang 1909’da telefon santrallerindeki çağrı yığılmasını analiz etmek amacıyla Poisson süreçleri ve üstel hizmet sürelerinin matematiğini geliştirdi. Bugün hâlâ kullanılan Erlang B (kayıp kuyruğu) ve Erlang C (M/M/c kuyruğu) formülleri onun adıyla anılır.

İkinci Dünya Savaşı’ndan sonra Felix Pollaczek ve Aleksandr Khinchine birbirinden bağımsız olarak M/G/1 kuyruğunu çözdüler; 1950’lerde John Little ünlü yasasını ispatladı. 1970’lerde Leonard Kleinrock’un iki ciltlik Queueing Systems eseri alanın ders kitabı standardı oldu — Kleinrock aynı zamanda ARPANET (modern internet’in atası) tasarımcılarından biri olarak kuyruk teorisini ağ mühendisliğine uyguladı.

Bugün kuyruk teorisi, telekomünikasyon, bilgisayar bilimleri, endüstri mühendisliği ve sağlık operasyonlarının ortak diliyken, modern uygulamaları büyük veri merkezleri, AI hizmet ağları ve otonom sistem koordinasyonu gibi yeni alanlara doğru genişliyor.

M/M/1 kararlı durum metrikleri

ρ = λ/μ olmak üzere (sunucu yoğunluğu), kararlı durum (steady-state) formülleri:

  • Sistemde ortalama müşteri sayısı: L=ρ1ρL = \frac{\rho}{1-\rho}
  • Kuyruktaki ortalama müşteri sayısı: Lq=ρ21ρL_q = \frac{\rho^2}{1-\rho}
  • Sistemde ortalama kalış süresi: W=1μλW = \frac{1}{\mu - \lambda}
  • Kuyrukta ortalama bekleme süresi: Wq=ρμλW_q = \frac{\rho}{\mu - \lambda}
  • Sistemin boş olma olasılığı: P0=1ρP_0 = 1 - \rho
  • Sistemde tam n müşteri olma olasılığı: Pn=(1ρ)ρnP_n = (1 - \rho) \cdot \rho^n

Bu formülleri elinle bir kez türetmek (doğum-ölüm denge denklemleriyle) kuyruk teorisini hayata geçiren entelektüel deneyimlerden biridir; en azından Hillier & Lieberman’ın ilgili bölümünü gözden geçirmek önerilir.

Bu sitenin M/M/1 Kuyruk Analizci aracı bu formülleri tarayıcıda hesaplayıp durum olasılıklarını çubuk grafik olarak gösterir.

Little Yasası: kuyruk teorisinin mücevheri

John Little 1961’de yayımladığı bir teoremde şunu kanıtladı:

L=λWL = \lambda W

Yani, bir sistemin uzun-dönem ortalama müşteri sayısı, varış hızı ile ortalama kalış süresinin çarpımına eşittir. Aynı şekilde Lq=λWqL_q = \lambda W_q.

Bu sonucun olağanüstülüğü dağılımdan bağımsız olmasıdır. M/M/1, M/M/c, M/G/1, hatta priority queue’lar veya en karmaşık G/G/c modellerinde dahi geçerlidir. Tek varsayım: sistem kararlı durumda (steady-state) olmalı.

Little Yasası pratikte çok sık kullanılır: bir metriği ölçmek diğerinin hesaplanmasını sağlar. Örneğin bir mağazada günde 1000 müşteri geliyorsa (λ) ve mağazadaki müşteri sayısı ortalama 50 ise (L), her müşteri ortalama W = L/λ = 0.05 gün ≈ 72 dakika içeride kalmıştır.

Sunucu yoğunluğunun (ρ) kritikliği

ρ ≥ 1 olduğunda M/M/1 sistemi kararsızdır: kuyruk sınırsız büyür, formüller geçersiz hâle gelir. Pratik sistemler ρ < 1 koşulunu sağlar ama ρ’nun büyüklüğü bekleme süresini doğrudan etkiler:

ρL (ort. sistem)Wq (ort. bekleme)
0.501.01×1/μ
0.804.04×1/μ
0.909.09×1/μ
0.9519.019×1/μ
0.9999.099×1/μ

ρ 0.5’ten 0.9’a çıktığında bekleme 9 katına çıkar; 0.99’da 99 katına. Bu non-linear patlama, sistem tasarımının en önemli sezgilerinden biridir: kapasiteyi tam doluluğa yakın tutmaya çalışmak gerçek müşterileri çok mağdur eder. Sağlıklı bir ρ aralığı genelde 0.6–0.85 arasıdır.

Bu sebeple banka müdürleri yeni vezne açma, çağrı merkezi yöneticileri ek operatör alımı gibi kararları sezgisel olarak değil, ρ-W ilişkisini bilerek vermelidir.

Gerçek dünya uygulamaları

Kuyruk teorisi geniş bir uygulama yelpazesine sahip:

Çağrı merkezleri: Türkiye’deki büyük çağrı merkezleri (Garanti BBVA, Türkiye İş Bankası, Vodafone, Turkcell) operatör vardiyalarını M/M/c ve genişletmeleri kullanarak optimize eder. Erlang C formülü çağrı merkezlerinde standart araçtır ve M/M/c kuyruğunun analitik çözümüdür.

Sağlık operasyonları: Hastane acil servisi geliş süreçleri yaklaşık Poisson davranır; doktor hizmet süreleri ortalama 15-30 dakika civarında bir üstel dağılım gösterir. M/M/c modelleri kaç doktor gerektiğine karar vermede kullanılır. Türkiye’de büyük üniversite hastaneleri (Hacettepe, İstanbul, Ege) bu tür modelleri operasyon araştırmacılarıyla aktif kullanır.

Web sunucuları ve bulut hesaplama: İnternet trafiği yaklaşık Poisson, sunucu hizmet süreleri yaklaşık üstel. Auto-scaling kararları (“kaç sunucu çalıştırmalıyım?”) modern bulut sağlayıcılarda kuyruk teorisi tabanlı algoritmalarla yapılır. AWS, Azure, GCP scaling politikalarının altında M/M/c benzeri modeller vardır.

Trafik mühendisliği: Sinyalize kavşaklarda araç kuyrukları, otoyol gişelerinde araç bekleme süreleri kuyruk teorisi ile modellenir. İBB’nin akıllı şehir projelerinde benzer modeller yer alır.

Üretim hatları: Bir üretim hattında istasyon arasındaki tampon stoklar (buffer inventories) kuyruk teorisi ile boyutlandırılır. Otomotiv ve elektronik üretiminde standart bir analiz aracı.

Liman ve havalimanı: Konteyner gemisi yanaşma rotaları, uçak iniş kalkış sıraları, terminal güvenlik kuyrukları — hepsi büyük ölçekli kuyruk teorisi uygulamalarıdır. İGA (İstanbul Havalimanı) operasyon merkezi bu tür modelleri günlük kullanır.

Sayısal bir örnek üzerinden gidelim

Bir mahalle eczanesini düşün. Saatte ortalama λ = 12 müşteri geliyor; eczacı saatte ortalama μ = 16 müşteriye hizmet veriyor.

ρ = λ/μ = 12/16 = 0.75 (sunucu zamanın %75’inde meşgul).

  • L = ρ/(1−ρ) = 0.75/0.25 = 3 müşteri sistemde ortalama
  • Lq = ρ²/(1−ρ) = 0.5625/0.25 = 2.25 müşteri kuyrukta
  • W = 1/(μ−λ) = 1/4 saat = 15 dakika ortalama kalış
  • Wq = ρ/(μ−λ) = 0.75/4 = 11.25 dakika ortalama bekleme
  • P(0) = 1−ρ = 0.25 (sistem boş bulma olasılığı)

Pratik karar verme: bekleme süresi 11 dakika kabul edilebilir mi? Kabul edilemiyorsa ya hizmet hızını artır (ek personel, daha hızlı kayıt sistemi) ya geliş hızını yönlendir (randevu sistemi). Eğer tek bir personel ekleyip M/M/2’ye geçersen Wq dramatik olarak düşer (Erlang C ile hesaplanır).

Aynı sayıları M/M/1 Kuyruk Analizci aracında dene; sonuçların yanı sıra durum olasılıkları çubuk grafiği sistemi anlamayı pekiştirir.

Yaygın hatalar ve nasıl önlenir

Kuyruk teorisi uygulamasında sık yapılan hatalar:

Birinci hata — varsayımları sorgulamadan kullanmak. M/M/1, varış ve hizmet süreleri arası bağımsızlık varsayar. Sezonluk patlamalar veya kümelenmiş varışlar (konser sonrası taksi durağı) bu varsayımı ihlal eder. Bu durumlarda M/G/1 veya simulasyon gerekir.

İkinci hata — λ ve μ birim tutarsızlığı. λ saatlik ama μ dakikalık verilirse formüller anlamsız sonuç verir. Birim kontrolü zorunludur.

Üçüncü hata — ρ = 1 sınırına dayanmak. Bazı sistem tasarımcıları “sunucu boş kalmasın” diyerek tasarımı tam doluluğa yakın yaparlar; bu, müşterileri çıldırtır. Sağlıklı tasarım ρ < 0.85 hedefler.

Dördüncü hata — peak değil ortalama kullanmak. Günün ortalama varış hızı yerine peak hour hızı kritik. Mağaza günde 8 saat ortalama λ = 5 ama öğle yemeğinde λ = 20 görüyorsa, peak için tasarım yapılmalı.

Beşinci hata — Little Yasası’nı yanlış uygulamak. Little Yasası uzun-dönem ortalamaları için geçerlidir. Anlık değerler değil. Bir günlük gözlem üzerinden hesaplanan L/λ oranı W’nin gerçek beklentisinden sapabilir.

M/M/1’in ötesi: M/M/c, M/G/1, ağ kuyrukları

M/M/1 öğretici ama gerçek sistemler genelde daha karmaşıktır:

M/M/c: c paralel sunucu. Erlang C formülü ile çözülür; çağrı merkezleri ve sağlık tesisleri için temel araç.

M/M/c/K: Sistem kapasitesi K ile sınırlı. Tampon stoğunun sınırlı olduğu üretim hatları, sistem reddedebilir (overflow → bloklama).

M/G/1: Hizmet süresinin genel dağılımlı olması durumunda Pollaczek-Khinchine formülü kullanılır. Üstel olmayan hizmet süreleri için (örn. düzenli olarak 5 dakika alan operasyon).

Ağ kuyrukları (queueing networks): Birden fazla kuyruğun birbirine bağlandığı sistemler. Üretim atölyeleri, hastane departmanları, hesaplama klusterleri bu yapıdadır. Jackson ağları ve BCMP teoremi analitik çözüm sağlar.

Stochastic dynamic queueing: Talep ve hizmet hızlarının zamanla değiştiği (rush hour, sezonluk patlamalar) sistemler için simulasyon veya time-varying analitik modeller kullanılır.

Kuyruk teorisinin sezgisel dersleri

M/M/1 ve genelleştirmelerinin pratikten çıkardığı birkaç altın kural:

  1. Yoğunluğu tam dolu çalıştırmaya çalışma. ρ → 1’de bekleme süresi patlar. ρ 0.85 sınırı aşılmamalıdır.
  2. Değişkenlik düşmanın. Hem varış hem hizmet sürelerinin değişkenliği bekleme süresini doğrudan büyütür. Süreçleri standartlaştırarak varyansı azaltmak, kapasiteyi artırmak kadar etkilidir.
  3. Paralel sunucular tek büyük sunucudan iyidir. İki M/M/1 yerine bir M/M/2’ye gitmek (aynı toplam hizmet kapasitesinde) bekleme süresini anlamlı azaltır — çünkü tek bir kuyruk daha esnek dağıtım sağlar.
  4. Pooling avantajı vardır. Bankada her veznenin ayrı kuyruğu yerine tek tek-sıra-çoklu-vezne (M/M/c) düzeni daha hızlıdır.

Bu sezgiler kuyruk teorisinin yöneylem repertuarındaki kalıcı katkılarıdır.

Sonuç

M/M/1, kuyruk teorisinin “merhaba dünya”sıdır — basit varsayımlar altında zarif analitik sonuçlar verir ve karmaşık sistemleri anlamak için zihinsel iskelet sunar. Pratik uygulamalar genelde daha karmaşık modeller (M/M/c, M/G/1, queueing networks) gerektirir ama bunların hepsi M/M/1’in üzerine inşa edilmiştir.

Bu sitenin M/M/1 Kuyruk Analizci aracı klasik formülleri tarayıcıda hızlıca uygular ve durum olasılıklarını görsel olarak göstererir; konuyu pratik denemelerle hissetmek için iyi bir başlangıç. Daha derin akademik kaynak için Sheldon Ross’un “Introduction to Probability Models”, Kleinrock’un iki ciltlik “Queueing Systems” veya Gross/Harris’in “Fundamentals of Queueing Theory” referans kitaplarıdır.

Bekleme hatlarını matematikleştirmek ilk başta yapay görünebilir ama bir kez içine girdikten sonra etrafındaki her sırayı (banka, hastane, kasa, asansör, e-posta yanıt süresi) yeni gözle görmeye başlayacaksın. Bu, kuyruk teorisinin yöneylem öğrencilerine en güzel hediyelerinden biri.

Modern uygulamalar ve simulasyon

Karmaşık sistemler için analitik kuyruk teorisinin yetersiz kaldığı durumlarda kesikli olay simulasyonu (discrete-event simulation, DES) kullanılır. SimPy (Python), AnyLogic, Arena, FlexSim gibi yazılımlar bu işi otomatikleştirir. Modern bir hastane veya çağrı merkezi tasarım projesi tipik olarak şu adımları izler: (1) gerçek veriden λ ve hizmet süre dağılımları çıkarılır, (2) basit M/M/c analitik modeli üst sınır tahmini için kurulur, (3) detaylı simulasyon ile rolü tasarımlar (kaç sunucu, kapasiteler, vardiya sayıları) test edilir, (4) en iyi tasarım uygulamaya alınır.

Türkiye’de büyük operasyon merkezleri (THY uçuş kontrol, İBB akıllı şehir, hastane acil servisleri) bu tür simulasyon temelli karar süreçlerini kullanıyor. Yöneylem analistleri için kuyruk teorisi temelden başlamak gerekli ama tek başına yeterli değil; SimPy gibi bir simulasyon kütüphanesini de öğrenmek gerçek dünya etkisi için elzemdir. Kuyruk teorisi modellerinin akademik temeli ve simulasyon araçlarının pratik gücü, modern operasyon analistinin tamamlayıcı iki ayağıdır; ikisini birlikte kullanmak, kararların hem matematiksel olarak doğru hem de gerçek dünya karmaşıklığına uygun olmasını sağlar. Bu çift yönlü bakış, alanın ileri seviyesine geçen profesyonelleri ortalama uygulayıcılardan ayıran en belirgin özelliktir; öğrenme yolculuğunda her iki ayak için de zaman ayırmak değer; gerçek operasyon deneyimiyle pekiştirildiğinde kalıcı ve değerli bir uzmanlık alanı hâline gelir; sektörde bu profile yönelik talep her geçen yıl artmaya devam ediyor ve önümüzdeki yıllarda da artmaya devam edecek gibi görünüyor; bu da alana erken girenler için uzun-vadeli ve değerli kariyer fırsatları sunuyor olarak görülebilir.

Sıkça sorulanlar

Kuyruk teorisi tam olarak nedir?
Kuyruk teorisi (queueing theory), bekleme hatlarının matematiksel olarak modellenmesi ve analiz edilmesi disiplinidir. Müşterilerin bir sisteme nasıl geldiği, ne kadar bekledikleri, kaç sunucunun yeterli olduğu gibi soruları olasılık teorisi araçlarıyla cevaplar. Banka şubesinden çağrı merkezine, hastane acil servisinden web sunucusuna kadar geniş bir uygulama alanı vardır.
M/M/1 notasyonunda M ve 1 ne anlama geliyor?
Kendall notasyonu A/S/c biçimindedir. İlk M: müşteri varış sürecinin Memoryless (anılaksız) yani Poisson olduğu; ikinci M: hizmet sürelerinin de Memoryless (üstel) dağıldığı; 1: tek sunucu olduğu anlamına gelir. M/M/c c sunucu, M/M/c/K kapasite K, G/G/1 genel dağılımlı tek sunucu vb. genellemeleri vardır.
ρ (rho) nedir ve neden kritik?
ρ = λ/μ, sunucu yoğunluğunu (utilisation) gösterir; sunucunun zamanın % kaçında meşgul olduğunu söyler. M/M/1'de kararlı (steady-state) bir durum için ρ < 1 olmalıdır; aksi hâlde kuyruk sürekli büyür ve formüller geçersiz hâle gelir. ρ = 0.9 gibi yüksek değerlerde kuyruk hızla patlar — çoğu pratik sistem ρ < 0.85 hedefler.
Little Yasası neden bu kadar ünlü?
L = λW (uzun-dönem ortalama müşteri sayısı = varış hızı × ortalama kalış süresi) Little Yasası'dır. Olağanüstü genel: arrival/service dağılımından, sunucu sayısından, kuyruk disiplininden bağımsız olarak çalışır. M/M/1, M/M/c, M/G/1, hatta priority queue'larda bile geçerli. Pratikte bir metriği bilirseniz diğerini hesaplamak için kullanılır; çoğu kuyruk problemi Little Yasası ve birkaç dağılım varsayımıyla çözülür.
Gerçek hayatta varışlar gerçekten Poisson mı?
Pek çok pratik durumda evet, en azından yaklaşık olarak. Çağrı merkezine gelen aramalar, web sunucusuna düşen istekler, hastane acil servisi ziyaretleri, banka şubesi müşteri varışları gibi olaylar kabaca Poisson davranışı sergiler. Ana koşul varışların bağımsız olmasıdır. Sezonluk ya da kümelenmiş olaylarda (konser sonrası taksi talebi, ders bitiminde mensa varışı) Poisson varsayımı bozulur ve daha karmaşık modeller (M/D/1, M/G/1, MAP/G/1) gerekir.