TEORIA OBSŁUGI MASOWEJ mgr Marcin Ziółkowski Wstęp do teorii obsługi masowej
Początków nurtu naukowego nazwanego później TEORIĄ OBSŁUGI MASOWEJ (ang. Queuing theory) można doszukiwać się na początku XX wieku. Nurt ten powstał w związku z silnym rozwojem sieci telefonicznych oraz problemami praktycznymi związanymi z rozbudową już istniejących lub tworzeniem nowych sieci. Pojawiły się problemy dotyczące m.in. odpowiedniego doboru sprzętu, warunków tworzenia centrów telekomunikacyjnych itp. Można zgodzić się jednak, że za ojca tego nurtu należałoby uznać duńskiego naukowca AGNERA KRARUPA ERLANGA.
AGNER KRARUP ERLANG TWÓRCA TEORII OBSŁUGI MASOWEJ (1878-1929)
Agner Krarup Erlang urodził się w L nborg L na Półwyspie Jutlandzkim. Jego ojciec Hans Nielsen Erlang był dyrektorem lokalnej szkoły i urzędnikiem parafii. Matka była daleką krewną duńskiego matematyka Thomasa Fincke. Jako dziecko Agner towarzyszył w nauce swemu bratu Frederikowi czytając jego odwrócone ksiązki. W szkole młody Erlang interesował się astronomią. Po skończeniu szkoły podstawowej miał prywatnych nauczycieli. W wieku 14 lat udało mu się zdać z wyróżnieniem egzamin organizowany przez Uniwersytet Kopenhaski, musiał mieć specjalne pozwolenie na zdawanie tego egzaminu z uwagi na młody wiek. Przez kolejne dwa lata był nauczycielem w szkole swojego ojca.
W 1896 roku zdał egzaminy wstępne na Uniwersytet Kopenhaski. W 1901 roku otrzymał dyplom magistra matematyki jako głównego przedmiotu oraz astronomii, fizyki i chemii jako przedmiotów dodatkowych. Po ukończeniu studiów Erlang przez siedem lat uczył w różnych szkołach dając się poznać jako utalentowany pedagog. Był członkiem Duńskiego Stowarzyszenia Matematyków,, dzięki któremu poznał Johana Jensena,, głównego inżyniera Kopenhaskiej Kompanii Telefonicznej.. W 1908 roku został w niej zatrudniony jako pracownik naukowy, po pewnym czasie awansował na kierownika laboratorium. Erlang zajął się problemem ruchu w sieciach telekomunikacyjnych. W 1909 roku opublikował pierwszą pracę, w której udowodnił, że połączenia telefoniczne o charakterze losowym podlegają rozkładowi Poissona.
W swojej najważniejszej pracy w roku 1917 przedstawił wzory na prawdopodobieństwo blokady połączenia w centralach telefonicznych, znane jako model Erlanga (chodzi tu o system obsługi M/G/n/0 ). Jego publikacje były tłumaczone na wiele języków. Erlanga cechował zwięzły styl pisania, dlatego jego prace były ciężkie do zrozumienia dla osób nie będących specjalistami. Jeden z pracowników amerykańskiej kompanii telefonicznej nauczył się nawet duńskiego, aby móc czytać w oryginale jego prace. Od nazwiska Erlanga pochodzą nazwy jednostki natężenia ruchu telekomunikacyjnego oraz języka programowania. Erlang był również specjalistą od tworzenia tablic matematycznych, stosował własne metody obliczania wartości pewnych funkcji. Oprócz matematyki interesowała go historia, filozofia i poezja. Erlang nigdy się nie ożenił. Ciężka praca odbiła się na jego zdrowiu. Zmarł w 1929 roku po przebytej operacji.
Na początku modele matematyczne realnych systemów telekomunikacyjnych badane przez Erlanga i innych matematyków i inżynierów były pomocne w rozwiązywaniu wielu problemów technicznych. Od początku dyscyplina ta była zaliczana do matematyki stosowanej z uwagi na swój praktyczny charakter. W dalszych latach teoria rozwijała się, badano wiele nowych modeli, które miały swoje odpowiedniki w realnych systemach telekomunikacyjnych. Powstawały nowe metody badawcze i uzyskiwano wyniki ciekawe nie tylko ze względów teoretycznych ale również praktycznych.
Rola tego kierunku mocno wzrosła wraz z pojawieniem się komputerów i w dalszej kolejności sieci komputerowych. Okazało się bowiem, że matematyczne modele analizowane w teorii obsługi masowej mogą być zastosowane do modelowania systemów komputerowych. Przy odpowiednim podejściu i ewentualnym uogólnieniu wyniki znane z teorii obsługi masowej można bowiem zastosować przy rozwiązywaniu wielu praktycznych problemów dotyczących projektowania systemów informatycznych. Z drugiej strony pojawienie się nowych problemów natury praktycznej wymogło pojawienie się nowych dyscyplin w ramach kierunku np. teorii zgłoszeń o losowej objętości. W ostatnim dziesięcioleciu jest to kierunek naukowy o bardzo dużej liczbie bieżących publikacji naukowych, a jego rola cały czas wzrasta.
Czym więc jest teoria obsługi masowej?? 1) Jest to bardzo praktyczna dziedzina wiedzy wykorzystywana coraz częściej w dzisiejszym zinformatyzowanym świecie; 2) Jest to bardzo porządna teoria matematyczna związana z rachunkiem prawdopodobieństwa i teorią procesów stochastycznych, używająca jako narzędzi badawczych analizy zespolonej, teorii równań różniczkowych i całkowych i innych kierunków matematycznych.
Istotą teorii obsługi masowej są następujące terminy: 1) ZGŁOSZENIE bardzo ogólny termin, jest to osoba lub rzecz przybywająca do danego systemu w celu obsłużenia. Zgłoszeniem może być klient do kasy w sklepie, samochód czekający na skrzyżowaniu, list czekający na dostarczenie, a także np. proces obecny w pamięci operacyjnej komputera czy żądanie skierowane do serwera W teorii obsługi masowej zakłada się losowy charakter powstawania żądań obsługi tzn. odstęp czasu między sąsiednimi chwilami przybywania zgłoszeń do systemu jest nieujemną zmienną losową. Podobnie jest z innymi badanymi wielkościami. Stąd probabilistyczny charakter tej teorii.
2) WEJŚCIOWY STRUMIEŃ ZGŁOSZEŃ ciąg kolejnych odstępów czasu pomiędzy sąsiednimi chwilami przybycia zgłoszeń do systemu. Najczęściej jest REKURENCYJNY tzn. odstępy te są od siebie niezależne i mają jednakowy rozkład. 3) URZĄDZENIE OBSŁUGI osoba lub urządzenie, które wykonuje obsługę. Czas obsługi jest również nieujemną zmienną losową i podobnie jak przy strumieniu wejściowym najczęściej zakładamy, że obsługa jest REKURENCYJNA tzn. urządzenia obsługi pracują niezależnie od siebie, a czas obsługi każdego urządzenia ma taki sam rozkład. 4) KOLEJKA kolejka w systemie obsługi powstaje, gdy nie ma możliwości w danej chwili czasu obsłużenia wszystkich zgłoszeń, ponieważ wszystkie urządzenia są w tej chwili zajęte.
KLASYFIKACJA SYSTEMÓW OBSŁUGI Klasyfikację systemów obsługi prowadzimy zwykle według następujących cech: 1) Typ wejściowego strumienia zgłoszeń. Najczęściej w analizowanych modelach systemów obsługi strumień wejściowy jest strumieniem rekurencyjnym. Stąd jego konkretny typ określa się przez określenie rozkładu odstępów czasu między sąsiednimi chwilami przybycia zgłoszeń. 2) Rozkład łączny czasu obsługi zgłoszeń. W przeważającej części analizowanych systemów obsługa zgłoszeń jest rekurencyjna. Wówczas dla jej określenia wystarczy określić rozkład czasu obsługi.
3) Liczba urządzeń obsługi. W teorii obsługi masowej najczęściej analizowane są systemy mające jednakowe urządzenia obsługi, które mogą pracować jednocześnie. 4) Dyscyplina obsługi. W teorii obsługi masowej analizowane są najczęściej następujące dyscypliny: FIFO (first( in first out) zgłoszenia są obsługiwane w kolejności ich przybycia do systemu; LIFO (last( in first out) zgłoszenia są obsługiwane w kolejności odwrotnej do kolejności ich przybycia tzn. jako pierwsze obsługiwane jest zgłoszenie, które przybyło do systemu jako ostatnie;
PS (processor( sharing) wszystkie zgłoszenia znajdujące się w systemie są obsługiwane jednocześnie, natomiast prędkość obsługi każdego z k zgłoszeń znajdujących się w systemie jest k razy mniejsza od prędkości obsługi, z jaką byłyby obsługiwane zgłoszenia gdyby w systemie znajdowało się tylko jedno zgłoszenie. W pewnych przypadkach w teorii obsługi masowej analizowane są systemy z priorytetami,, w których pojawiające się zgłoszenia posiadają różne pierwszeństwa, od których zależy kolejność ich obsługi.
SYMBOLIKA KENDALLA Dla krótkiego oznaczenia dostatecznie prostych systemów obsługi używa się symboliki Kendalla: A/B/n/m Litera A oznacza typ strumienia wejściowego. Na przykład jeżeli A=M (Markov), strumień wejściowy jest najprostszy; A=BM oznacza strumień stacjonarny bez następstw (strumień najprostszy grupowy); A= E k - strumień Erlanga k-tego rzędu; A=D strumień wejściowy deterministyczny; A=G strumień wejściowy jest rekurencyjny o dowolnym rozkładzie odstępów czasu między sąsiednimi chwilami przybycia zgłoszeń.
Litera B oznacza typ rozkładu czasu obsługi. I tak np. B=M oznacza rozkład wykładniczy czasu obsługi; B= - rozkład Erlanga k-tego rzędu; B=D rozkład degeneratywny (czyli czas obsługi zgłoszeń jest stały); B=G oznacza obsługę rekurencyjną o dowolnym rozkładzie czasu obsługi. E k Litera n oznacza liczbę identycznych urządzeń obsługi : Litera m oznacza liczbę miejsc oczekiwania w kolejce : 1 n 0 m
W przypadku, gdy m=0,, zgłoszenia przybywające do systemu w chwilach, gdy w systemie wszystkie urządzenia obsługi są zajęte ulegają zniszczeniu (utraceniu). Systemy takie nazywamy systemami z utratą zgłoszeń. Jeżeli m = i wszystkie zgłoszenia oczekują cierpliwie na początek swojej obsługi, to odpowiadające systemy nazywamy systemami z oczekiwaniem, jeżeli dodatkowo wszystkie oczekujące zgłoszenia zostaną całkowicie obsłużone, to odpowiadające systemy nazywamy systemami bez utrat zgłoszeń. Jeżeli 0 < m <, to system nazywamy systemem z ograniczoną liczbą miejsc oczekiwania. W przypadku, gdy n=1,, system nazywamy jednoliniowym, natomiast, gdy n>1, to system nazywamy wieloliniowym.
OGÓLNY SCHEMAT DZIAŁANIA SYSTEMU OBSŁUGI Wejściowy strumień zgłoszeń Kolejka ( m miejsc) UO 1 UO 2 UO 3... UO n
W dalszym toku rozważań będziemy zakładać, że charakterystyki strumienia nie mają wpływu na kolejność i czas obsługi zgłoszeń. TRYB STACJONARNY DZIAŁANIA SYSTEMÓW OBSŁUGI Rozpatrzmy systemy obsługi typu G/G/n/m, gdzie 0 m. 1 n Rozpatrzmy strumień wejściowy który posiada intensywność. Intensywność strumienia wejściowego to inaczej średnia liczba zgłoszeń przybyłych do systemu w ciągu jednostki czasu. Można wykazać, że wielkość ta jest zawsze określona dla tzw. strumieni stacjonarnych, a ponieważ większość analizowanych strumieni to takie właśnie strumienie, więc od teraz zakładamy milcząco, że strumienie wejściowe są zawsze stacjonarne.,
Załóżmy dodatkowo, że intensywność jest skończona oraz załóżmy istnienie skończonego pierwszego momentu (wartości średniej (oczekiwanej) ) czasu obsługi β. Oznaczmy przez (t) liczbę zgłoszeń znajdujących się w systemie w chwili t. Proces losowy (t) jest podstawowym procesem badanym w teorii obsługi masowej. Jednym z najważniejszych zadań teorii obsługi masowej jest wyznaczanie charakterystyk tego procesu dla konkretnych modeli. Powstaje naturalne pytanie jak zachowuje się ten proces przy t.. Jest oczywiste, że w analizowanych warunkach jego przebieg zależy od wielkości n, m,, β. 1 1
Jeżeli n= to należy się spodziewać, że proces (t) przy dowolnych warunkach początkowych wraz ze wzrostem czasu będzie dążył do pewnego procesu stacjonarnego (to znaczy do procesu niezależnego od czasu, czyli faktycznie do zmiennej losowej) tzn. (t) (t) przy t w sensie zbieżności według rozkładu. 1 n <, 0 m < W przypadku, gdy część przybywających zgłoszeń będzie utracona. Część utraconych, przy ustalonych n oraz m, zgłoszeń będzie tym większa im większe będą wartości intensywności strumienia oraz pierwszego momentu czasu obsługi. W tym przypadku również proces (t) również wraz ze wzrostem czasu będzie dążył do pewnego procesu stacjonarnego. 1 n <, m = Najciekawszy jest przypadek, gdy. W tym przypadku warunki stacjonarne działania systemu obsługi będą istniały w pewnych ściśle określonych warunkach.
Jest oczywiste, że w tym przypadku z uwagi na fakt, że kolejka zgłoszeń oczekujących na obsługę jest nieograniczona, liczba zgłoszeń obecnych w systemie może wraz ze wzrostem czasu dążyć do nieskończoności. Można udowodnić, że warunki stacjonarne dla takiego systemu istnieją, gdy λ β. Inaczej mówiąc warunki stacjonarne 1 / n < 1 dla tego systemu będą spełnione, gdy średnia liczba zgłoszeń przybywających do systemu w ciągu jednostki czasu nie przekracza maksymalnej prędkości obsługi zgłoszeń tzn. średniej liczby zgłoszeń obsłużonych przez n niezależnych urządzeń obsługi w ciągu jednostki czasu. Wielkość ρ = λ β 1 / n nazywa się ładowaniem systemowym. Zatem warunki stacjonarne dla takiego systemu istnieją, gdy ρ = λ β 1 / n < 1.
CZAS OCZEKIWANIA I CZAS PRZEBYWANIA WZORY LITTLE A Rozpatrzmy dowolny system obsługi z oczekiwaniem i bez utraty zgłoszeń. Załóżmy, że dla badanego systemu istnieje tryb stacjonarny i wiadomo, że wartość oczekiwana czasu obsługi jest ograniczona i równa β. Definicja 1. Czasem oczekiwania zgłoszenia nazywamy długość przedziału czasowego od chwili jego przybycia do systemu do chwili początku jego obsługi. Definicja 2. Czasem przebywania zgłoszenia nazywamy długość przedziału czasowego od chwili jego przybycia do systemu do chwili zakończenia jego obsługi. 1
Jest oczywiste, że czas oczekiwania n-tego zgłoszenia oraz czas jego przebywania V n są nieujemnymi zmiennymi losowymi, przy czym V, gdzie jest czasem n = W n + ξ n ξ n obsługi n-tego zgłoszenia. W n Przypuśćmy, że w trybie stacjonarnym przy t, n mamy W n W, V n V w sensie zbieżności według rozkładu. Zmienne losowe W oraz V nazywamy odpowiednio stacjonarnym czasem oczekiwania oraz stacjonarnym czasem przebywania. EW = w 1 Oznaczmy przez pierwszy moment stacjonarnego czasu oczekiwania, a przez EV = v 1 pierwszy moment stacjonarnego czasu przebywania.
Przez L = Eη oznaczmy wartość średnią liczby zgłoszeń w trybie stacjonarnym, przez N wartość średnią stacjonarnej liczby zgłoszeń oczekujących na obsługę, a przez M wartość średnią stacjonarnej liczby zajętych urządzeń obsługi. Twierdzenie (Wzory Little a).. Przy przyjętych założeniach i oznaczeniach zachodzą następujące wzory: L = λ v, N = λ w, M = λ β 1 1 1 (1) Wzory (1) są często wykorzystywane praktycznie do oceny charakterystyk stacjonarnych systemów obsługi.