Wszechnica Wszechwiedzy - Baner

Teoria kolejek — modele obsługi masowej, natężenie ruchu i podstawowe wzory

Teoria kolejek pozwala opisywać systemy, w których zgłoszenia, klienci, pojazdy lub zadania pojawiają się szybciej albo wolniej, niż mogą zostać obsłużone. Dzięki niej można oszacować średnią długość kolejki, czas oczekiwania, wykorzystanie stanowisk obsługi oraz skutki zwiększenia liczby kas, konsultantów, serwerów lub innych zasobów.

Czym jest teoria kolejek?

Teoria kolejek, nazywana też teorią obsługi masowej, zajmuje się analizą systemów, do których napływają zgłoszenia wymagające obsługi. Zgłoszeniem może być klient przy kasie, pacjent w przychodni, samochód na bramce autostradowej, połączenie telefoniczne, zlecenie produkcyjne, paczka w sortowni albo żądanie wysłane do serwera internetowego.

Jeżeli zgłoszenie pojawia się w chwili, w której odpowiednie stanowisko jest wolne, obsługa może rozpocząć się natychmiast. Jeżeli wszystkie stanowiska są zajęte, zgłoszenie trafia do kolejki. Celem analizy nie jest zwykle całkowite wyeliminowanie oczekiwania, ponieważ mogłoby to wymagać utrzymywania zbyt dużej i kosztownej liczby stanowisk. Chodzi raczej o znalezienie rozsądnej równowagi między kosztem zasobów a poziomem obsługi.

Modele kolejkowe pomagają między innymi odpowiedzieć na pytania:

Elementy systemu kolejkowego

Każdy system obsługi masowej można opisać za pomocą kilku podstawowych elementów.

Podstawowe elementy systemu kolejkowego
Element Znaczenie Przykład
Źródło zgłoszeń Zbiór potencjalnych klientów, zadań lub obiektów wymagających obsługi. Klienci sklepu, pacjenci, samochody, użytkownicy aplikacji.
Strumień przybyć Sposób, w jaki zgłoszenia pojawiają się w systemie. Średnio 18 klientów na godzinę.
Kolejka Zbiór zgłoszeń oczekujących na rozpoczęcie obsługi. Osoby stojące przed kasą.
Kanał obsługi Pojedyncze stanowisko zdolne do obsługi jednego zgłoszenia w danej chwili. Jedna kasa, konsultant, lekarz, serwer.
Liczba kanałów Liczba równoległych stanowisk obsługi. Dwie kasy lub pięciu konsultantów infolinii.
Pojemność systemu Maksymalna liczba zgłoszeń mogących jednocześnie znajdować się w kolejce i obsłudze. Parking na 30 samochodów albo infolinia z limitem połączeń.
Dyscyplina kolejki Zasada określająca kolejność obsługi zgłoszeń. FIFO, priorytety, obsługa losowa.

Kanał obsługi i stanowisko obsługi

W praktyce określenia kanał obsługistanowisko obsługi często stosuje się zamiennie. Jeden kanał oznacza, że w danym momencie można obsłużyć jedno zgłoszenie. System jednokanałowy może być więc reprezentowany przez pojedynczą kasę, jedno okienko, jednego konsultanta albo jeden serwer.

System wielokanałowy ma kilka stanowisk działających równolegle. Przykładem są trzy kasy w sklepie, cztery bramki wejściowe albo zespół konsultantów odbierających połączenia.

Dyscyplina kolejki

Najczęściej stosowana jest zasada FIFO (First In, First Out), czyli „pierwszy przybył, pierwszy obsłużony”. W niektórych systemach występują jednak inne reguły:

Wzory dla klasycznych modeli \(M/M/1\) i \(M/M/c\) odnoszą się zwykle do kolejki FIFO. Przy priorytetach lub innych regułach obsługi parametry oczekiwania mogą wyglądać inaczej.

Najważniejsze oznaczenia

Najczęściej stosowane symbole w teorii kolejek
Symbol Znaczenie
\(\lambda\) Średnia stopa przybyć, czyli przeciętna liczba zgłoszeń pojawiających się w jednostce czasu.
\(\mu\) Średnia stopa obsługi jednego kanału, czyli przeciętna liczba zgłoszeń obsługiwanych przez jedno stanowisko w jednostce czasu.
\(c\) Liczba równoległych kanałów obsługi.
\(\rho\) Współczynnik wykorzystania kanału albo systemu.
\(a\) Natężenie ruchu oferowanego, najczęściej \(a=\frac{\lambda}{\mu}\).
\(L\) Średnia liczba zgłoszeń w całym systemie: w kolejce i w obsłudze.
\(L_q\) Średnia liczba zgłoszeń oczekujących wyłącznie w kolejce.
\(W\) Średni czas przebywania zgłoszenia w systemie: od przybycia do zakończenia obsługi.
\(W_q\) Średni czas oczekiwania przed rozpoczęciem obsługi.
\(P_n\) Prawdopodobieństwo, że w systemie znajduje się dokładnie \(n\) zgłoszeń.
\(P_0\) Prawdopodobieństwo, że system jest pusty.

Jednostki muszą być spójne

Jeżeli \(\lambda\) i \(\mu\) podajemy w zgłoszeniach na godzinę, to czasy \(W\) i \(W_q\) otrzymamy w godzinach. Aby uzyskać minuty, wynik należy pomnożyć przez 60. Mieszanie klientów na godzinę z czasem obsługi wyrażonym w minutach jest jednym z najczęstszych błędów rachunkowych.

Proces przybyć i proces obsługi

W modelach kolejkowych istotne jest nie tylko to, ile średnio zgłoszeń pojawia się w systemie, lecz także jaki ma charakter zmienność przybyć i obsługi. Dwa systemy o takim samym średnim tempie mogą tworzyć zupełnie inne kolejki, jeżeli w jednym z nich zgłoszenia pojawiają się regularnie, a w drugim skokowo i losowo.

Przybycia typu Poissona

W wielu podstawowych modelach zakłada się, że liczba zgłoszeń pojawiających się w danym przedziale czasu ma rozkład Poissona. Oznacza to między innymi, że przybycia są losowe i niezależne, a średnia liczba zgłoszeń w jednostce czasu wynosi \(\lambda\).

Równoważnie można powiedzieć, że odstępy czasu między kolejnymi przybyciami mają rozkład wykładniczy. Średni czas między przybyciami wynosi wtedy:

\[ \frac{1}{\lambda} \]

Wykładniczy czas obsługi

Jeżeli czas obsługi ma rozkład wykładniczy, średnia liczba zgłoszeń obsługiwanych przez jeden kanał w jednostce czasu wynosi \(\mu\). Średni czas obsługi pojedynczego zgłoszenia to:

\[ \frac{1}{\mu} \]

Przykładowo, gdy kasjer obsługuje średnio 24 klientów na godzinę, średni czas obsługi wynosi \(\frac{1}{24}\) godziny, czyli 2,5 minuty.

Notacja Kendalla

Systemy kolejkowe opisuje się skrótowo za pomocą notacji Kendalla. Najczęściej spotyka się zapis:

\[ A/S/c \]

W rozszerzonej postaci zapis może wyglądać następująco:

\[ A/S/c/K/N/D \]
Elementy notacji Kendalla
Pozycja Znaczenie
\(A\) Rozkład procesu przybyć.
\(S\) Rozkład czasu obsługi.
\(c\) Liczba kanałów obsługi.
\(K\) Maksymalna liczba zgłoszeń w całym systemie.
\(N\) Liczebność populacji źródłowej.
\(D\) Dyscyplina kolejki, na przykład FIFO.

Najczęściej stosowane oznaczenia rozkładów to:

Zapis \(M/M/1\) oznacza więc losowe przybycia, losowy wykładniczy czas obsługi oraz jeden kanał obsługi. Zapis \(M/M/3\) opisuje taki sam charakter przybyć i obsługi, ale z trzema równoległymi stanowiskami.

Prawo Little’a

Jedną z najważniejszych zależności w teorii kolejek jest prawo Little’a. Łączy ono średnią liczbę zgłoszeń w systemie ze średnim czasem przebywania w tym systemie:

\[ L=\lambda W \] 

Analogicznie dla samej kolejki:

\[ L_q=\lambda W_q \] 

Prawo Little’a ma bardzo szerokie zastosowanie. Nie wymaga ono wyłącznie założenia wykładniczych czasów obsługi ani przybyć typu Poissona. Wymaga jednak stabilności systemu i właściwego rozumienia stopy przybyć. Gdy system ma ograniczoną pojemność i część klientów jest odrzucana, należy stosować efektywną stopę przybyć, a nie liczbę wszystkich prób wejścia do systemu.

Interpretacja prawa Little’a

Jeżeli do systemu przybywa średnio 20 klientów na godzinę, a przeciętny klient przebywa w nim przez 12 minut, czyli 0,2 godziny, to średnia liczba klientów w systemie wynosi:

\[ L=20\cdot0{,}2=4 \]

Średnio w systemie będą więc cztery osoby: część może czekać, a część może być właśnie obsługiwana.

Model jednokanałowy \(M/M/1\)

Model \(M/M/1\) jest podstawowym modelem teorii kolejek. Zakłada on, że przybycia są losowe typu Poissona, czasy obsługi mają rozkład wykładniczy, a w systemie działa jedno stanowisko obsługi. Przyjmuje się także nieograniczoną kolejkę oraz obsługę według reguły FIFO.

Warunek stabilności

System jednokanałowy ma sens w stanie ustalonym tylko wtedy, gdy średnia stopa przybyć jest mniejsza od średniej stopy obsługi:

\[ \lambda\mu \]

Współczynnik wykorzystania kanału wynosi:

\[ \rho=\frac{\lambda}{\mu} \]

Warunek stabilności można więc zapisać również jako \(\rho1\). Gdy \(\rho\) zbliża się do 1, stanowisko jest niemal stale zajęte, a średni czas oczekiwania gwałtownie rośnie. Jeżeli \(\lambda\geq\mu\), kolejka ma tendencję do narastania bez ograniczeń.

Prawdopodobieństwa stanów

Prawdopodobieństwo, że system jest pusty, wynosi:

\[ P_0=1-\rho \]

Prawdopodobieństwo, że w systemie znajduje się dokładnie \(n\) zgłoszeń, wynosi:

\[ P_n=(1-\rho)\rho^n \]

Wartość \(n\) obejmuje zarówno klientów oczekujących, jak i klienta obsługiwanego. Gdy \(n=0\), system jest pusty. Gdy \(n=1\), jedna osoba jest obsługiwana i nikt nie czeka. Gdy \(n=4\), jedna osoba jest obsługiwana, a trzy oczekują w kolejce.

Podstawowe wzory dla \(M/M/1\)

Wzory dla modelu jednokanałowego \(M/M/1\)
Wielkość Wzór Interpretacja
Wykorzystanie kanału \(\rho=\frac{\lambda}{\mu}\) Udział czasu, przez który stanowisko jest przeciętnie zajęte.
Średnia liczba zgłoszeń w systemie \(L=\frac{\lambda}{\mu-\lambda}=\frac{\rho}{1-\rho}\) Obejmuje oczekujących oraz zgłoszenie aktualnie obsługiwane.
Średnia liczba zgłoszeń w kolejce \(L_q=\frac{\lambda^2}{\mu(\mu-\lambda)}=\frac{\rho^2}{1-\rho}\) Obejmuje wyłącznie oczekujących.
Średni czas w systemie \(W=\frac{1}{\mu-\lambda}\) Obejmuje czas oczekiwania i obsługi.
Średni czas oczekiwania \(W_q=\frac{\lambda}{\mu(\mu-\lambda)}=\frac{\rho}{\mu(1-\rho)}\) Czas od przybycia do rozpoczęcia obsługi.

Warto zauważyć zależność:

\[ W=W_q+\frac{1}{\mu} \]

Średni czas w systemie składa się zatem ze średniego czasu oczekiwania oraz średniego czasu obsługi.

Wysokie wykorzystanie nie zawsze jest korzystne

Intuicyjnie może się wydawać, że wykorzystanie stanowiska bliskie 100% jest optymalne. W systemach kolejkowych zwykle oznacza jednak bardzo długie oczekiwanie. Przy \(\rho=0{,}50\) stanowisko jest zajęte przez połowę czasu, ale przy \(\rho=0{,}95\) nawet niewielkie opóźnienia i losowe skoki liczby zgłoszeń mogą wywołać długą kolejkę.

Model wielokanałowy \(M/M/c\)

Model \(M/M/c\) opisuje system, w którym działa \(c\) identycznych kanałów obsługi. Każdy kanał ma średnią stopę obsługi \(\mu\), a całkowita potencjalna zdolność obsługowa systemu wynosi \(c\mu\).

Przykładem może być infolinia z trzema konsultantami, dział obsługi klienta z pięcioma pracownikami albo sklep z czterema równoległymi kasami.

Warunek stabilności i wykorzystanie kanałów

W systemie wielokanałowym warunek stabilności ma postać:

\[ \lambda

Przyjmuje się oznaczenia:

\[ a=\frac{\lambda}{\mu} \qquad\text{oraz}\qquad \rho=\frac{\lambda}{c\mu}=\frac{a}{c} \]

Wielkość \(a\) oznacza oferowane natężenie ruchu. Natomiast \(\rho\) pokazuje średnie wykorzystanie pojedynczego kanału. Wymóg stabilności oznacza, że \(\rho1\).

Wzory Erlanga C dla \(M/M/c\)

W modelu z nieograniczoną kolejką podstawą obliczeń jest prawdopodobieństwo pustego systemu:

\[ P_0= \left[ \sum_{n=0}^{c-1}\frac{a^n}{n!} + \frac{a^c}{c!(1-\rho)} \right]^{-1} \]

Następnie wyznaczamy prawdopodobieństwo, że nowo przybywające zgłoszenie będzie musiało czekać. Jest to tak zwana formuła Erlanga C:

\[ P_{\text{oczek}}= \frac{a^c}{c!(1-\rho)}P_0 \]

Średnia liczba zgłoszeń oczekujących w kolejce wynosi:

\[ L_q= P_{\text{oczek}} \cdot \frac{\rho}{1-\rho} \]

Pozostałe wielkości wyznaczamy za pomocą prawa Little’a:

\[ W_q=\frac{L_q}{\lambda} \]
\[ W=W_q+\frac{1}{\mu} \]
\[ L=\lambda W \] 

W przypadku systemu wielokanałowego średni czas samej obsługi nadal wynosi \(\frac{1}{\mu}\), ponieważ pojedyncze zgłoszenie korzysta tylko z jednego kanału. Zwiększenie liczby kanałów nie skraca bezpośrednio obsługi, ale może znacząco skrócić czas oczekiwania.

Model \(M/D/1\) jako porównanie

Nie każdy system ma losowy czas obsługi. Jeżeli obsługa trwa zawsze tyle samo, stosuje się oznaczenie \(D\). W modelu \(M/D/1\) przybycia są losowe, ale czas obsługi jest stały.

Dla tego modelu, przy \(\rho=\frac{\lambda}{\mu}1\), średni czas oczekiwania wynosi:

\[ W_q= \frac{\rho}{2\mu(1-\rho)} \]

W porównaniu z \(M/M/1\) oczekiwanie jest krótsze, ponieważ brak losowości czasu obsługi zmniejsza wahania kolejki. Przy tych samych wartościach \(\lambda\) i \(\mu\) model \(M/D/1\) daje średni czas oczekiwania równy połowie wartości z modelu \(M/M/1\).

Systemy z ograniczoną pojemnością

Nie każda kolejka może rosnąć bez końca. Parking ma określoną liczbę miejsc, poczekalnia ma ograniczoną pojemność, a system teleinformatyczny może przyjmować jedynie określoną liczbę równoczesnych zgłoszeń. Gdy system jest pełny, kolejne zgłoszenie może zostać odrzucone, utracone albo skierowane gdzie indziej.

Klasyczny model jednokanałowy o ograniczonej pojemności oznacza się jako \(M/M/1/K\), gdzie \(K\) jest maksymalną liczbą zgłoszeń w całym systemie, a więc łącznie w kolejce i w obsłudze.

Dla \(\rho\neq1\) prawdopodobieństwo pustego systemu wynosi:

\[ P_0= \frac{1-\rho}{1-\rho^{K+1}} \]

Prawdopodobieństwo wystąpienia dokładnie \(n\) zgłoszeń w systemie wynosi:

\[ P_n=\rho^nP_0 \qquad\text{dla}\qquad n=0,1,\dots,K \]

Jeżeli system jest pełny, nowe zgłoszenie nie zostaje przyjęte. Prawdopodobieństwo utraty zgłoszenia jest zatem równe:

\[ P_{\text{straty}}=P_K \]

Efektywna stopa przybyć, czyli liczba zgłoszeń faktycznie przyjętych do systemu, wynosi:

\[ \lambda_{\text{eff}}= \lambda(1-P_K) \]

W systemach z odrzuceniami to właśnie \(\lambda_{\text{eff}}\) należy zastosować w prawie Little’a:

\[ L=\lambda_{\text{eff}}W \qquad\text{oraz}\qquad L_q=\lambda_{\text{eff}}W_q \]

Co jest kosztem pełnej kolejki?

W niektórych systemach odrzucone zgłoszenie oznacza jedynie chwilową niedogodność. W innych oznacza utracone zamówienie, nieodebrane połączenie, niezadowolenie klienta albo ryzyko operacyjne. Dlatego przy projektowaniu systemu należy analizować nie tylko średni czas oczekiwania, ale także prawdopodobieństwo blokady i koszt utraconych zgłoszeń.

Jedna kolejka czy wiele kolejek?

System wielokanałowy może działać na dwa podstawowe sposoby. W pierwszym wariancie wszyscy klienci ustawiają się w jednej wspólnej kolejce, a następnie przechodzą do pierwszego wolnego stanowiska. W drugim wariancie każde stanowisko ma własną kolejkę.

Porównanie organizacji kolejek
Rozwiązanie Zalety Ograniczenia
Jedna wspólna kolejka Lepsze równoważenie obciążenia, mniejsze ryzyko, że jedna kolejka będzie długa, a inne prawie puste, większe poczucie sprawiedliwości. Wymaga miejsca organizacyjnego i sprawnego kierowania klientów do wolnych stanowisk.
Oddzielne kolejki Prostsze do utworzenia, mogą być wygodne przy stanowiskach o różnych funkcjach. Klienci mogą wybrać wolniejszą kolejkę, a obciążenie stanowisk może być nierównomierne.
Kolejki priorytetowe Umożliwiają szybszą obsługę zgłoszeń pilnych lub szczególnie ważnych. Mogą wydłużać oczekiwanie klientów standardowych i wymagają jasnych zasad priorytetyzacji.

W wielu systemach jedna wspólna kolejka pozwala lepiej wykorzystać dostępne stanowiska. Nie jest to jednak bezwzględna zasada. Oddzielne kolejki mogą być uzasadnione, gdy stanowiska różnią się kompetencjami, obsługują inne typy spraw albo wymagają specjalistycznego wyposażenia.

Przykład \(M/M/1\) — jedna kasa

Rozważmy mały punkt obsługi z jedną kasą. Klienci przychodzą średnio z intensywnością 18 klientów na godzinę. Kasjer obsługuje średnio 24 klientów na godzinę. Zakładamy model \(M/M/1\).

Dane:

\[ \lambda=18\ \text{klientów/godz.} \]
\[ \mu=24\ \text{klientów/godz.} \]

Najpierw sprawdzamy stabilność systemu:

\[ 1824 \]

System jest stabilny. Współczynnik wykorzystania kasy wynosi:

\[ \rho=\frac{18}{24}=0{,}75 \]

Kasa jest więc zajęta przeciętnie przez 75% czasu. Prawdopodobieństwo, że system jest pusty, wynosi:

\[ P_0=1-0{,}75=0{,}25 \]

Średnia liczba klientów w systemie:

\[ L=\frac{18}{24-18}=3 \]

Średnia liczba klientów oczekujących w kolejce:

\[ L_q=\frac{18^2}{24(24-18)} = \frac{324}{144} = 2{,}25 \]

Średni czas przebywania klienta w systemie:

\[ W=\frac{1}{24-18} = \frac{1}{6}\ \text{godziny} = 10\ \text{minut} \]

Średni czas oczekiwania w kolejce:

\[ W_q= \frac{18}{24(24-18)} = \frac{18}{144}\ \text{godziny} = 0{,}125\ \text{godziny} = 7{,}5\ \text{minuty} \]

Interpretacja wyniku

Klient spędza w systemie średnio 10 minut, z czego około 7,5 minuty oczekuje, a około 2,5 minuty trwa sama obsługa. W całym systemie znajduje się średnio 3 klientów, przy czym średnio 2,25 osoby czekają, a jedna jest obsługiwana.

Przykład \(M/M/2\) — dwa stanowiska obsługi

Załóżmy teraz, że do punktu obsługi przybywa średnio 30 klientów na godzinę. Działają dwa identyczne stanowiska, a każde z nich obsługuje średnio 20 klientów na godzinę. Mamy więc model \(M/M/2\).

\[ \lambda=30, \qquad \mu=20, \qquad c=2 \]

Najpierw obliczamy natężenie ruchu oferowanego i wykorzystanie kanałów:

\[ a=\frac{\lambda}{\mu} = \frac{30}{20} = 1{,}5 \]
\[ \rho= \frac{\lambda}{c\mu} = \frac{30}{2\cdot20} = 0{,}75 \]

Każde stanowisko jest średnio wykorzystane w 75%, a system jest stabilny, ponieważ:

\[ 302\cdot20=40 \]

Wyznaczamy prawdopodobieństwo pustego systemu:

\[ P_0= \left[ \frac{1{,}5^0}{0!} + \frac{1{,}5^1}{1!} + \frac{1{,}5^2}{2!(1-0{,}75)} \right]^{-1} \]
\[ P_0= \left[ 1+1{,}5+\frac{2{,}25}{2\cdot0{,}25} \right]^{-1} = \left[ 1+1{,}5+4{,}5 \right]^{-1} = \frac{1}{7} \approx0{,}1429 \]

Prawdopodobieństwo, że nowy klient będzie musiał czekać, wynosi:

\[ P_{\text{oczek}}= \frac{1{,}5^2}{2!(1-0{,}75)} \cdot \frac{1}{7} = \frac{4{,}5}{7} \approx0{,}6429 \]

Średnia liczba klientów oczekujących w kolejce:

\[ L_q= 0{,}6429 \cdot \frac{0{,}75}{1-0{,}75} \approx1{,}9286 \]

Średni czas oczekiwania wynosi:

\[ W_q= \frac{1{,}9286}{30} \approx0{,}0643\ \text{godziny} \approx3{,}86\ \text{minuty} \]

Średni czas przebywania klienta w systemie:

\[ W= 3{,}86+3 \approx6{,}86\ \text{minuty} \]

Średnia liczba klientów w całym systemie:

\[ L= 30\cdot\frac{6{,}86}{60} \approx3{,}43 \]

Interpretacja wyniku

Mimo że każde stanowisko jest wykorzystane średnio tylko w 75%, około 64,3% klientów musi chwilę poczekać, ponieważ zdarzają się momenty, gdy oba stanowiska są jednocześnie zajęte. Średni czas oczekiwania wynosi jednak mniej niż 4 minuty, a średni czas całkowity w systemie niecałe 7 minut.

Najczęstsze błędy

Podsumowanie

Teoria kolejek umożliwia ilościową analizę systemów, w których zgłoszenia konkurują o ograniczone zasoby obsługowe. Podstawowe parametry to stopa przybyć \(\lambda\), stopa obsługi \(\mu\), liczba kanałów \(c\), wykorzystanie systemu \(\rho\), średnia liczba zgłoszeń \(L\) i \(L_q\) oraz średnie czasy \(W\) i \(W_q\).

Model \(M/M/1\) opisuje jeden kanał obsługi, a \(M/M/c\) system z wieloma równoległymi stanowiskami. W obu przypadkach kluczowe jest sprawdzenie warunku stabilności. Im bardziej wykorzystanie systemu zbliża się do 100%, tym szybciej rosną przeciętne kolejki i czasy oczekiwania.

W praktyce analiza kolejek pomaga dobrać liczbę kas, konsultantów, serwerów, stanowisk produkcyjnych albo miejsc w poczekalni. Dzięki temu można równoważyć koszt utrzymywania zasobów z jakością obsługi klientów i niezawodnością całego procesu.

Powiązane artykuły

Masz problem z tym tematem?

Wszechwiedza.pl pomaga zrozumieć matematykę, statystykę, ekonometrię, badania operacyjne, analizę danych, mechanikę, rachunkowość i wiele innych przedmiotów — spokojnie, konkretnie i krok po kroku. 

Zapytaj o pomoc