A sorbanállási elmélet alapjai
Dr. Sztrik János
Debreceni Egyetem, Informatikai Kar
Lektorálta: Dr. Bíró József MTA doktora, egyetemi tanár
2
Jelen jegyzetet feleségemnek ajánlom, aki nélkül ez a munka sokkal hamarabb elkészült volna. • Ha valami egyszer elromolhat, akkor el is fog romlani. • A szakértői rendszerek arról ismerhetők fel, hogy abból az ismeretből, miszerint ”egy rózsa illatosabb, mint egy káposztafej”, azt a következtetést vonják le, hogy a rózsából jobb levest is lehet főzni. • Minél kevesebb funkciója van egy programnak, annál tökéletesebben hajtja végre azokat. • Az a vírus, amelyik megtámadta gépedet csak azokat az állományokat fertőzi meg, amelyekről nincsenek biztonsági másolataid. • Hibátlan program megírása olyan, mint a kör négyszögesítése. Mindenki azt hiszi, hogy lehetséges, de ilyent még senki sem látott. • Ha egy rövid sor felé haladsz, az orrod előtt hosszú lesz belőle. • Ha hosszú sorban várakozol, a mögötted állókat új, rövidebb sorba terelik át. • Ha kilépsz egy pillanatra a rövid sorból, azonnal meghosszabbodik. • Ha rövid sorban várakozol, az előtted állók beeresztik barátaikat és rokonaikat, így lesz hosszú sor belőle. • Az, ami rövid sor az épületen kívül, valójában hosszú sor az épületen belül. • Ha elég hosszú ideig állsz egy helyben, sorbanállást idézel elő.
(Arthur Block: Murphy törvénykönyve) 3
4
Tartalomjegyzék Előszó
7
I.
9
A sorbanállási elmélet alapjai
1. A sorbanállási elmélet alapfogalmai 1.1. A sorbanállási rendszerek jellemzői . . . . . . . . . . . . 1.2. Kendall-féle jelölés-rendszer . . . . . . . . . . . . . . . . 1.3. Születési-halálozási folyamatokra vonatkozó összefüggések 1.4. Sorbanállási szoftverek . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
11 12 15 15 16
2. Végtelen-forrású rendszerek 2.1. Az M/M/1 típusú sorbanállási rendszer . . . . . . . . . . 2.2. M/M/1 rendszer tétovázó (elriasztott) igények esetében . 2.3. Prioritásos M/M/1 rendszer . . . . . . . . . . . . . . . . 2.4. Az M/M/1/K típusú, véges befogadóképességű rendszer 2.5. Az M/M/∞ típusú rendszer . . . . . . . . . . . . . . . . 2.6. Az M/M/n/n típusú Erlang-féle veszteséges rendszer . . 2.7. Az M/M/n típusú rendszer . . . . . . . . . . . . . . . . 2.8. Az M/M/c/K rendszer . . . . . . . . . . . . . . . . . . . 2.9. Az M/G/1 rendszer . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
19 19 27 32 34 39 40 47 57 60
3. Véges-forrású rendszerek 3.1. Az M/M/r/r/n modell, Engset-féle veszteséges rendszer 3.2. Az M/M/1/n/n modell . . . . . . . . . . . . . . . . . . 3.3. Inhomogén modellek . . . . . . . . . . . . . . . . . . . . ~ /M ~ /1/n/n/P S rendszer . . . . . . . . . . . 3.3.1. Az M ~ /M ~ /1/n/n/F IF O rendszer . . . . . . . . . 3.3.2. Az M ~ /M ~ /1/n/n/P R rendszer . . . . . . . . . . . 3.3.3. Az M 3.4. Homogén forrású modellek összehasonlítása . . . . . . . . 3.5. Az M/M/r/n/n modell . . . . . . . . . . . . . . . . . . 3.6. Az M/M/r/K/n rendszer . . . . . . . . . . . . . . . . . 3.7. Az M/G/1/n/n/P S rendszer . . . . . . . . . . . . . . . ~ 3.8. A G/M/r/n/n/F IF O modell . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
71 71 75 90 91 92 94 97 98 111 113 116
5
II.
Feladatgyűjtemény
125
4. Végtelen-forrású rendszerek
127
5. Véges-forrású rendszerek
143
III.
147
A sorbanállási elmélet összefoglaló táblázatai
6. Jelölések és összefüggések 149 6.1. Jelölések és definíciók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.2. A valószínűségi változók közötti összefüggések . . . . . . . . . . . . . . . 152 7. Sorbanállási rendszerek 7.1. Sorbanállási rendszerek formulái . . . . . . . . . 7.1.1. M/M/1 Sorbanállási képletek . . . . . . 7.1.2. M/M/1/K Sorbanállási képletek . . . . . 7.1.3. M/M/c Sorbanállási képletek . . . . . . 7.1.4. M/M/2 Sorbanállási képletek . . . . . . 7.1.5. M/M/c/c Sorbanállási képletek . . . . . 7.1.6. M/M/c/K Sorbanállási képletek . . . . . 7.1.7. M/M/∞ Sorbanállási képletek . . . . . . 7.1.8. M/M/1/K/K Sorbanállási képletek . . . 7.1.9. M/G/1/K/K Sorbanállási képletek . . . 7.1.10. M/M/c/K/K Sorbanállási képletek . . . 7.1.11. D/D/c/K/K Sorbanállási képletek . . . . 7.1.12. M/G/1 Sorbanállási képletek . . . . . . 7.1.13. GI/M/1 Sorbanállási képletek . . . . . . 7.1.14. GI/M/c Sorbanállási képletek . . . . . . 7.1.15. M/G/1 Prioritásos sorbanállási rendszer 7.1.16. M/M/c Prioritásos rendszer . . . . . . . Irodalomjegyzék
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
153 153 153 155 156 158 160 161 163 164 166 167 169 170 178 180 182 192 197
6
Előszó A mindennapi élet egyre több cselekvését átszövő modern infokommunikáció állandó fejlesztésre ösztönzi a szakembereket. Természetesen ez nem korlátozható egyetlen tudományágra, hiszen fontos szerepet játszanak a mérnökök és az elméleti kutatást végző tudósok is. Az informatikai rendszerek sok alkalmazási területet ölelnek fel, többek között a fent említett infokommunikációs hálózatokat. Hogy jobban megértsük a háttérben zajló fejlesztő munka egyes lépéseit, szükségünk van pl. az igények kiszolgálási folyamatát modellező matematikai módszerek és eszközök megismerésére. A kiszolgálási rendszerek hatékonyságának, megbízhatóságának elemzése az alkalmazott matematika egyik legdinamikusabban fejlődő területe. A gyakorlatban felmerülő problémák újabb és újabb módszerek kidolgozását igénylik. Jelen segédletben a megbízhatóság-elméleti és sorbanállási problémákra koncentrálva a legfontosabbnak ítélt eljárásokat és megközelítéseket tárgyalom. Az összeállított Markovi-szintű modellek felépítése csupán alapvető valószínűségszámítási ismereteket tételez fel. Próbálok betekintést nyújtani a modellalkotásba, a képletek származtatásába kiszámításába és az eredmények kiértékelésébe. A jegyzete célja, hogy az olvasókat megismertessem a sztochasztikus modellezés alapvető fogalmaival, eszközeivel és eljárásaival. Fontos szerep jut a szemléletmód kialakításának hiszen értelmes választ csak értelmes kérdésre lehet adni. Hiába a szép, zárt-alakú analitikus matematikai képlet, ha nem tudjuk kiszámítani. Ezért mutatom meg, hogyan lehet ugyanazt a problémát különböző oldalról is megközelíteni. Ne elégedjünk meg csak egyfajta megoldással, ha lehetséges más módszerrel is ellenőrizzük az eredményeket! Arra törekedtem, hogy mind a mérnöki, mind pedig a matematikusi gondolkodásmód is helyet kapjon. Sok esetben megadtam a pontos formulák rekurzív illetve közelítő kiszámítási lehetőségét is. Egyszerű példákon keresztül igyekeztem megmutatni a szokásos megoldási eljárásokat és a matematikai módszereket. Az alapvető cél, hogy meglássuk mi van az analitikus képletek mögött, vagyis hogyan kapjuk őket. Ez azért fontos, hogy az olvasók később maguk is képesek legyenek a saját képleteiket megalkotni. Hangsúlyozni kell, hogy ezek az egyszerű modellek egy nagyon fontos feltevésen alapulnak, nevezetesen, hogy a fellépő valószínűségi változók exponenciális eloszlásúak. Ezen eloszlás emlékezetnélkülisége lehetőséget ad arra, hogy a rendszerek működési jellemzőit viszonylag egyszerű matematikai módszerekkel határozzuk meg. Természetesen a gyakorlatban az exponenciális eloszlás mellett számos más eloszlás is szerepet kap, de a velük való modellezés már jóval bonyolultabb matematikai megközelítést igényel. Véleményem szerint az exponenciális eloszláson alapuló modellezés azért jelentős, mert segít a szemléletmód kialakításában, viszonylag egyszerű eszközökkel megadhatjuk a rendszer különböző paramétereinek a rendszerjellemzőkre gyakorolt hatását és ezzel felkészülhe7
tünk a várható trendekre. Az analitikus módszerek jó kiindulási alapot szolgáltatnak a numerikus és szimulációs megközelítésekhez, hiszen segítségükkel a bonyolultabb rendszerek működését leíró modelleket validálhatjuk. A jegyzet a sztochasztikus folyamatok elméletéből csak annyit használ fel amennyire a modellalkotásnál és a hatékonysági mutatók kiszámításánál szükségünk van. Bizonyítás nélkül átvesz alapvető tételeket és az alkalmazásra koncentrál. Be kell vallanom, hogy a jegyzet stílusának kialakításában Kleinrock [39] könyve döntő szerepet játszott. Nem követtem a szigorú definíció-tétel-bizonyítás lépéssorozatot, és így igyekeztem a nem matematikus olvasók részére is hasznos segédletet adni. Azonban vannak olyan fejezetek, ahol ez a szigorú felépítés a történeti hűség miatt megmaradt. A jegyzet az alapképzésben részvevő mérnök informatikus, programtervező informatikus, gazdaságinformatikus, alkalmazott matematikus hallgatóknak készült, de utolsó fejezeteit mesterszakos hallgatók is jól használhatják. Több szemeszter anyagát öleli fel, kiforrott összeállítás, hiszen korábbi időszakban az osztatlan egyetemi képzés keretében sok éven át oktattam. Újdonság, hogy a különböző sorbanállási rendszerek jellemzőit könnyen ki tudjuk számítani az erre a célra írt Java-appletek segítségével, melyek a Gyakorlati sorbanállási elmélet elektronikus oktatási segédlet kisebb, de nagyon fontos részét alkotják, és megtalálhatók a szerző honlapján, így internetes környezetben a jegyzet hatékonyan használható. Természetesen ezen appletek más, bonyolultabb rendszerek jellemzőit is meghatározzák, de ezekre csak hivatkozást adok. Arra törekedtem, hogy az adott problémát valószínűségszámítási szempontból lehetőleg teljes egészében tárgyaljam, vagyis nem elégedtem meg csak a várható értékekkel, hanem igyekeztem megadni a sűrűségfüggvényt, eloszlásfüggvényt, generátorfüggvényt, és a Laplace-transzformáltat is. Az elméleti problémákat a jobb megértés végett sok esetben példákkal illusztráltam és feladatokat gyűjtöttem össze, melyekhez megadtam a megoldást is. Meggyőződésem és tapasztalatom, hogy a jegyzet hiánypótló, tudtommal Magyarországon nincs olyan segédlet, amely ilyen részletességgel tárgyalja ezen témakört. Köszönöm Bíró József egyetemi tanár lelkiismeretes lektori munkáját, amely javította a jegyzet tartalmát és formáját. A Latex szerkesztésben sok segítséget kaptam Kósa Márktól, Barnák Alberttől, Máté Balázstól, akiknek ezúton is szeretném kifejezni hálámat. Az előforduló hibákra vonatkozó észrevételeket és mindenfajta javító szándékú megjegyzést örömmel veszek az alábbi címen:
[email protected] http://irh.inf.unideb.hu/user/jsztrik/index.html Debrecen, 2011. A Szerző
8
I. rész A sorbanállási elmélet alapjai
9
1. fejezet A sorbanállási elmélet alapfogalmai A sorbanállási elmélet a köznapi életben előforduló egyik kellemetlen jelenség, nevezetesen a várakozás vizsgálatával foglalkozik. Nemcsak mi, hanem számos területen előforduló igények is sorba állnak, pl. hívások a telefonközpontban, levelek és iratok a hivatalban, programok a központi egységnél, csak hogy néhányat említsünk. Nem véletlen, hogy szóbahoztuk a telefonforgalmi és számítógépes problémákat. Az elmélet történetében döntő helyet foglalnak el ezek az alkalmazási területek. A sorbanállási rendszerek tanulmányozását a telefonforgalmi problémák megoldására A. K. Erlang dán mérnök kezdte el a XX. század elején. Munkája nemcsak a mérnökök, hanem a matematikusok figyelmét is felkeltette, és nagyon sok cikk és könyv foglalkozott a valószínűségszámítási háttérrel. A sorbanállási elmélet szinte önálló tudománnyá nőtte ki magát, melynek eredményeit és módszereit sikerrel alkalmazzák többek között a megbízhatóság-elméletben, számítástudományban, operációkutatásban. Sok kiváló matematikus szerzett hírnevet a sorbanállási elmélet területén. Ami rendkívül fontos az az, hogy egy jelenleg is dinamikusan fejlődő területről van szó, melynek művelői ma is számos dolgozatot és könyvet írnak. Erről legkönnyebben úgy győződhetünk meg, ha a Google Scholar keresőjébe a témakörhöz tartozó szót írunk be. Külön érdeklődési csoport is létrejött, amelynek tagjai rendszeresen karbantartott honlapon értesítik egymást a fontos eseményekről. Erről a forrásról számos jegyzetet, szoftvert és más hasznos anyagot lehet letölteni, lásd http://web2.uwindsor.ca/math/hlynka/queue.html Magyarországon ebben a témakörben nem sok jegyzet, könyv jelent meg. Leginkább Györfi László, Páli István [26], Jereb László, Telek Miklós [35], Kleinrock [39], Lakatos László, Szeidl László, Telek Miklós [46] és Sztrik János [69, 68, 67, 66] munkáit tudnánk felsorolni. Feltétlenül meg kell azonban jegyezni, hogy a magyar matematikusok és mérnökök érdemben részt vettek az elméleti kutatásokban és számos esetben alkalmazták is az elért eredményeket. Mindenképpen meg kell említeni Takács Lajost, Tomkó Józsefet, Arató Mátyást, Györfi Lászlót, Benczúr Andrást, Lakatos Lászlót, Szeidl Lászlót, Jereb Lászlót, Telek Miklóst és Sztrik Jánost akik számos dolgozatot publikáltak neves nemzetközi folyóiratokban. Az angol és orosz nyelvű könyvek száma is tekintélyes, az irodalomjegyzékben csak a legfontosabbakat soroltuk fel és ezek mind megtalálhatók Debreceni Egyetem, Informatikai Kar könyvtárában. Bővebb összeállításért érdemes felkeresni az alábbi linket: http://irh.inf.unideb.hu/user/jsztrik/education/05/sorbanallas.html 11
1.1. A sorbanállási rendszerek jellemzői Ahhoz, hogy teljesen jellemezzünk egy sorbanállási rendszert, azonosítanunk kell azt a sztochasztikus folyamatot, amely a beérkező igényeket írja le, és meg kell adnunk a kiszolgálás szabályait és struktúráját. A beérkező folyamatot általában az egymás után beérkező igények közötti időintervallumok, mint valószínűségi változók eloszlásának segítségével jellemezhetjük. Ezt az A(t) szimbólummal jelöljük, ahol A(t) = P (két egymás utáni beérkezési időköz < t). A sorbanállás elméletében többnyire feltesszük, hogy az egymás utáni beérkezések közötti időközök (röviden beérkezési időközök ) azonos eloszlású független valószínűségi változók (ezért a beérkezési folyamat ún. felújítási folyamatot alkot). A másik sztochasztikus mennyiség, amelyet meg kell adni, a beérkező igények által a csatornával szemben támasztott követelmények (munka) nagysága; ezt kiszolgálási időnek nevezzük és valószínűségeloszlását B(x)-szel jelöljük, azaz B(x) = P (kiszolgálási idő < x). A kiszolgálás ideje annak az időintervallumnak a hosszát jelenti, amelyet az igény a kiszolgáló egységben eltölt. A kiszolgálás szabályára és struktúrájára vonatkozóan további mennyiségeket kell meghatározni. Ilyen jellemző a rendelkezésre álló kiszolgáló egységek (csatornák, kiszolgálók, szerverek, stb. ) száma, valamint a befogadóképesség, ami nem más, mint a kiszolgálóegységben és a várakozási sorban tartózkodó igények maximális száma, amit gyakran végtelennek tekintünk. A kiszolgálási sorrend írja le azt a szabályt, amely szerint a várakozók közül sorra kerülnek az egyes igények kiszolgálás céljából. A leggyakrabban használt kiszolgálási elvek: FIFO (First In, First Out) érkezési sorrendben; LIFO (Last In, First Out) fordított sorrendben történő kiszolgálások. Ha a beérkező igényeket bizonyos csoportokba tartozás szerint meg lehet különböztetni, akkor a csoportok között prioritást lehet megállapítani, és ezen a prioritáson alapul a kiszolgálás sorrendje. Ez az egyik legalkalmasabb ütemezési elv, mivel így az igények közötti fontossági sorrendet felállítva történik a kiszolgálás. A prioritásos sorbanállási elvnek két fő típusa van: abszolút és relatív. Az előbbi azt jelenti, hogy ha egy igény kiszolgálása folyamatban van, és érkezik egy magasabb prioritású igény, akkor a kiszolgálás megszakad, és újra beáll a várakozási sorba. He legközelebb rákerül a kiszolgálás, akkor az kezdődhet az elejétől vagy a megszakítás helyétől. A relatív prioritásos esetben a fontosabb igény beérkezésekor a kiszolgálás nem szakad meg, hanem folytatódik, majd a befejezéskor a legfontosabb várakozó igény kiszolgálása kezdődik. A sorbanállási rendszerek hatékonyságának és teljesítményének vizsgálatához a következő rendszerjellemzőket igyekszünk meghatározni: az igények várakozási ideje; a rendszerben levő igények száma; a foglaltsági intervallum hossza (vagyis az a folytonos időintervallum, amelyben a kiszolgáló egység állandóan foglalt); az üresjárati időszakasz hossza; a pillanatnyi munkahátralék eloszlása. Mindegyik mennyiség valószínűségi változó, és így teljes valószínűségszámítási jellemzésüket (vagyis eloszlásfüggvényüket) 12
keressük, amit általában nehéz megadni, így sokszor megelégszünk az átlagos mennyiségekkel. Az elemi sorbanállási elmélet egyrészt történeti okokból fontos, másrészt pedig azért, mert alkalmas arra, hogy szemléltesse a bonyolultabb sorbanállási rendszerek jellemzőit is. Az egyszerűség kedvéért tekintsünk először egy egykiszolgálós rendszert. A sorbanállási rendszerek teljesítményének mérésére legalkalmasabb eszköz a torlódás vizsgálata. Legyen % egy dimenzió nélküli mennyiség, amelyet a következőképpen lehet definiálni: % = forgalmi intenzitás =
átlagos kiszolgálási idő . átlagos beérkezési időköz
Feltételezzünk egy végtelen populációjú modellt, jelöljük a beérkezési intenzitást λ-val, ami nem más, mint az átlagos beérkezési időköz reciproka, valamint az átlagos kiszolgálási időt 1/µ-vel. Ekkor a következőt kapjuk: % = érkezési intenzitás ∗ átlagos kiszolgálási idő =
λ . µ
Az 1-nél nagyobb forgalmi intenzitás azt mutatja ,hogy az igények gyorsabban érkeznek, mint ahogy egy szerver (kiszolgálóegység, csatorna) ki tudná szolgálni őket. Jelölje χ(A) az A esemény karakterisztikus függvényét, azaz ( 1 , ha A teljesül, χ(A) = 0 , ha nem A teljesül, és N (t) = 0 azt az eseményt, hogy a kiszolgáló tétlen a t időpillanatban. Ekkor a szerver időegységre eső kihasználtsága 1 T
ZT χ (N (t) 6= 0) dt , 0
ahol T egy elegendően hosszú időintervallum. Ha T → ∞ esetén a fenti mennyiségnek létezik határértéke, akkor a szerver kihasználtságán ezt az Us -sel jelölt mennyiséget értjük. Továbbá 1 valószínűséggel fennáll 1 Us = lim T →∞ T
ZT χ (N (t) 6= 0) dt = 1 − P0 =
Eδ , Eδ + Ei
0
ahol P0 annak stacionárius valószínűsége, hogy a szerver tétlen, Eδ a kiszolgáló egység átlagos foglaltsági periódushosszát, Ei pedig az átlagos tétlenségi periódushosszát jelöli. Ez az összefüggés Markov-folyamatoknál speciális esete a következő, gyakran felhasználható relációnak, amelynek magyar nyelvű bizonyítása megtalálható Tomkó József cikkében [76]. 13
1. Tétel. Legyen X(t) egy ergodikus Markov-folyamat, A pedig állapotterének egy részhalmaza. Látható, hogy X(t) az idő folyamán felváltva tartózkodik A-ban és A-ban. Ekkor 1 valószínűséggel X Z T m(A) 1 χ(X(t) ∈ A)dt = Pi = lim , T →∞ T m(A) + m(A) 0 i∈A ahol m(A) és m(A) az A ill. az A részhalmazban való átlagos tartózkodási időt jelöli egy ciklus alkalmával, Pi pedig az X(t) folyamat ergodikus eloszlása. Egy m párhuzamos szerverből álló rendszerben T idő alatt átlagosan λT /m igény érkezik szerverenként, feltéve, hogy a forgalom egyenletes eloszlású az m kiszolgáló egység között. Ha minden beérkezett kérés kiszolgálása átlagosan 1/µ ideig tart, akkor egy adott szerver teljes foglaltsági idejének várható értéke λT /mµ. Osszuk el ezt a mennyiséget T -vel, így Us =
λ . mµ
Mivel a kihasználtság maximum 1 lehet, így az m szerveres rendszer kihasználtsági tényezőre vonatkozó korrekt kifejezés: λ ,1 . Us = min mµ A másik gyakran használt teljesítménymérő eszköz a rendszer átbocsátóképességének vizsgálata. Ezt a mennyiséget úgy definiálhatjuk, mint az időegységenként kiszolgált igények átlagos számát: m szerveres rendszerben minden időegység alatt m%µ igény kiszolgálása fejeződik be, így az átbocsátóképesség = mUs µ = min{λ, mµ}. Ez azt jelenti, hogy az átbocsátóképesség ekvivalens a λ érkezési intenzitással ha a λ kisebb, mint a maximális kiszolgálási sebesség (mµ), azon túl az átbocsátóképesség beáll mµ-re. Az igények szempontjából a legjelentősebb teljesítménymérő eszköz az az idő, amit a várakozási sorban vagy a rendszerben töltenek. Definiáljuk a Wj várakozási időt, mint a j-dik igény várakozási sorban eltöltött idejét, és a Tj válaszidőt, mint az igény által e rendszerben eltöltött teljes időt. Ezen jelöléseket használva a következő egyenlőséget kapjuk: Tj = Wj + Sj , ahol Sj a kiszolgálási időt jelöli. Wj és Tj is valószínűségi változó, várható értékük Wj és Tj alkalmas a rendszer teljesítményének mérésére. A rendszer teljesítményének vizsgálata történhet a várakozási sor hosszának mérésével is. A Q(t) valószínűségi változó jelentse a t időpillanatban a sorban található igények számát, és N (t) a t időpillanatban a rendszerben található igények számát. Egy rendszerben levő igény vagy a várakozási sorban van, vagy éppen kiszolgálás alatt áll, tehát m szerveres rendszer esetén: Q(t) = max{0, N (t) − m}. 14
1.2. Kendall-féle jelölés-rendszer Mielőtt rátérnénk az elemi sorbanállási rendszerek vizsgálatára, vezessük be a Kendalltól származó jelölést, melyek segítségével könnyen osztályozhatjuk őket: A / B / m / K / n/ D,
ahol A: a beérkezési időközök eloszlásfüggvénye, B: a kiszolgálási idő eloszlásfüggvénye, m: a kiszolgálók száma, K: a rendszer befogadóképessége, azaz a kiszolgálóegységben és a várakozási sorban tartózkodó igények maximális száma, n: az igényforrás számossága, D: a kiszolgálás D elv szerint történik. Ha az említett eloszlások exponenciálisak, akkor az M jelölést használjuk. Továbbá, ha a befogadóképesség vagy az igényforrás számossága végtelen, és a kiszolgálás elve F IF O, akkor ezeket a jelöléseket elhagyjuk. Így pl. az M/M/1 egy egykiszolgálós Poisson beérkezéssel és exponenciális kiszolgálási idővel jellemzett rendszert jelöl. Az M/G/m rendszernél a beérkezések Poisson-folyamat szerint történnek, a kiszolgálási idők általános eloszlásúak, és m szerver áll rendelkezésünkre. Az M/M/r/K/n rendszer esetén az igények egy n elemű forrásból származnak, ahol exponenciális eloszlású ideig tartózkodnak, a kiszolgálást r egység végzi exponenciális eloszlású ideig és a rendszerben egyidejűleg maximum K igény tartózkodhat.
1.3. Születési-halálozási folyamatokra vonatkozó összefüggések Mivel az egyszerűbb sorbanállási rendszerek működését születési-halálozási folyamatok segítségével fogjuk modellezni, nézzünk meg néhány rájuk vonatkozó fontos összefüggést. Értelemszerűen a születéseket az igények érkezése, a kihalást az igények kiszolgálása jelenti majd. Jól ismert, hogy a folyamat egyensúlyi eloszlása az alábbi zárt formában adható meg (1.1)
Pi =
λ0 · · · λi−1 P0 , µ1 · · · µi
i = 1, 2, · · · ,
P 0 −1 = 1 +
∞ X λ0 · · · λi−1 i=1
15
µ1 · · · µi
.
Most vizsgáljuk meg egyensúlyi állapotban valamely születési-halálozási folyamat állapotát a születési és halálozási pillanatokban, mert későbbiek során erre többször is szükségünk lesz! Jelölje Na , Nd a folyamat állapotát a születés ill. a halálozás pillanatában, továbbá legyen Πk = P (Na = k), Dk = P (Nd = k), k = 0, 1, 2, . . .. A Bayes-tétel felhasználásával könnyű látni, hogy
(1.2)
λk P k (λk h + o(h))Pk Πk = lim P∞ = P∞ . h→0 j=0 (λj h + o(h))Pj j=0 λj Pj
Hasonlóan
(1.3)
Mivel Pk+1 = (1.4)
(µk+1 h + o(h))Pk+1 µk+1 Pk+1 = P∞ . Dk = lim P∞ h→0 j=1 (µj h + o(h))Pj j=1 µj Pj λk Pk , µk+1
k = 0, 1, . . ., ezért λ k Pk = Πk , Dk = P∞ i=0 λi Pi
k = 0, 1, . . . .
További hasznos összefüggés, hogy egyensúlyi állapotban az átlagos születési intenzitás egyenlő az átlagos kihalási intenzitással. Ezt nagyon egyszerűen a következőképpen láthatjuk be (1.5)
λ=
∞ X i=0
λi Pi =
∞ X
µi+1 Pi+1 =
i=0
∞ X
µk Pk = µ.
k=1
1.4. Sorbanállási szoftverek A gyakorlati problémák megoldásánál először a sorbanállási rendszert kell azonosítani, majd utána megadni a rendszer jellemzőit. Természetesen a modellezés szintje erősen függ a probléma jellegétől, de általában célszerű a legegyszerűbb rendszert venni, mert ekkor kevesebb paraméter befolyásolja a minőségi mutatókat. Különböző szoftverek állnak rendelkezésünkre, melyeket használva ki tudjuk számítani a kívánt metrikákat. Ebből a célból érdemes felkeresni az alábbi linket http://web2.uwindsor.ca/math/hlynka/qsoft.html
16
A hatékonyabb gyakorlat-orientált oktatás céljából magyar és angol nyelven mi is elkészítettünk egy képletgyűjteményt és egy Java-applet programcsomagot, amely megtalálható az alábbi linken http://irh.inf.unideb.hu/user/jsztrik/education/09/index.html A szimulációs megközelítésekhez kiegészítésképpen javasoljuk még az következő Javaappletet http://www.win.tue.nl/cow/Q2/ Ha a rendszerek egyike sem megfelelő, akkor magunknak kell az adott problémához elkészíteni az új matematikai modellt és igazából itt kezdődik az alkotás. A jegyzet ehhez kíván segítséget nyújtani. Az anyag összeállításában főleg Allen [2], Bose [8], Daigle [13], Gnyegyenko, Kovalenko [23], Gnyegyenko, Beljajev, Szolovjev [24], Gross, Harris [25], Jain [33], Jereb, Telek [35], Kleinrock [39], Kobayashi [41, 42], Kulkarni [45], Nelson [49], Stewart [62], Sztrik [66], Tijms [75], Trivedi [77] könyvekre támaszkodtunk.
17
18
2. fejezet Végtelen-forrású rendszerek A sorbanállási rendszerek forrásuk szerint végtelen- és véges-forrású osztályba sorolhatók, majd ezekből a rendszerekből, mint csomópontokból képezhetjük a sorbanállási hálózatokat. Matematikailag a végtelen-forrású rendszerek könnyebben kezelhetők, mert ekkor a beérkezési intenzitások általában függetlenek a rendszer állapotától. Ilyenkor a leggyakoribb feltételezés, hogy az igények beérkezése Poisson-folyamat szerint történik és a kiszolgálási elv FIFO. Ez nagymértékben egyszerűsíti a matematikai tárgyalás módot.
2.1. Az M/M/1 típusú sorbanállási rendszer Az M/M/1 rendszer a legegyszerűbb nem-triviális rendszer. Emlékeztetünk rá, hogy ebben az esetben a beérkezési folyamat λ paraméterű Poisson-folyamat, vagyis a beérkezési időközök λ paraméterű exponenciális eloszlású valószínűségi változók. A kiszolgálási idők µ paraméterű exponenciális eloszlású valószínűségi változók. Feltesszük továbbá, hogy a beérkezési időközök, és a kiszolgálási idők egymástól független valószínűségi változók. Jelölje most N (t) a t időpillanatban a rendszerben tartózkodó igények számát, és azt mondjuk, hogy a rendszer a k állapotban van, ha N (t) = k. Mivel a fellépő valószínűségi változók exponenciális eloszlásúak, vagyis emlékezetnélküliek, az N (t) folytonos idejű Markov-lánc lesz. Vizsgáljuk meg a rendszer állapotváltozásainak valószínűségeit egy adott h időtartam alatt Pk,k+1 (h) = (λh + o(h)) (1 − (µh + o(h)) + ∞ X + (λh + o(h))k (µh + o(h))k−1 , k=2
k = 0, 1, 2, ... . Az összeg első tagja annak a valószínűsége, hogy a rendszerben egy igény érkezett, és nem szolgáltak ki egyet sem. Az összeg második tagja pedig annak a valószínűségét adja, hogy a rendszerbe 2 vagy több igény érkezett, és a beérkezettnél eggyel kevesebb került kiszolgálásra. De ez a valószínűség éppen o(h)-val egyenlő, így Pk,k+1 (h) = λh + o(h). 19
Az előbbiekhez hasonlóan írható fel annak valószínűsége, hogy a rendszer k állapotban volt és a h időtartam után a k − 1 állapotba került Pk,k−1 (h) = (µh + o(h)) (1 − (λh + o(h)) + ∞ X + (λh + o(h))k−1 (µh + o(h))k k=2
= µh + o(h). Könnyen látható továbbá, hogy | k − j |≥ 2.
Pk,j = o(h),
Tehát egy olyan születési-halálozási folyamattal van dolgunk, amit a születési és halálozási intenzitások alábbi megválasztásával lehet jellemezni λk = λ,
k = 0, 1, 2, ...,
µk = µ,
k = 1, 2, 3....
Vagyis az összes születési intenzitás λ, az összes halálozási intenzitás pedig µ. Feltesszük, hogy végtelen hosszúságú sorok is létrejöhetnek, és az igények kiszolgálása FIFO elv alapján történik. Helyettesítsük be az intenzitásokat a születési-halálozási folyamatoknál kapott (1.1) képletbe, így a következő adódik Pk = P0
k−1 Y i=0
λ , µ
vagyis k λ Pk = P 0 , µ
k ≥ 0.
Az eredmény kézenfekvő. Az ergodikusság feltétele általánosságban (és így annak is, hogy egy Pk > 0 stacionárius megoldást kapjunk) S1 < ∞ és S2 = ∞; esetünkben az első feltétel ∞ ∞ k X Pk X λ S1 = = < ∞. P0 µ k=0 k=0 Az S1 sor akkor és csak akkor konvergens, ha λ/µ < 1. Az ergodicitás második feltétele esetünkben S2 =
∞ X k=0
k ∞ X 1 µ = = ∞. λ λ λ PPk0 k=0 1
Ez akkor teljesül, ha λ/µ ≤ 1. Tehát az ergodikusság szükséges és elégséges feltétele az M/M/1 sor esetén egyszerűen λ < µ. A P0 valószínűség kiszámolásához a normalizáló feltételt használjuk és azt kapjuk, hogy ∞ k X λ −1 P0 = 1 + . µ k=1 20
Mivel λ < µ , ezért a sor konvergens, és így P0 = 1 −
λ . µ
A kihasználtsági tényező % = µλ vagy 1. A stabilitás feltétele miatt a 0 ≤ % < 1 egyenlőséget meg kell követelni, ez biztosítja, hogy P0 > 0 legyen. Így Pk = (1 − %)%k ,
k = 0, 1, 2, ...,
amely valóban valószínűségi eloszlás, nevezetesen a módosított geometriai eloszlás. A rendszer jellemzői • A rendszerben tartózkodó igények átlagos száma N=
∞ X
kPk = (1 − %)%
k=0
= (1 − %)%
∞ X
k%k−1 =
k=1
∞ X d%k k=1
d 1 % = (1 − %)% . = d% d% 1 − % 1−%
A rendszerben tartózkodó igények számának szórásnégyzete 2 ∞ ∞ X X % 2 2 (k − N ) Pk = DN= k− Pk 1−% k=0 k=0 2 X ∞ ∞ X % % 2 − 2k = k Pk + Pk 1 − % 1 − % k=0 k=0 2 ∞ 2 X % % % k(k − 1)Pk + + −2 = 2 (1 − %) 1 − % 1−% k=0 2 ∞ 2 X % % 2 d k = (1 − %)% % + − d%2 k=0 1−% 1−% 2 2%2 % % % = + − = . (1 − %)2 1 − % 1−% (1 − %)2 • A várakozó igények átlagos száma (átlagos sorhossz) Q=
∞ X
(k − 1)Pk =
k=1
∞ X k=1
kPk −
∞ X
Pk = N − (1 − P0 ) = N − % =
k=1
A sorhossz szórásnégyzete 2
D Q=
∞ X
2
(k − 1)2 Pk − Q =
k=1
21
%2 (1 + % − %2 ) . (1 − %)2
%2 . 1−%
• A szerver kihasználtsága λ = %. µ
Us = 1 − P0 = 1. Tétel alapján látható, hogy 1 λ
P0 =
1 λ
+ Eδ
,
ahol Eδ a kiszolgáló átlagos foglaltsági periódushossza, λ1 a tétlenségi idő várható értéke. Mivel a szerver addig tétlen, amíg igény nem érkezik, az pedig exponenciális eloszlású λ paraméterrel. Így 1−%=
1 λ 1 λ
+ Eδ
,
melyből Eδ =
1 % 1 1 = N= . λ1−% λ µ−λ
Megmutatjuk, hogyan lehet másképpen meghatározni a kiszolgáló átlagos foglaltsági periódushosszát. Ehhez szükségünk lesz az alábbi jelölésekre. Jelölje E(νA ) egy átlagos foglaltsági periódushossz alatt beérkezett igények átlagos számát, E(νD ) egy átlagos foglaltsági periódushossz alatt távozott igények átlagos számát, valamint E(νS ) egy igény kiszolgálása alatt beérkezett igények átlagos számát! Nyilvánvalóan E(νD ) = E(δ)µ, λ E(νS ) = , µ E(νA ) = E(δ)λ, E(νA ) + 1 = E(νD ), melyekből behelyettesítés után E(δ) =
1 µ−λ
adódik, vagyis a formulát más módon is ellenőriztük. Ezek után
E(νD ) = E(δ)µ =
1 1−%
E(νA ) = E(νS )E(νD ) = E(νA ) = E(δ)λ =
λ 1 % = µ1−% 1−%
% . 1−%
22
• Egy igény tartózkodási idejének eloszlása Megmutatjuk, hogy olyan sorbanállási rendszernél, amelybe az igények Poissonfolyamat szerint érkeznek, Pk (t) = Πk (t), ahol Pk (t) - mint korábban is - annak valószínűsége, hogy a t pillanatban a rendszer a k állapotban van, Πk (t) pedig annak valószínűsége, hogy egy a t pillanatban érkező igény a rendszert a k állapotban találja. Jelölje A(t, t + ∆t) azt az eseményt, hogy egy beérkezés történik a (t, t + ∆t) intervallumban. Ekkor Πk (t) := lim P (N (t) = k|A(t, t + ∆t)) , ∆t→0
Felhasználva a feltételes valószínűség definícióját, P (N (t) = k , A(t, t + ∆t)) = ∆t→0 P (A(t, t + ∆t))
Πk (t) = lim
P (A(t, t + ∆t)|N (t) = k) P (N (t) = k) . ∆t→0 P (A(t, t + ∆t))
= lim
Poisson-folyamat esetén tudjuk, hogy (az emlékezetnélküliség miatt) az A(t, t + ∆t) esemény nem függ a t pillanatban a rendszerben tartózkodó igények számától (és magától a t időtől sem), ezért P (A(t, t + ∆t)|N (t) = k) = P (A(t, t + ∆t)) , így születési és halálozási folyamatok esetére is Πk (t) = P (N (t) = k) . Azaz, annak valószínűsége, hogy egy beérkező igény a rendszert a k állapotban találja, éppen azzal a valószínűséggel egyezik meg, hogy a rendszer a k állapotban van. Egyensúlyi állapotban a (1.2) összefüggést alkalmazva λi = λ, ugyanezt az eredményt kapjuk.
i = 0, 1, . . . esetben
Ha egy tetszőleges pillanatban egy igény érkezik, P0 lesz annak a valószínűsége, hogy nem kell várakoznia, hisz ekkor a rendszer üres. Minden más esetben várakoznia kell. Tegyük fel, hogy az érkezés pillanatában n igény tartózkodik a rendszerben. Ekkor az érkező igénynek meg kell várnia, míg a kiszolgálás alatt álló igény kiszolgálása befejeződik és az előtte álló n − 1 igény is elhagyja a rendszert, majd őt is kiszolgálták. Feltettük, hogy a kiszolgálások egymástól függetlenek és µ paraméterű exponenciális eloszlásúak. Köztudott, hogy az exponenciális eloszlás emlékezetnélküli, így a kiszolgálás alatt levő igény eloszlása független attól mióta folyik a kiszolgálás, ezért a várakozási idő Erlang- eloszlású n és µ paraméterrel és a tartózkodási idő is 23
Erlang- eloszlású, de n + 1 és µ paraméterrel. Emlékeztetőül az n és µ paraméterű Erlang-eloszlás sűrűségfüggvénye fn (x) =
µ(µx)n−1 −µx e , (n − 1)!
x ≥ 0.
Ezért a teljes valószínűség tételének felhasználásával a tartózkodási idő sűrűségfüggvénye ∞ ∞ n X X (%µx)n −µx −µx n (µx) µe = µ(1 − %)e = fT (x) = (1 − %)% n! n! n=0 n=0
= µ(1 − %)e−µ(1−%)x . Az eloszlásfüggvény FT (x) = 1 − e−µ(1−%)x . Vagyis azt kaptuk, hogy a tartózkodási idő is exponenciális eloszlású µ(1 − %) = µ − λ paraméterrel. Ezért a rendszerbeli tartózkodási idő várható értéke és szórásnégyzete T =
1 , µ(1 − %)
D2 T = (
1 )2 . µ(1 − %)
Továbbá, nyilvánvalóan T =
1 1 = = Eδ. µ(1 − %) µ−λ
• Egy igény várakozási idejének eloszlása A gondolatmenet az előzőhöz hasonló, de most az Erlang eloszlás n tagból áll. Jelölje fW (x) egy tetszőleges igény várakozási idejének sűrűségfüggvényét, x > 0. A teljes valószínűség tétele értelmében fW (x) =
∞ X (µx)n−1 n=1
(n − 1)!
µe−µx %n (1 − %) = (1 − %)%µ
∞ X (µx%)k k=0
k!
= (1 − %)%µe−µ(1−%)x . Tehát
fW (0) = 1 − %, ha x = 0, −µ(1−%)x fW (x) = %(1 − %)µe , ha x > 0.
Így FW (x) = 1 − % + % 1 − e−µ(1−%)x = 1 − %e−µ(1−%)x . Az átlagos várakozási idő Z∞ W =
xfW (x)dx = 0
24
1 % = %Eδ = N . µ(1 − %) µ
e−µx =
Az is látható, hogy T = W + S miatt, ahol W és S függetlenek D2 T =
1 1 = D2 W + 2 , 2 (µ(1 − ρ)) µ
ebből 1 1 2ρ − ρ2 2 ρ2 DW = − = =ρ − , (µ(1 − ρ))2 µ2 (µ(1 − ρ))2 (µ(1 − ρ))2 (µ(1 − ρ))2 2
ami éppen E(W 2 ) − (EW )2 . Vegyük észre, hogy λT = λ
(2.1)
% 1 = = N. µ(1 − %) 1−%
Továbbá λW = λ
(2.2)
% %2 = = Q. µ(1 − %) 1−%
Az (2.1), (2.2) összefüggéseket Little-formuláknak nevezzük, melyek általánosabb esetben is igazak maradnak. Most vizsgáljuk meg az M/M/1 rendszer állapotát a távozási pillanatokban, mert ki akarjuk számolni az igények távozási időközének az eloszlását. Mint ahogyan az (1.3) összefüggésnél láttuk a távozási pillanatokban az eloszlás λk P k . Dk = P∞ i=0 λi Pi Poisson beérkezés esetén λk = λ, k = 0, 1, . . ., ezért Dk = Pk . Ezek után határozzuk meg a d távozási időközök Laplace-transzformáltját, mely a feltéles Laplace-transzformáltak súlyozott összege azon feltétel mellett, hogy a távozási pillanatban a kiszolgáló tétlen vagy foglalt. Nyilvánvalóan λ µ µ + (1 − %) , Ld (s) = % µ+s λ+sµ+s hiszen ha tétlen, akkor a következő igénynek először be kell érkezni majd ezt ki kell szolgálni. Ebből Ld (s) =
µ%(λ + s) + (1 − %)λµ λµ% + λs + λµ − λµ% = (λ + s)(µ + s) (λ + s)(µ + s) =
λ(s + µ) λ = , (λ + s)(µ + s) λ+s
25
ami azt mutatja, hogy a távozási időközök ugyancsak λ paraméterű exponenciális eloszlású valószínűségi változók. A kiszolgálási és beérkezési időközök függetlenségéből következik a távozási időközök függetlensége is, ezért a távozási folyamat λ paraméterű Poisson-folyamat. Ez azért fontos, mert ha több M/M/1 típusú kiszolgálási csomópont van egymás után sorbakötve (tandem sorbanállási hálózat), akkor mindegyiknél a beérkezési folyamat λ paraméterű Poisson-folyamat és a csomópontok független M/M/1-típusú rendszerként vizsgálhatók. Ekkor λ beérkezési és µi kiszolgálási intenzitással az i-edik csomóponthoz λ jelölést bevezetve az összes rendszerjellemzőt meg tudjuk határozni a már ismert %i = µi módon. A hálózatban lévő igények száma érthető módon az egyes csomópontokban lévő igények összege és a tartózkodási és várakozási idők összege adja a hálózatra vonatkozó időket. Most mutassuk meg, hogyan adhatjuk meg d sűrűségfüggvényét a Laplace-transzformált nélkül! Ekkor is a teljes valószínűség tételét alkalmazva λµ −λx λµ −µx −µx e + e fd (x) = %µe + (1 − %) λ−µ µ−λ µ−λ λµ −λx λµ −µx −µx = λe + e − e µ µ−λ µ−λ = λe−µx + λe−λx − λe−µx = λe−λx . Ezek után nézzük meg, hogy M/G/1 rendszer esetén milyen kiszolgálási idő mellett teljesül, hogy a távozási folyamat ugyancsak λ paraméterű Poisson-folyamat. Először lássuk be, hogy US = % = λE(S). Mint korábban is megmutattuk stacionárius rendszernél G/G/1 esetben is az átlagos foglaltsági periódus alatt távozó igények száma 1-el nagyobb ezen periódus alatt beérkezett igények átlagos számánál, képletekben ez azt jelenti, hogy E(δ) E(δ) =1+ , E(S) E(τ ) ahol E(τ ) az átlagos beérkezési időköz várható értékét jelöli. Ebből E(τ ) E(S) E(τ )E(S) 1 E(δ) = = E(S) , E(τ ) − E(S) 1−%
E(τ ) + E(δ) = E(δ)
ahol % =
E(S) . E(τ )
Nyilvánvalóan % 1 E(S) 1−% E(δ) 1−% = US = = % = % < 1. E(τ ) + E(δ) 1 + 1−% E(τ ) + E(S) 1−%
Így az M/G/1 rendszer kihasználtsága %. M/G/1 esetén Dk = Pk , ezért a kiszolgálási 26
időre vonatkozó kérdésünk az alábbit jelenti λ λ λ(1 − %) = %LS (s) + (1 − %) LS (s) = LS (s) % + λ+s λ+s λ+s λ(1 + sE(S)) λ2 E(S) + sλE(S) + λ − λ2 E(S) = LS (s) , = LS (s) λ+s λ+s így LS (s) =
1 , 1 + sE(S)
ez viszont az E(S) várható értékű exponenciális eloszlás Laplace-transzformáltja. Vagyis csak exponenciális eloszlású kiszolgálási idők esetén lesz a távozási folyamat a beérkezési folyamattal megegyező.
Java-applet a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MM1/MM1.html 1. Példa. Egy postahivatalban naponta 70 személy fordul meg (a posta mindennap 10 óra hosszat van nyitva) óránként 10 személyt képesek kiszolgálni. Tételezzük fel, hogy a beérkezések megfelelnek a Poisson-folyamat jellegzetességeinek, és a kiszolgálás exponenciális eloszlású. Mekkora lesz a várakozó sor átlagos hossza, mi annak a valószínűsége, hogy sorban 2-nél több személy várakozzék? Mennyi a várható sorbanállási idő? Mennyi annak a valószínűsége, hogy a várakozás 20 percnél több időt vesz igénybe? Megoldás: Legyen az időegység óra, akkor λ = 7, µ = 10, ρ =
7 10
7 ρ = 1−ρ 3 7 7 70 − 21 49 Q=N −ρ= − = = 3 10 30 30 P (n > 3) = 1 − P (n ≤ 3) = 1 − P0 − P1 − P2 − P3 = 1 − 1 + ρ − (1 − ρ)(ρ + ρ2 + ρ3 ) = ρ4 = 0.343 · 0.7 = 0.2401 N=
N 7 7 W = = = óra ≈ 14 perc µ 3 · 10 30 1 1 1 P W > = 1 − FW = 0.7 · e−10· 3 ·0.3 = 0.7 · e−1 = 0.257 3 3
2.2. M/M/1 rendszer tétovázó (elriasztott) igények esetében Tekintsük az M/M/1 rendszert azzal a módosítással, hogy az érkező igények a nagyobb sorhossz láttán egyre kisebb valószínűséggel csatlakoznak a rendszerhez, vagyis állnak 27
sorba. Jelöljük bk -val a csatlakozás valószínűségét, ha az érkezés pillanatában k igény van a rendszerben. Az eddigiekhez hasonlóan könnyű belátni, hogy ismét születési-halálozási folyamattal írhatjuk le a rendszerben tartózkodó igények számát, de módosulnak a születési intenzitások, mégpedig λ k = λ · bk ,
k = 0, 1, . . .
Nyilvánvalóan többfajta bk -t lehet tekinteni, de arra törekedni kell, hogy a rendszert viszonylag egyszerűen tudjuk leírni és a kiszámolt hatékonysági mutatókat is zárt alakban lehessen megadni. Ilyen okok miatt legyen bk =
1 , k+1
k = 0, 1, . . .
Ezért Pk =
ρk P0 , k!
k = 0, 1, . . . ,
majd a normalizáló feltétel meghatározása után Pk =
ρk −ρ e , k!
k = 0, 1, . . .
Ebből láthatjuk, hogy a rendszer stabil, ha ρ < ∞, vagyis nem követeljük meg a ρ < 1 feltételt! Vegyük észre, hogy a rendszerben tartózkodó igények száma ρ paraméterű Poisson-eloszlást követ, ezért a rendszerjellemzők is várhatóan egyszerű formában adhatók majd meg. Ezek után a rendszerjellemzők • US = 1 − P0 = 1 − e−ρ , E(δ) US = 1 , + E(δ) λ melyből E(δ) =
1 US 1 1 − e−ρ · = · . λ 1 − US λ e−ρ
• N = ρ, D (N ) = ρ 2
28
• Q = N − US = ρ − (1 − e−ρ ) = ρ + e−ρ − 1. ∞ ∞ ∞ ∞ X X X X 2 2 2 E(Q ) = (k − 1) Pk = k Pk − 2 kPk + Pk k=1
k=1
k=1
k=1 2
= E(N ) − 2N + US = ρ + ρ − 2ρ + US = ρ − ρ + 1 − e−ρ . 2
2
Így D2 (Q) = E(Q2 ) − (E(Q))2 = ρ2 − ρ + 1 − e−ρ − (ρ + e−ρ − 1)2 = ρ2 − ρ + 1 − e−ρ − ρ2 − e−2ρ − 1 − 2ρe−ρ + 2ρ + 2e−ρ = ρ − e−2ρ + e−ρ − 2ρe−ρ = ρ − e−ρ (e−ρ + 2ρ − 1). • A tartózkodási és várakozási idők jellemzőinek meghatározásához ismernünk kell az érkezési pillanatban az eloszlást, pontosabban, hogy a rendszerhez csatlakozó igény k igényt talál a rendszerben. Az előzőekhez hasonlóan a Bayes-formula felhasználásával könnyű látni, hogy Πk =
λ k+1 ∞ X i=0
· Pk
λ · Pi i+1
=
ρk+1 · e−ρ (k+1)! ∞ i+1 X i=0
ρ e−ρ (i + 1)!
=
Pk+1 . 1 − e−ρ
Vegyük észre, hogy Πk 6= Pk . Először határozzuk meg T -t majd utána W ! A teljes várható érték tétele miatt ∞ X k+1
∞
1 X (k + 1)Pk+1 1 ρ Πk = = ·N = . T = −ρ −ρ −ρ ) µ µ 1 − e µ(1 − e ) µ(1 − e k=0 k=0 1 1 ρ + e−ρ − 1 W =T− = . µ µ 1 − e−ρ Mint ahogyan az (1.5) összefüggésnél már bebizonyítottuk λ=
∞ X k=0
λk Pk =
∞ X
µ k Pk =
k=1
∞ X
µPk = µ(1 − e−ρ ),
k=1
ezért ρ = ρ = N, µ(1 − e−ρ ) ρ + e−ρ − 1 λ · W = µ(1 − e−ρ ) · = ρ + e−ρ − 1 = Q µ(1 − e−ρ ) λ · T = µ(1 − e−ρ ) ·
ami Little-formula erre a rendszerre is. 29
• A T és W eloszlásának a meghatározása már sokkal nehezebb feladat. Az előzőekben használt módszerekhez hasonlóan fT (x) =
∞ X
fT (x|k) · Πk =
k=0
∞ X µ(µx)k e−µx k=0
k!
·
ρk+1 e−ρ (k + 1)! 1 − e−ρ
∞ λe−(ρ+µx) X (µxρ)k , = 1 − e−ρ k=0 k!(k + 1)!
amit nem egyszerű meghatározni. Hasonló problémába ütközünk fW (x) esetében is. Azonban LT (s) és LW (s) már könnyebben kezelhető formában nyerhető. Nevezetesen k+1 ρk+1 −ρ ∞ ∞ X X e µ (k+1)! LT (s) = LT (s|k)Πk = µ+s 1 − e−ρ k=0 k=0 k+1 ∞ µρ e−ρ X µρ 1 e−ρ µ+s = e − 1 . = 1 − e−ρ k=0 µ + s (k + 1)! 1 − e−ρ LW (s) = LT (s) ·
µ+s . µ
Ellenőrzésképpen a LT (s)-ből határozzuk meg T -t! µρ e−ρ · e µ+s (−µρ(µ + s)−2 ) −ρ 1−e ρ e−ρ ρ ρ 0 e · =− . LT (0) = − −ρ 1−e µ µ(1 − e−ρ )
L0T (s) =
Így T =
ρ , µ(1 − e−ρ )
amit már előzőekben is megkaptunk. Hasonlóan számolható W is. Formálisan D2 (T ) és D2 (W ) a megfelelő Laplace-transzformáltak deriváltjainak segítségével megadható. Nézzük meg ezt a módot! Mint láttuk LT (s) =
λ e−ρ µ+s e − 1 . 1 − e−ρ
Ebből L0T (s) =
λ e−ρ · e µ+s (−1)λ(µ + s)−2 , −ρ 1−e
így L00T (s)
λ λ e−ρ −2 2 −3 µ+s µ+s = · e (−1)λ(µ + s) + 2λ(µ + s) · e . 1 − e−ρ 30
Ezért e−ρ L00T (0) = 1 − e−ρ
eρ
ρ − µ
2
2ρ + 2 eρ µ
! =
1 ρ2 + 2ρ · . µ2 1 − e−ρ
Továbbá 2 ρ 1 ρ2 + 2ρ − D (T ) = 2 · µ 1 − e−ρ µ(1 − e−ρ ) ρ2 + 2ρ − ρ2 e−ρ − 2ρe−ρ − ρ2 (ρ2 + 2ρ) (1 − e−ρ ) − ρ2 = = µ2 (1 − e−ρ )2 µ2 (1 − e−ρ )2 2ρ − ρ2 e−ρ − 2ρe−ρ ρ(2 − (ρ + 2)e−ρ ) = = . µ2 (1 − e−ρ )2 µ2 (1 − e−ρ )2 2
W és T véletlen tagszámú összegként áll elő, ezért alkalmazhatjuk az ott megismert képleteket. Nevezetesen 2 1 1 1 2 D (W ) = E(Na ) 2 + D (Na ) = 2 (E(Na ) + D2 (Na )). µ µ µ ∞ ∞ X X kPk+1 E(Na ) = kΠk = 1 − e−ρ k=1 k=1 ! ∞ ∞ X X 1 = (k + 1)Pk+1 − Pk+1 1 − e−ρ k=0 k=0 1 = ρ + e−ρ − 1 . 1 − e−ρ D2 (Na ) = E(Na2 ) − (E(Na ))2 2
miatt először határozzuk meg E(Na2 )-t! E(Na2 )
=
∞ X
2
k Πk =
k=1
=
1 1 − e−ρ
1 = 1 − e−ρ
∞ X k=1
∞ X
k2
Pk+1 1 − e−ρ
(k + 1)2 − 2k − 1 Pk+1
k=0 ∞ X
2
(k + 1) Pk+1 − 2
k=0
∞ X k=0
kPk+1 −
∞ X k=0
1 2 −ρ −ρ ρ + ρ − 2 ρ + e − 1 − 1 − e 1 − e−ρ 1 2 −ρ = ρ − ρ − e + 1 . 1 − e−ρ
=
31
! Pk+1
Ezért 2 1 1 2 −ρ −ρ ρ −ρ−e +1 − D (Na ) = (ρ + e − 1) 1 − e−ρ 1 − e−ρ 2 2 1 −ρ 2 −ρ −ρ (1 − e ) ρ − ρ − e + 1 − ρ + e − 1 = 1 − e−ρ 2 1 = (ρ2 − ρ − e−ρ + 1 − ρ2 e−ρ + ρe−ρ + e−2ρ − e−ρ 1 − e−ρ − ρ2 − e−2ρ − 1 − 2ρe−ρ + 2ρ − 2e−ρ ) ρ − e−ρ (ρ2 + ρ) = . (1 − e−ρ )2 2
Így 2 1 1 ρ − e−ρ (ρ2 + ρ) −ρ D (W ) = (ρ + e − 1) + µ 1 − e−ρ (1 − e−ρ )2 1 ((ρ + e−ρ − 1)(1 − e−ρ ) + ρ − e−ρ (ρ2 + ρ)). = (µ(1 − e−ρ ))2 2
Ebből 1 D2 (T ) = D2 (W ) + 2 µ 2 1 2 D (T ) = (ρ + e−ρ − 1)(1 − e−ρ ) + ρ − e−ρ (ρ2 + ρ) + (1 − e−ρ )2 ) µ(1 − e−ρ ) (1 − e−ρ )(ρ + e−ρ − 1 + 1 − e−ρ ) + ρ − e−ρ (ρ2 + ρ) = (µ(1 − e−ρ ))2 2ρ − 2ρe−ρ − ρ2 e−ρ = (µ(1 − e−ρ )2 ami ugyanaz, mint amit előzőleg megkaptunk.
2.3. Prioritásos M/M/1 rendszer A következőkben az M/M/1 rendszer egy olyan módosításával fogunk megismerkedni, ahol két különböző típusú igény van. Mindkét típusú igények független Poisson-eloszlás szerint érkeznek, egyes típusú λ1 , a kettes pedig λ2 paraméterrel. A kiszolgálási intenzitás típustól függetlenül legyen µ. A rendszer stabilitása miatt feltételezzük, hogy ρ1 + ρ2 < 1, ahol ρi = λi /µ, i = 1, 2. Tegyük fel, hogy az egyes típusú igényeknek prioritása van a kettes típusúakkal szemben. Az elkövetkezendőekben abszolút és relatív prioritási szabályok mellett határozzuk meg az egyes csoportokba tartozó igények átlagos tartózkodási idejét és várható számát. 32
Abszolút prioritás Ezen szabály esetén az egyes típusú igényeknek abszolút prioritása van a kettessel szemben, ami azt jelenti, hogy ha egy kettes típusú kiszolgálás alatt áll és egy egyes típusú érkezik akkor a kettes típusú megszakításra kerül és az egyes típusú kiszolgálása következik. Ha a rendszerben nincs több egyes típusú akkor a kettes típusúak kiszolgálási kezdődik meg attól a ponttól, ahonnan megszakították. Jelölje Ni a renszerben tartózkodő i típusú igények számát, míg Ti az i típusú igények tartózkodási idejét. A következőkben az E(Ni ) és az E(Ti ) mennyiségeket fogjuk meghatározni i = 1, 2 esetén. Az egyes típusú igények számára a kettes típusúak tulajdonképpen nem léteznek, így közvetlenül kapjuk, hogy E(T1 ) =
(2.3)
1/µ , 1 − ρ1
E(N1 ) =
ρ1 . 1 − ρ1
Mivel típustól függetlenül a kiszolgálási intenzitás megegyezik, így a rendszerben tartózkodó igények száma nem függ a kiszolgálás sorrendjétől. Így ez az érték megegyezik azzal, amikor az érkezési sorrend szerint történik a kiszolgálás. Az M/M/1 rendszernél megismert képletek alapján ezért E(N1 ) + E(N2 ) =
(2.4)
ρ1 + ρ2 , 1 − ρ1 − ρ2
majd felhasználva (2.3)-et, E(N2 ) =
ρ1 ρ2 ρ1 + ρ2 − = , 1 − ρ1 − ρ2 1 − ρ1 (1 − ρ1 )(1 − ρ1 − ρ2 )
és alkalmazva a Little-törvényt, E(T2 ) =
E(N2 ) 1/µ . = λ2 (1 − ρ1 )(1 − ρ1 − ρ2 )
2. Példa. λ1 = 0.2, λ2 = 0.6 és µ = 1 esetén ha érkezési sorrendben történik a kiszolgálás, akkor 1 = 5, E(T ) = 1 − 0.8 míg ha az egyes típusnak prioritása vannak a kettes felett E(T1 ) =
1 = 1.25, 1 − 0.2
E(T2 ) =
1 = 6.25. (1 − 0.2)(1 − 0.8)
Relatív prioritás Ebben az esetben az egyes típusú igényeknek majdnem abszolút prioritása van, ami azt jelenti, hogy az egyes típusú igény érkezésekor a kettes típusú igény kiszolgálása nem szakad meg, de a kiszolgálás befejeződésekor az egyes típusúak kiszolgálása kezdődik. Ebből következően ennek prioritási szabálynak relatív prioritás a neve. 33
Az egyes típusú igények átlagos tartózkodási idejére a következő képlet írható fel E(T1 ) = E(N1 )
1 1 1 + + ρ2 . µ µ µ
Az utolsó tag azt jelöli, hogy amikor egy érkező egyes típusú igény kettest típusút talál kiszolgálás közben, akkor mindaddig várnia kell, amíg annak kiszolgálása be nem fejeződik. A Poisson-folyamat szerinti érkezésnek köszönhetően annak a valószínűsége, hogy az egyes típusú beérkező igény kettes típusút talál megegyezik a kettes típusú igényekre vonatkozó kihasználtsággal , amely ρ2 . A Little-törvényt felhasználva, E(N1 ) = λ1 E(T1 ), kapjuk, hogy E(T1 ) =
(1 + ρ2 )/µ , 1 − ρ1
E(N1 ) =
(1 + ρ2 )ρ1 . 1 − ρ1
A kettes típus esetében (2.4)-t felhasználva, majd behelyettesítve kapjuk, hogy (1 − ρ1 (1 − ρ1 − ρ2 ))ρ2 , (1 − ρ1 )(1 − ρ1 − ρ2 )
E(N2 ) = és a Little-törvényt alkalmazva E(T2 ) =
(1 − ρ1 (1 − ρ1 − ρ2 ))/µ . (1 − ρ1 )(1 − ρ1 − ρ2 )
3. Példa. Legyen λ1 = 0.2, λ2 = 0.6 és µ = 1, ekkor E(T1 ) =
1 + 0.6 = 2, 1 − 0.2
E(T2 ) =
1 − 0.2(1 − 0.8) = 6. (1 − 0.2)(1 − 0.8)
Java-applet a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMcPrio/MMcPrio.html
2.4. Az M/M/1/K típusú, véges befogadóképességű rendszer Tekintsük az M/M/1 rendszert azza a módosítással, hogy a rendszerben egyszerre maximum K igény tartózkodhat. Könnyű látni, hogy a rendszerben tartózkodó igények száma ismét születési-halálozási folyamat lesz λk = λ, k = 0, . . . , K − 1 és µk = µ, k = 1, . . . , K intenzitásokkal. Ekkor Pk =
ρk K X
, k = 0, . . . , K, ρi
i=0
34
vagyis 1 P0 = K X
=
1 K+1
ρi
1−ρ 1−ρK+1
,ρ=1 , ρ 6= 1.
i=0
Meg kell jegyezni, hogy a rendszer stabil minden ρ > 0-ra rögzített K mellett, de ha K → ∞-hez, akkor a stabilitás feltétele a ρ < 1 reláció és értelemszerűen az M/M/1/K rendszer eloszlása az M/M/1 rendszer eloszlásához konvergál. Ez analitikusan is megmutatható, hiszen ρK → 0-hoz és így P0 → 1 − ρ-hoz. Ezek után adjuk meg a szokásos rendszerjellemzőket • US = 1 − P0 , 1 US E(δ) = λ 1 − US • N=
K X
k
kρ P0 = ρP0
k=1
= ρP0
K X
kρk−1
k=1 K X
!0 ρ
k
= ρP0
k=1
1 − ρK ρ 1−ρ
0
= ρP0
ρ − ρK+1 1−ρ
0
ρP0 (1 − ρ)2 ρP0 1 − (K + 1)ρK − ρ + (K + 1)ρK+1 + ρ − ρK+1 = (1 − ρ)2 ρP0 1 − (K + 1)ρK + KρK+1 = (1 − ρ)2 ρ 1 − (K + 1)ρK + KρK+1 = . (1 − ρ)(1 − ρK+1 ) =
1 − (K + 1)ρK (1 − ρ) + ρ − ρK+1 ·
• Q=
K X
(k − 1)Pk =
k=1
K X k=1
kPk −
K X
Pk = N − US
k=1
• A tartózkodási és várakozási idő jellemzőinek meghatározásához tudni kell, hogy a rendszerbe érkező igény milyen állapotban találja a rendszert. A Bayes-formula felhasználásával az eddigiekhez hasonlóan könnyű látni, hogy Πk =
λPk Pk . = K−1 1 − PK X λPi i=0
35
A következő részben az M/M/1 rendszerhez hasonlóan azt kell észrevenni, hogy a feltételes tartózkodási és várakozási idők (k + 1, µ) illetve (k, µ) paraméterű Erlangeloszlást követnek, ha a rendszerben k igény tartózkodott az új igény rendszerbe érkezésének pillanatában. Ennek megfelelően írjuk le a várható értéket illetve a sűrűségfüggvényt. Ezért T =
K−1 X k=0
=
K−1 X k + 1 ρ k P0 k+1 Πk = µ µ 1 − Pk k=0
K−1 X 1 N . (k + 1)Pk+1 = λ(1 − PK ) k=0 λ(1 − PK )
Így W =T−
1 N 1 = − . µ λ(1 − PK ) µ
Szeretnénk megmutatni, hogy ebben az esetben is érvényes a Little-formula, ami egyúttal a formulák helyességét is ellenőrzi. Látható, hogy a rendszerbe való átlagos beérkezési intenzitás λ = λ(1−PK ) és ezért λ · T = λ(1 − PK )
N = N. λ(1 − PK )
Hasonlóan
N 1 λ λ·W =λ − =N− λ(1 − PK ) µ µ = N − ρ(1 − PK ) = N − US = Q, mivel λ = µ = µUS . Ezek után vizsgáljuk meg a tartózkodási és várakozási idő sűrűség- illetve eloszlásfüggvényét! Mint, ahogyan eddig is tettük, a teljes valószínűség tétele miatt K−1 X
(µx)k −µx Pk fT (x) = µ e , k! 1 − PK k=0 ebből x Z k µ (µt) e−µt dt Pk FT (x) = k! 1 − PK k=0 0 ! K−1 k X X (µx)i −µx Pk = 1− e i! 1 − PK i=0 k=0 ! K−1 k X X (µx)i −µx Pk =1− e . i! 1 − P K i=0 k=0 K−1 X
36
Ezek a formulák a véges összegzés miatt bonyolultabbak, mint az M/M/1 esetben, de könnyű látni, hogy K → ∞ határértéknél fT (x) = µ(1 − ρ)e−µ(1−ρ)x . A várakozási idő sűrűségfüggvényére igaz az alábbi összefüggés P0 1 − PK K−1 X (µx)k−1 Pk fW (x) = e−µx , µ (k − 1)! 1 − P K k=1 fW (0) =
K−1
X P0 FW (x) = + 1 − PK k=1 =1−
1−
k−1 X (µx)i
i!
i=0
K−1 X
k−1 X (µx)i
k=1
i=0
i!
x>0
! e−µx
·
! e−µx
Pk 1 − PK
Pk . 1 − PK
Ezek a formulák rögzített K esetén szátmítógép segítségével minden további probléma nélkül kiszámíthatók. Mint látható a PK valószínűség kiemelt szerepet játszik a képletekben. Vegyük észre, hogy ez éppen annak a valószínűsége, hogy a rendszerhez érkező igény nem tud csatlakozni a rendszerhez, mert nincs hely. Ezt a valószínűséget "blokkolási" vagy igényvesztési valószínűségnek nevezzük és PB -vel jelöljük. A Bayes-formula alkalmazásával PB =
λPK = PK . K X λPk k=0
Ha még a K-tól és ρ-tól való függést is jelölni szeretnénk, akkor PB (K, ρ) =
ρK . K X ρk k=0
Vegyük észre, hogy PB (K, ρ) =
ρρK−1 K−1 X
ρk + ρρK−1
=
ρPB (K − 1, ρ) . 1 + ρPB (K − 1, ρ)
k=0
ρ kezdőértékből kiindulva az igényvesztés valószínűsége rekurzí1+ρ ven meghatározható. Az is nyilvánvaló, hogy ez a sorozat ρ < 1 esetén a 0-hoz konvergál és ezért rekurzióval biztosan tudunk találni olyan K-t, melyre
A PB (1, ρ) =
PB (K, ρ) < P ∗ , 37
ahol a P ∗ egy előre megadott korlát az igényvesztés valószínűségére. Ha iteráció nélkül szeretnénk meghatározni a K-t, akkor a ρK (1 − ρ) < P∗ 1 − ρK+1 egyenlőtlenséget kell megoldani K-ra, ami nehezebb feladat, mint a rekurzív megközelítés. Választhatunk egy közelítő megoldást is, ami abban rejlik, hogy az M/M/1 rendszer esetén nézzük meg, mi lesz annak a valószínűsége, hogy a rendszerben legalább K igény tartózkodik és ezzel közelítjük a PB (K, ρ)-t. Látható, hogy
PB (K, ρ) =
∞ ρK (1 − ρ) X k < ρ (1 − ρ) = ρK , 1 − ρK+1 k=K
így, ha ρK < P ∗ , akkor teljesül a PB∗ (K, ρ) < P ∗ is. Vagyis K ln ρ < ln P ∗ ln P ∗ . K> ln ρ
Most térjünk rá a tartózkodási idő Laplace-transzformáltjának a meghatározására! Az előzőekhez hasonlóan könnyű látni, hogy K−1 X
k+1
ρk P 0 1 − PK k=0 l K X P0 µρ = ρ(1 − PK ) l=1 µ + s K λ 1 − µ+s P0 λ = λ ρ(1 − PK ) µ + s 1 − µ+s K λ 1 − µ+s µP0 = . (1 − PK ) µ − λ + s
LT (s) =
µ µ+s
38
Hasonlóan K−1 X
k
ρk P 0 1 − PK k=0 k K−1 P0 X µρ = 1 − PK k=0 µ + s K λ 1 − µ+s P0 = λ 1 − PK 1 − µ+s K λ (µ + s) 1 − µ+s P0 = , 1 − PK µ−λ+s
LW (s) =
µ µ+s
ami nyilvánvalóan a LT (s) = LW (s) ·
µ µ+s
relációból is következik. A Laplace-transzformáltakra azért van szükség, mert segítségükkel az érintett valószínűségi változók magasabb momentumait is meghatározhatjuk. Java-applet a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MM1K/MM1K.html
2.5. Az M/M/∞ típusú rendszer Az előzőekhez hasonlóan könnyű látni, hogy (N (t), t ≥ 0) ismét születési-halálozási folyamat λk = λ, k = 0, 1, . . . µk = kµ, k = 1, 2, . . . intenzitásokkal. Így a stacionárius eloszlás ∞
X %k %k = e% , Pk = P0 , ahol P0−1 = k! k! k=0 vagyis %k −% Pk = e , k! ami azt mutatja, hogy N % paraméterű Poisson-eloszlást követ.
39
Könnyű látni, hogy a rendszerjellemzők N = %,
1 , W = 0, r = N , µ = rµ µ E(δr ) 1 − e−% 1 1 − e−% = , E(δr ) = . 1 e−% e−% λ
λ = λ,
Ur = 1 − e−% ,
T =
Be lehet bizonyítani, hogy ezek a formulák érvényesek M/G/∞ rendszerre is, ahol E(S) =
Java-applet a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMinf/MMinf.html
2.6. Az M/M/n/n típusú Erlang-féle veszteséges rendszer Ezen modellre n csatornás veszteséges rendszerként is szokás hivatkozni az alábbiak miatt. Az n csatornás rendszerbe Poisson-folyamat szerint érkeznek az igények. Ha van üres csatorna vagy szerver az igény kiszolgálása exponenciális időtartamú µ paraméterrel. Ha minden kiszolgáló egység foglalt, akkor az igény elvész, azaz sorbanállás nem megengedett. Ezen probléma a tömegkiszolgálás egyik legrégibb problémája, mellyel a század elején a telefonközpontok kihasználtságával kapcsolatban foglalkozott A. K. Erlang és C. Palm. Hasonló jelenséggel találkozunk például a parkoló helyek esetében is. A feltételek alapján ez a rendszer is egy születési-kihalási folyamattal modellezhető, melynek intenzitásai a következők ( λ, ha k < n, λk = 0, ha k ≥ n, µk = kµ,
k = 1, 2, ..., n.
Azt mondjuk, hogy a (N (t), t ≥ 0) folyamat az k állapotban van, ha k kiszolgáló foglalt, azaz ha k igény tartózkodik a rendszerben. Nyilvánvalóan az ergodikus eloszlás létezik, mivel a folyamat véges állapotterű. A stacionárius eloszlás k λ 1 , ha k ≤ n, P0 Pk = µ k! 0 , ha k > 0. A normalizáló feltétel miatt P0 =
n k X λ 1 µ k! k=0
40
!−1 ,
1 . µ
így k λ 1 %k µ k! Pk = n i = nk! i , X λ 1 X% µ i! i! i=0 i=0
k ≤ n.
A rendszer egyik jellemzője a %n Pn = nn! k = B(n, ρ) X% k! k=0 valószínűség, melyet először Erlang vezetett be (1917-ben) és Erlang-féle veszteségformula vagy Erlang-féle B-formula néven ismert, általában B(n, λ/µ) szimbólummal jelöljük. A Bayes-formula felhasználásával könnyű látni, hogy Pn annak a valószínűsége stacionárius esetben, hogy egy újonnan érkező igényt nem fogad a rendszer, mert telített, azaz az igény elvész. Kis n-re a P0 valószínűség könnyen kiszámolható. Nagy n-re és kis %-ra P0 ≈ e−% , így
%k −% e , k! azaz a Poisson-eloszlás. Nagy n-re és nagy %-ra általában Pk ≈
n X %j j=0
j!
6= e% .
Ebben az esetben a nevező a % közepű Poisson-eloszlás első (n + 1) tagjának összege. Elegendő nagy %-ra (% > 15) a centrális határeloszlás-tétel miatt a Poisson-eloszlást √ közelítjük % közepű és % szórású normális eloszlással, így √ √ Φ(s − 1/ %) Φ(s) − Φ(s − 1/ %) Pn ≈ =1− , Φ(s) Φ(s) ahol
Zs Φ(s) = −∞
és
x2 1 √ e− 2 dx, 2π
n + 21 − % s= . √ %
A B(n, ρ)-ra azonban fel tudunk írni egy nagyon fontos rekurziós összefüggést is, hiszen B(n, p) =
=
ρn n! n i X
ρ i!
=
ρ ρn−1 n (n−1)! n−1 i X ρ
+
i! i=0 i=0 ρ B(n − 1, ρ) n 1 + nρ B(n − 1, ρ) 41
ρ ρn−1 n (n − 1)!
=
ρB(n − 1, ρ) . n + ρB(n − 1, ρ)
ρ kezdeti feltételből kiindulva bármely n-re meg tudjuk határozni a 1+ρ B(n, ρ)-t. Ez azért fontos, mert nagyobb kiszolgáló számnál a faktoriális nem számolható, de a rekurzió még mindig működik. Például n = 1000, ρ = 1000 esetben a pontos képletet nem tudjuk kiszámolni, de a közelítés és a rekurziós képlet 0.024 értéket ad. A B(1, ρ) =
B(n, ρ) nagyon fontos szerepet játszik a gyakorlati problémák megoldásában ezért külön úgynevezett kalkulátorokat írtak, melyek megtalálhatók a http://www.erlang.com/calculator/ internet címen. A pontos és közelítő érték összehasonlítására mi is írtunk egy Java Scriptet, amely megtalálható az alábbi linken http://jani.uw.hu/erlang/erlang.html Az M/M/n/n rendszer jellemzői: • A rendszerben tartózkodó igények átlagos száma, a foglalt szerverek átlagos száma N =n=
n X j=0
jPj =
n n−1 i X X %j % j P0 = % P0 = %(1 − Pn ), j! i! j=0 j=0
így 1 szerverre jutó átlagos igényszám % (1 − Pn ). n • A szerverek kihasználtsága Mint már láttuk
n X i n ¯ Us = Pi = . n n i=1
Jelen esetben Us =
% (1 − Pn ). n
• Az átlagos tétlenségi idő (egy konkrét kiszolgáló esetén) A jól ismert összefüggést alkalmazva P (az adott kiszolgáló egység foglalt) = ahol e az átlagos tétlenségi idő. Így % 1/µ (1 − Pn ) = , n e + 1/µ 42
1/µ , e + 1/µ
tehát e=
n 1 − . λ(1 − Pn ) µ
Ha az üres szerverek olyan sorrendben kezdik kiszolgálni az érkező igényeket, mint amilyen sorrendben megüresedtek, akkor egy szerver működését a következőképpen írhatjuk le. Ha egy üressé vált szerver (j − 1) másik üres szervert talál megüresedése pillanatában, akkor csak a j-edik igény kiszolgálásával kezdődik ismét a foglaltsági periódusa. Jelölje e a szerver átlagos üresjárati periódusa hosszát, ej pedig a fenti állapotban az átlagos tétlenségi időt. Nyilvánvalóan ej = λj , e pedig a teljes várható érték tétele alapján: n X 1 Pn−j j n−n = e= S= 1 − Pn λ λ(1 − Pn ) λ(1 − Pn ) j=1
=
n % n 1 − = − λ(1 − Pn ) λ λ(1 − Pn ) µ
azaz más úton is ugyanarra az eredményre jutunk. • A rendszer átlagos foglaltsági periódushossza Nyilvánvalóan Ur = 1 − P0 =
1 λ
Eδr , + Eδr
melyből n X %i
Eδr =
1 − P0 = λP0
i=1
λ 1+
i!
n X %i i=1
!.
i!
Java-applet a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMcc/MMcc.html 4. Példa. Egy parkolóhoz az autók 20 másodpercenként érkeznek, és átlagosan 10 percig maradnak. A beérkezés Poisson, a kiszolgálás exponenciális. Milyen nagynak kell lennie a parkolónak, hogy egy autó 1% eséllyel forduljon vissza, mert a parkoló telített? Megoldás: ρ=
10 λ = 1 = 30, Pn = 0.01. µ 3
A normális eloszlással való approximációt követve 1 1 n+ 2 −ρ n− 2 −ρ ρn −ρ √ √ Φ −Φ e ρ ρ 1 Pn = 0.01 = n!n+ 1 −ρ = . n+ −ρ √2 √2 Φ Φ ρ ρ 43
Ebből 0.99Φ
n + 21 − ρ √ ρ
=Φ
n − 21 − ρ √ ρ
.
A normális eloszlás táblázatából nem nehéz ellenőrizni, hogy n = 41. Ekkor P41 közelítése: 0.009917321712214377, a pontos értéke pedig: 0.01043318100246811.
5. Példa. Egy 50 csatornás telefonközpontba átlagosan 10 percenként érkeznek hívások Poisson-eloszlás szerint. A kiszolgálási idő exponenciális, 5 perc átlaggal. Határozzuk meg a rendszer jellemzőit! Megoldás: Esetünkben Poisson-közelítés vehető, így ρ = µλ = 24 = 0.5 P50 = 0.00000 a Poisson-eloszlás szerint, sőt még n = 6-nál is P6 = 0, 00001. Ez azt jelenti, hogy igény szinte sohasem lesz elutasítva. A foglalt csatornák átlagos száma n = ρ(1 − Pn ) = ρ = 0.5 , így az egy csatornára jutó átlagos igényszám 5 × 10−1 0.5 = = 10−2 , 50 5 × 10 és ez egyben a csatornák kihasználtsága U50 = 10−2 . Ur = 1 − 0.606 = 0.394 ami a rendszer kihasználatsága. A rendszer átlagos foglaltsági periódushossza Eδr =
(1 − P0 ) 0.394 0.394 = = = 0.32 perc (λP0 ) 2 × 0.606 1.212
A csatornák átlagos tétlenségi ideje e=
n ρ 50 0, 5 1 − = − = 25 − = 24.75 perc λ(1 − Pn ) λ 2(1 − 0) 2 4
A csatornák átlagos foglaltsági ideje Eδ =
ρ 1 = perc λ 4
44
Heterogén kiszolgálók esete − → Az M/M /n/n rendszer esetében feltesszük, hogy az i-edik kiszolgáló µi intenzitással szolgálja ki az igényeket, melyek érkezésükkor egyenlő valószínűséggel választanak a tétlen kiszolgálók közül. Ekkor nem elég tudni, hogy hány igény van a rendszerben, hanem ismernünk kell a foglalt kiszolgálók indexét is. Ezért nem születési-halálozási folyamattal, hanem általánosabb állapotterű Markov-lánccal van dolgunk. Ha (i1 , . . . , ik ) jelöli a foglalt kiszolgálók indexeit, amelyek nyilvánvalóan az n k-ad osztályú kombinációi, akkor a Markov-lánc állapotterét a (0, (i1 , . . . , ik ) ∈ Ckn , k = 1, . . . , n) indexhalmazok alkotják. Jelölje P0 = P (0), P (i1 , . . . , ik ) = P ((i1 , . . . , ik )), (i1 , . . . , ik ) ∈ Ckn ,
k = 1, . . . , n
a folyamat stacionárius eloszlását, amely létezik, mivel az állapottér véges és irreducibilis. A szokásos módon felírhatjuk a stacionárius állapotegyenleteket, amelyek a következő alakot öltik λP0 =
n X
µj P (j)
j=1 k X
(λ +
k
µij )P (i1 , . . . , ik ) =
j=1
+
X
X λ P (i1 , . . . , ij−1 , ij+1 , . . . , ik ) n − k + 1 j=1
µj P (i01 , . . . , i0k , j 0 )
j6=i1 ,...,ik
X n
µj P (1, . . . , n) = λ
j=1
n X
P (1, . . . , j − 1, j + 1, . . . , n),
j=1
ahol (i01 , . . . , ik 1, j 0 ) az i1 , . . . , ik , j indexek növekvő sorrendbe rendezett halmazát jelöli, i−1 és in+1 pedig nincs értelmezve, ott az összegzést értelem szerint kell venni! Bár látszólag bonyolult egyenletrendszerrel van dolgunk, amelyben az ismeretlenek száma 2n , megmutatjuk, hogy a megoldás viszonylag egyszerű, nevezetesen P (i1 , . . . , ik ) = (n − k)!
(2.5)
k Y
%ij C,
j=1
ahol %j =
λ , µi
j = 1, . . . , n,
P0 +
P0 = n!C, amely a n X
X
k=1
(i1 ,...,ik )∈Ckn
P (i1 , . . . , ik ) = 1
normalizáló feltételből kapható meg. Először nézzük meg az első állapotegyenletet! Behelyettesítve 45
λn!C =
n X
µj
j=1
λ (n − 1)!C = n!λC. µj
Majd a harmadik egyenletnél végezzük el a behelyettesítést X n
µj
j=1
X n n X λn λn−1 C λn C=λ = µj C. µ1 · · · µn µ · · · µj−1 µj+1 · · · µn µ1 · · · µn j=1 j=1 1
Végül a legbonyolultabb, második esetet nézzük meg! (λ +
k X
µij )(n − k)!
j=1
=
k Y
%ij C
j=1
k X λ λk−1 C (n − k + 1)! n−k+1 µ · · · µij−1 µij+1 · · · µik j=1 i1
X
+
(n − k − 1)!
j6=i1 ,...,ik
λk+1 µj C µi1 · · · µik µj
k X X µij λk C λk C (n − k − 1)! +λ = (n − k)! µ · · · µik µi1 · · · µik j=1 i1 j6=i1 ,...,ik X k λk C λk C = (n − k)! µij + λ(n − k)! , µ µ · · · µ · · · µ i i i i 1 1 k k j=1
ami az egyenlőséget mutatja. Ezek után a szokásos rendszerjellemzők a következők • Uj a j-edik kiszolgáló kihasználtsága Uj =
n X
X
P (i1 , . . . , ik ),
k=1 j∈(i1 ,...,ik )
majd ebből Uj =
1 µj 1 µj
+ E(ej )
,
ahol E(ej ) az j-edik kiszolgáló átlagos tétlenségi periódushossza E(ej ) = • N=
Pn
j=1
1 1 − Uj . µj Uj
Uj
• Az igényvesztés, vagy blokkolás valószínűsége pedig PB = P (1, . . . , n). 46
Ebben az esetben is igaz, hogy λ(1 − PB ) =
Pn
j=1
Uj µj .
Homogén esetben, vagyis amikor µj = µ, j = 1, . . . , n, Pk =
X
%k %k n %k k P (i1 , . . . , ik ) = (n − k)!% C = n!C = P0 = Pnk! k! k! k n j=1
(i1 ,...,ik )∈Ck
%j j!
,
vagyis a jól ismert képleteket kapjuk. Meg kell jegyezni, hogy ezek a képletek tetszőleges, véges várható értékű kiszolgálási idők mellett is érvényesek.
2.7. Az M/M/n típusú rendszer Ismét olyan λ állandó beérkezési intenzitású rendszert vizsgálunk, melyben korlátlan hosszúságú sor kialakulása megengedett. A rendszer n db kiszolgálóval (szerverrel) van ellátva. Ez az eset is leírható születési-halálozási folyamattal a következők miatt. Először is tekintsünk független, µi paraméterű exponenciális eloszlású ξi valószínűségi változókat. Jelöljük η-val ezen ξi (i = 1, 2, ..., N ) változók minimumát. Nem nehéz belátni, hogy η is N P exponenciális eloszlású lesz µi paraméterrel. Ugyanis i=1
P (η < x) = 1 − P (η ≥ x) = 1 − P (ξi ≥ x, i = 1, ..., N ) = =1−
N Y
P (ξi ≥ x) = 1 − e−(
PN
i=1
µi )x
.
i=1
Ezt felhasználva kapjuk meg annak valószínűségét, hogy a rendszer a h idő alatt a k állapotból a k − 1 állapotba, ill. a k állapotból a k + 1 állapotba kerül. Így Pk,k−1 (h) = (1 − (λh + o(h))) (µk h + o(h)) + o(h) = µk h + o(h), Pk,k+1 (h) = (λh + o(h)) (1 − (µk h + o(h))) + o(h) = λh + o(h), ahol
µk = min(kµ, nµ) =
kµ
, ha 0 ≤ k ≤ n,
nµ , ha n < k.
Könnyen látható, hogy az ergodikusság feltétele λ/nµ < 1. Amikor hozzákezdünk a Pk mennyiségek kiszámolásához, azt találjuk, hogy a megoldást két részre kell szétbontanunk, mivel a µk mennyiség kétféle módon függ k-tól. Eszerint, ha k < n, akkor k k−1 Y λ 1 λ = P0 . Pk = P0 (i + 1)µ µ k! i=0 47
Ha viszont k ≥ n, akkor Pk = P0
n−1 Y i=0
k k−1 Y λ λ 1 λ = P0 . (i + 1)µ j=n nµ µ n!nk−n
Összefoglalva a kapott eredményeket ρk P 0 k! Pk = ak n n P0 n! ahol a=
, ha k ≤ n, , ha k > n,
ρ λ = < 1. nµ n
Ez az a éppen egy kiszolgáló egység kihasználtsága. Továbbá P0 =
1+
n−1 k X ρ k=1
k!
+
∞ X ρk k=n
!−1
1
,
n! nk−n
és így P0 =
n−1 k X ρ k=0
ρn 1 + k! n! 1 − a
!−1 .
Annak a valószínűsége, hogy egy újonnan érkező igénynek sorba kell állnia, P (sorbanállás) =
∞ X
Pk =
k=n
∞ X k=n
P0
ρk 1 . n! nk−n
Ebből ρn 1 ρn n n! n−ρ n! 1 − a P (sorbanállás) = n−1 = n−1 = C(n, ρ). k n k Xρ Xρ ρ 1 ρn n + + k! n! 1 − a k! n!(n − ρ) k=0 k=0 Ezt a valószínűséget széles körben használják például a telefonrendszerek, call-centerek vizsgálatával kapcsolatban. Itt annak a valószínűségét adja meg, hogy egy újonnan beérkezett hívás (igény) számára nincs szabad vonal (kiszolgáló egység) egy n szerveres rendszerben. Ez az ú.n. Erlang-féle C-formula, vagy Erlang-féle várakozásos formula amit többnyire C(n, λ/µ) szimbólummal jelölünk.
48
Az M/M/n rendszer jellemzői • Az átlagos sorhossz Q=
∞ X
(k − n)Pk =
∞ X
=
∞ X
j
j=0
jPn+j =
j=0
k=n
λ n µ j
λ n µ
n!
n!
a P 0 = P0
a
∞ X j j=0
∞ X daj j=0
λ n+j µ P0 n!nj
λ n µ
=
∞
d X j = P0 a a = da n! da j=0
λ n = P0
a ρ C(n, ρ). = 2 n! (1 − a) n−ρ
µ
• A foglalt szerverek átlagos száma ! ρn 1 n= + = kPk + nPk = P0 ρ k! (n − 1)! 1 − a k=0 k=n k=0 ! n−2 X ρk ρn−1 ρn−1 1 =ρ + + −1 P0 = k! (n − 1)! (n − 1)! 1 − a k=0 ! n−1 k X ρ ρn 1 1 =ρ + P0 = ρ P0 = ρ. k! n! 1 − a p0 k=0 n−1 X
∞ X
n−2 k X ρ
• A rendszerben tartózkodó igények átlagos száma
N=
∞ X k=0
kPk =
n−1 X
kPk +
∞ X
(k − n)Pk +
k=n
k=0
∞ X
nPk = n + Q
k=n
ρ C(n, ρ), =ρ+ n−ρ ami egyszerű megfontolásokból is adódik, hiszen egy igény vagy várakozik, vagy kiszolgálás alatt van. A kiszolgálás alatt levők száma viszont megegyezik a foglalt kiszolgáló egységek számával. Ha S-gal jelöljük a szabad szerverek vagy kiszolgáló egységek átlagos számát, akkor n = n − S, λ S =n− , µ így N = n − S + Q, vagyis N − n = Q − S. 49
• A várakozási idő eloszlása Egy érkező igénynek akkor kell várakoznia, ha a rendszerben legalább n igény tartózkodik. Mivel ebben az esetben a kiszolgálás nµ paraméterű exponenciális eloszlású valószínűségi változó, az igény várakozási ideje, ha n + j igény tartózkodik a rendszerben Erlang-eloszlású j + 1 és nµ paraméterekkel. Így a teljes valószínűség tétele alapján a várakozási idő sűrűségfüggvénye fW (x) =
∞ X
Pn+j (nµ)j+1
j=0
xj −nµx e . j!
Behelyettesítve a stacionárius eloszlást λ n ∞ j X µ j j+1 x −nµx fW (x) = a (nµ) e P0 n! j! j=0 n ∞ X P0 µλ (anµx)j −nµx = nµe n! j! j=0 λ n =
µ
=
µ
n! λ n n!
λ n µ
P0 nµe−(nµ−λ)x P0 nµe−nµ(1−a)x
1 nµ(1 − a)e−nµ(1−a)x n! 1−a = P (sorbanállás)nµ(1 − a)e−nµ(1−a)x . =
P0
Vagyis Z∞ P (W > x) =
fW (u)du = P (sorbanállás)e−nµ(1−a)x
x
= C(n, ρ) · e−µ(n−ρ)x . A várakozási idő eloszlásfüggvénye FW (x) = 1 − P (sorbanállás) + P (sorbanállás) 1 − e−nµ(1−a)x
= 1 − P (sorbanállás)e−nµ(1−a)x = 1 − C(n, ρ) · e−µ(n−ρ)x . Innen az átlagos várakozási idő Z∞ W =
xfW (x)dx =
λ n µ n!
P0
0
50
1 1 = C(n, ρ). 2 (1 − a) nµ µ(n − ρ)
• A tartózkodási idő eloszlása A kiszolgálás azonnal elkezdődik, ha a rendszerben n-nél kevesebb igény tartózkodik, így stacionárius esetben egy érkező igény rendszerben eltöltött ideje megegyezik a kiszolgálási idővel. Azonban, ha várakoznia kell, akkor a várakozási idő és a kiszolgálási idő összege, vagyis az eloszlás két független eloszlás összege, mely közül az egyik µ paraméterű exponenciális, a másik pedig a rendszertől függő paraméterű Erlang-eloszlás. A tartózkodási idő sűrűségfüggvényét a következő módon határozzuk meg. fT (x) = P (nincs sorbanállás)µe−µx + fW +S (x) Tudjuk, hogy fW (x) = P (sorbanállás)e−nµ(1−a)x nµ(1 − a). Ekkor
Zz fW +S (z) =
fW (x)µe−µ(z−x) dx =
0
Zz = P (sorbanállás)nµ(1 − a)µ
e−nµ(1−a)x e−µ(z−x) dx =
0
1 ρn nµ(1 − a)µe−zµ = P0 n! (1 − a)
Zz
e−µ(n−1−λ/µ)x dx =
0
=
1 ρn P0 nµ e−µz 1 − e−µ(n−1−λ/µ)z . n! n − 1 − λ/µ
Ezért fT (x) =
+
= µe−µx
λ n µ n!
nµP0 λ n P0 µ
n λ P0 1− µe−µx + µ n!(1 − a)
1 e−µx 1 − e−µ(n−1−λ/µ)x = n − 1 − λ/µ λ n µ
! 1 + nP0 1 − e−µ(n−1−λ/µ)x = 1− n!(1 − a) n! n − 1 − λ/µ
= µe
−µx
λ n P0 µ
1 − (n − λ/µ)e−µ(n−1−λ/µ)x 1+ n!(1 − a) n − 1 − λ/µ
Így Z∞ P (T > x) =
fT (y)dy = x
51
! .
Z∞ =
−µy
µe
λ n P0 µ
! 1 −µy −µ(n−λ/µ)y dy = + µe − µ(n − λ/µ)e n!(1 − a) n − 1 − λ/µ
x
−µx
=e
n λ 1 + P0 e−µx − e−µ(n−λ/µ)x = µ n!(1 − a)(n − 1 − λ/µ) ! λ n −µ(n−1−λ/µ)x P 0 1 − e µ . = e−µx 1 + n!(1 − a) n − 1 − λ/µ
Innen FT (x) = 1 − P (T > x). Továbbá Z∞ T =
λ n 1 µ 1 1 1 P0 xfT (x)dx = + = + W, 2 µ nµ n! (1 − a) µ
0
mint az várható volt. Stacionárius esetben a távozó igények átlagos számának meg kell egyeznie az érkező igények átlagos számával, így a rendszerben tartózkodók átlagos száma állandó. Tehát annyi igény tartózkodik átlagosan a rendszerben, amennyi érkezik egy igény tartózkodási ideje alatt, vagyis λT = N = Q + n, továbbá λW = Q. Ezek az ú.n. Little-formulák, melyeket számolás útján is könnyen bizonyíthatunk. Ugyanis, mint beláttuk ρn N = ρ + P0 a. n!(1 − a)2 Mivel λ n 1 µ 1 1 P0 , T = + µ nµ n! (1 − a)2 így λ ρn a λT = + P0 , µ n! (1 − a)2 vagyis N = λT , λ mivel = ρ. Továbbá µ Q = λW , hiszen n = ρ. 52
• A szerverek összkihasználtsága Egy szerver kihasználtsága nyilvánvalóan Us =
n−1 X k k=1
n
Pk +
∞ X
Pk =
k=n
n ¯ = a. n
Így az összkihasználtság Un = nUs = n ¯. • A foglaltsági periódushosszak A rendszert akkor nevezzük tétlennek, ha a rendszerben nem tartózkodik igény, minden más esetben foglaltnak nevezzük. Jelölje a Eδr a rendszer átlagos foglaltsági periódushosszát. Ekkor (4) miatt a rendszer kihasználtsága Ur = 1 − P0 =
1 λ
Eδr , + Eδr
melyből 1 − P0 . λP0 Ha az egyes kiszolgáló egységeket tekintjük és feltesszük, hogy üres egységnél, szervernél ahhoz érkezik hamarabb igény, amely korábban vált üressé, akkor ha j < n igény tartózkodik a rendszerben, a szabad szerverek száma n − j. Eδr =
Tekintsünk egy konkrét szervert és tegyük fel, hogy a rendszerben j igény tartózkodik a szerver szabaddá válása pillanatában. Ekkor ezen szerver átlagos üresjárati ideje ilyen feltételek mellett n−j ej = . λ Annak a valószínűsége, hogy ebben az állapotban van aj =
Pj , n−1 X Pi i=0
így egy szerver átlagos szabad periódushossza n−1 X
n−1 X (n − j)Pj S e= aj ej = = , Pn−1 λP (e) λ i=0 Pi j=0 j=0
ahol P (e) annak a stacionárius valószínűsége, hogy egy érkező igénynek nem kell várakoznia. Ekkor ismét Eδ Us = a = , e + Eδ melyből ae = (1 − a)Eδ, 53
ahol a annak stacionárius valószínűsége, hogy a szerver nem üres, Eδ pedig az átlagos foglaltsági periódushossza. Így S a . 1 − a λP (e)
Eδ = n = 1 esetben S = 1 − a,
P (e) = P0 = 1 − a,
a=
λ , µ
így Eδ =
1 , µ−λ
amely a jól ismert képlet. A következő sorokban megmutatjuk, hogy milyen kapcsolat van az Erlang-féle veszteséges rendszer és a jelenlegi rendszer között, melyet szokás Erlang-féle várakozásos rendszernek is nevezni. Először tárjuk fel a két formula közötti kapcsolatot! Nevezetesen ( µλ )m 1 λ = C m, λ P µ m! 1 − mµ m−1 k=0
=
λ m ) (µ
1 λ k (µ )
k!
+
λ m (µ )
1 m! 1− λ mµ
B(m, µλ ) (1 − B(m, µλ ))(1 −
λ ) mµ
+ B(m, µλ )
=
=P m−1
m! λ m (µ )
k=0
m!
(1 −
λ ) mµ
B(m, µλ ) 1−
λ (1 mµ
− B(m, µλ ))
+
λ m (µ )
m!
.
Mint láttuk a C(n, ρ), amely a várakozás valószínűségét jelenti nagyon fontos szerepet játszik a jellemzők meghatározásában. Az előző formula átírható az alábbi alakba C(n, ρ) =
nB(n, ρ) , n − ρ + ρB(n, ρ)
sőt azt is be lehet bizonyítani, hogy C(n, ρ) =
ρ(n − 1 − ρ) · C(n − 1, ρ) , (n − 1)(n − ρ) − ρC(n − 1, ρ)
amely a C(1, ρ) = ρ kezdőértékből rekurzívan számolható. Ha minőségi mutatónak C(n, ρ)-t adjuk meg, akkor mindig létezik olyan n∗α , melyre C(n∗α , ρ) < α. Ha rendelkezésünkre áll számítógép a feladatot pillanatok alatt meg lehet oldani. Mi azonban egy olyan eljárást mutatunk be, amit a döntéshozók könnyen használhatnak. Mint korábban is láttuk √ ϕ n−ρ ρ . B(n, ρ) ≈ √ √ ρφ n−ρ ρ 54
Legyen k =
n−ρ √ , ρ
így n = ρ +
√
ρk. Ezért
√ (ρ + k ρ) √ϕ(k) nB(n, ρ) ρφ(k) C(n, ρ) = ≈ √ n − ρ + ρB(n, ρ) ρ + k k − ρ + ρ √ϕ(k) ρφ(k) √ ϕ(k) −1 ρ φ(k) φ(k) = 1+k . ≈√ ϕ(k) ρ k + ϕ(k) φ(k) Azaz, ha keresni akarunk olyan n∗α -ot, amelyre C(n∗α , ρ) < α, akkor az −1 φ(kα ) 1 + kα ≈α ϕ(kα ) egyenletet kell megoldani, amely ekvivalens a 1−α φ(kα ) = ϕ(kα ) α √ egyenlettel. Ha adott kα , akkor n∗α = ρ + kα ρ. Fontos megjegyezni, hogy kα keresése független a ρ-tól és n-től, így különböző α-ra előre kα
megadhatók. Például ha α = 0.8, 0.5, 0.2, 0.1, akkor a hozzájuk tartozó kα -k rendre 0.1728, 0.5061, 1.062, 1.420. √ Az n∗α = ρ + kα ρ képletet négyzetgyök-szabálynak is hívják, és nagyon jó közelítést ad, mint ahogyan a következő táblázat is mutatja. 2.1. táblázat. Az n∗ pontos és közelítő értékei α = 0.5 α = 0.2 α = 0.1 pontos közelítő pontos közelítő pontos közelítő ρ=1 2 2 3 3 3 3 7 7 8 8 9 9 ρ=5 ρ = 10 12 12 14 14 16 15 54 54 58 58 61 61 ρ = 50 ρ = 100 106 106 111 111 115 115 ρ = 250 259 259 268 267 274 273 ρ = 500 512 512 525 524 533 532 ρ = 1000 1017 1017 1034 1034 1046 1045 Nézzünk gyorsan egy példát, ahol jelentős többletkiadástól szabadulhatunk meg, ha alkalmazzuk a négyzetgyök-szabályt! Vegyünk két call-centert, ahová először külön-külön érkeznek az ügyfelek. Ekkor összesen √ 2(ρ + kα ρ) ügyfélfogadót kellene alkalmazni. √ Ha azonban az ügyfeleket egyesítjük, akkor ugyanolyan szintű szolgáltatáshoz 2ρ + kα 2ρ kiszolgálót kell alkalmazni. A megtakarítás √ √ (2 − 2)kα ρ . C(n, ρ) nagyon fontos szerepet játszik a gyakorlati problémák megoldásában ezért külön úgynevezett kalkulátorokat írtak, melyek megtalálhatók a 55
http://www.erlang.com/calculator/ internet címen.
Java-applet a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMc/MMc.html 6. Példa. Adott egy 4 csatornás telefonközpont, λ = 6, µ = 2. Határozzuk meg a rendszer jellemzőit! Megoldás: P0 = 0.0377,
Q = 1.528,
N = 4.528,
S = 1,
P (W > 0) = P (n ≥ 4) = C(4, 3) = 0.509, W = 0.255 időegység, 3 Un = , e = 0.35 időegység, 4 Eδr = 4.2 időegység,
n = 3, T = 0.755 időegység,
Eδ = 1.05 időegység, Ur = 0.9623.
7. Példa. Egy repülőtér kifutópályáinak számát úgy kell meghatároznunk, hogy a leszállni kívánó repülőgép várakozásának valószínűsége 0.1-nél kisebb legyen. A befutások statisztikai vizsgálata megmutatta, hogy megengedhető a repülőgépek érkezését Poisson-eloszlással közelíteni. Óránként átlagosan λ = 27 érkezést mértek. A kifutópálya elfoglaltságának időtartamát exponenciális eloszlásúnak tételezzük felel 2 perc várható értékkel. Megoldás: Mivel az idő mértékegysége különböző először is mindkét helyen órára nézzük az inλ < 1 feltétel tenzitásokat. Így az ismert képleteket µ = 30 értékkel kell alkalmazni. nµ biztosítására n > 1 kell, hogy legyen. Jelölje Pi (W > 0) a várakozási valószínűségét i kifutópálya esetén. Számolással a megfelelő képletbe való helyettesítéssel a következő valószínűségeket kapjuk P2 (W > 0) = 0.278,
P3 (W > 0) = 0.070,
P4 (W > 0) = 0.014.
Így a kívánt valószínűség eléréséhez n = 3 értéket kell tekinteni. P0 = 0.403 lesz és ekkor a W = 0.0665perc, Q = 0.03.
8. Példa. Egy üzlet pénztárához a vevők átlagban 6 másodpercenként érkeznek Poissoneloszlás szerint. A kiszolgálási idejük exponenciális eloszlású, 20 másodperc átlaggal. Ha egy pénztár fenntartása óránként 100 Ft-ba kerül, és ugyanennyi a várakozási költség is, mennyi pénztárt kell üzemeltetni, hogy a teljes költség várható értéke minimális legyen? (Ez óránkénti költség lesz.) 56
Megoldás: 3600 W 6 E(T C) = 100 × n = 100 × 600 × W Q = λW = 100 ×
1 6 1 20
λ = µ
=
20 így n ≥ 4 . 6
Sorba véve az n = 4, 5, 6, 7, 8 értékeket, az óránkénti minimális várható költség n = 5 esetben adódik. Ekkor a rendszer jellemzői W = 3.9mp,
P (e) = 0.66,
Eδ = 29.7mp, n = 2.5,
N = 3.15,
P (W ) = 0.34 ,
e = 14.9mp, S = 2.5,
Q = 0.65 ,
E(T C) = 565 Ft/óra.
2.8. Az M/M/c/K rendszer A következőkben az M/M/c/K sorbanállási rendszerrel fogunk foglalkozni, amelynek specialitását az adja, hogy c darab kiszolgáló van, és legfeljebb K darab igény lehet a rendszerben egyszerre. A modellezés hasonló a végtelen kapacitású M/M/c rendszeréhez azzal a különbséggel, hogy λn -nek nullának kell lennie ha n ≥ K. Az előző rendszerekhez hasonlóan könnyű látni, hogy egyensúlyi állapot esetén a rendszerben tartózkodó igények számának az eloszlása a következő n λ ha 0 ≤ n ≤ c n!µn P0 , Pn = λn P , ha c ≤ n ≤ K. cn−c c!µn 0 Amint azt láthatjuk a stacionáris valószínűségeknek 0 ≤ n < c esetén Poisson-, míg c ≤ n ≤ K esetén geometria eloszlás alakúak. Felhasználva azt, hogy a valószínűségek összegének 1-nek kell lennie kaphatjuk meg P0 -t, vagyis −1 X K c−1 X λn λn + . P0 = n!µn n=c cn−c c!µn n=0 Mivel P0 számolásánál mindkét sor véges, így nincs szükség annak feltételezésére, hogy ρ < 1. Hogy egyszerűsítsük a kapott formulát legyen ρ =
λ , µ
ρ a= . c
Ekkor K X n=c
c ρ 1−aK−c+1 c! 1−a ,
K ρc X n−c = a = cn−c c! c! n=c ρc
ρn
c!
57
(K − c + 1),
ha a 6= 1 ha a = 1.
Így
P0 =
c−1 n −1 X ρ c K−c+1 ρ 1−a , + c! 1−a n! n=0
ha a 6= 1
c−1 n −1 X ρ ρc , c! (K − c + 1) + n!
ha a = 1.
n=0
Ezek után határozzuk meg a szokásos rendszerjellemzőket ! • Átlagos sorhossz K ρn−c λn P 0 ρc X (n − c) n−c Q= (n − c)Pn = (n − c) n−c n P0 = c c!µ c! n=c+1 c n=c+1 n=c+1 K−c K K−c P 0 ρc a X P0 ρc a X i−1 P0 ρc a d X i n−c−1 = (n − c)a = ia = a c! n=c+1 c! i=1 c! da i=0 P0 ρc a d 1 − aK−c+1 = c! da 1−a K X
vagy
K X
P0 ρc a [1 − aK−c+1 − (1 − a)(K − c + 1)aK−c ] Q= 2 c!(1 − a)
a = 1 esetén a L’Hopital szabályt kell alkalmazni kétszer. • A rendszerben tartózkodó igények átlagos száma Az N kiszámításohoz vegyük figyelembe, hogy az M/M/c rendszer esetén N = Q + ρ. Azonban M/M/c/K esetén ezt az eredményt módosítani kell, figyelembe véve azt, hogy az igények egy PK hányada nem kerül be a rendszerbe, mivel azok akkor érkeznek, amikor már nincs hely a rendszerben. Látható, hogy az átlagos beérkezési intenzitás λ = λ(1 − PK ) = µc, ahol c a foglalt kiszolgálók átlagos száma. Jól ismert, hogy N = Q + c, így N = Q + ρ(1 − PK ). • Átlagos tartózkodási és várakozási idők Az átlagos idők meghatározáshoz használjuk fel a Little-formulákat, vagyis N λ(1 − PK ) Q W = λ(1 − PK ) T =
M/M/1/K esetén az előző eredmények lényegesen leegyszerűsödnek a következőkre ( 1−a (a 6= 1) K+1 , P0 = 1−a 1 , (a = 1) K+1 58
( Pn = ( Q=
(1−a)an , 1−aK+1 1 , K+1
(a 6= 1) (a = 1)
K +1) a − a(Ka , 1−a 1−aK+1 K(K−1) , 2(K+1)
(a 6= 1) (a = 1)
N = Q + (1 − P0 ). Az utolsó egyenlet abból következik, hogy 1 − P0 = λ(1 − PK )/µ azaz µ(1 − P0 ) = λ(1 − PK ), amely azt mutatja, hogy a rendszer átlagos kiszolgálási intenzitása megegyezik a tényleges átlagos beérkezési intenzitással, ami egyébként minden stabil születési-halálozási folyamatra igaz. • Érkezési pillanatban vett valószínűségek Az érkezési pillanatban lévő Πn valószínűségek meghatározásánál figyelembe kell venni, hogy K-nál lévő vágás miatt a beérkezés nem Poisson már, így Πn 6= Pn . A számolásnál a Bayes-tételt fogjuk felhasználni. Πn ≡ P ( n darab igény van a rendszerben| igény fog érkezni a rendszerbe) P (igény fog érkezni| n darab igény a rendszerben)Pn = PK−1 n=0 P (igény fog érkezni| n darab igény a rendszerben)Pn [λ∆t + o(∆t)]Pn = lim PK−1 ∆t→0 [λ∆t + o(∆t)]Pn n=0 [λ + o(∆t)/∆t]Pn = lim PK−1 ∆t→0 n=0 [λ + o(∆t)/∆t]Pn λPn = PK−1 λ n=0 Pn Pn = (n ≤ K − 1) 1 − PK
M/M/c/∞ esetén Πn = Pn összefüggést kapnánk mivel ebben az esetben PK 0-hoz tart.
• A várakozási idő eloszlásfüggvénye FW (t) meghatározáshoz használjuk fel, hogy a rendszer már nem fogad igényt ha K darab igény van a rendszerben. A szokásos módon, a teljes valószínűség tételét alkalmazva nyerjük FW (t) = P (W ≤ t) = FW (0) +
K−1 X
P (n − c + 1 befejezett kiszolgálás ≤ t idő alatt|
n=c
az új igény n darab igényt talál a rendszerben)Πn 59
K−1 X
t
cµ(cµx)n−c −cµx e dx (n − c)! 0 n=c Z ∞ K−1 X cµ(cµx)n−c −cµx = FW (0) + Πn 1 − e dx . (n − c)! t n=c
FW (t) = FW (0) +
Z
Πn
Felhasználva, hogy Z t
∞
m
X (λt)i e−λt λ(λx)m −λx e dx = m! i! i=0
és az m = n − c, λ = cµ helyettesítéseket alkalmazva kapjuk, hogy Z ∞ n−c X (cµt)i e−cµt cµ(cµx)n−c −cµx e dx = , (n − c)! i! t i=0
így FW (t) = FW (0) +
K−1 X
Πn −
n=c
=1−
K−1 X
Πn
n=c
K−1 X
Πn
n=c
n−c X (cµt)i e−cµt
n−c X (cµt)i e−cµt i=0
i!
i=0
i!
.
Hasonlóan határozható meg a tartózkodási idő eloszlásfüggvénye, valamint az érintett idők Laplace-transzformáltjai azzal a módosítással, hogy az Erlang-eloszlások sűrűségfüggvénye helyett azok Laplace-transzformáltjait kell beírnunk. Java-applet a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMcK/MMcK.html
2.9. Az M/G/1 rendszer Eddig olyan rendszereket vettünk, ahol mind a beérkezési mind a kiszolgálási idők exponenciális eloszlásúak voltak, azonban a gyakorlatban az exponciális eloszlású kiszolgálási idők csak ritkán fordulnak elő, mivel legtöbbször a szóródási együttható értéke kisebb mint 1, így fontos az elméletet kiterjeszteni olyan esetekre is, ahol a kiszolgálás tetszőleges eloszlású. Ebben a fejezetben Poisson érkezéseket alkalmazunk valamint független általános eloszlású kiszolgálási időket. Hatékonysági mérőszámok mint az átlagos várakozási idő vagy átlagos sorhossz, hasonlóan az M/M/1 rendszerhez a közép értékes módszer segítségével kiszámolhatóak. Egy beérkező igénynek először ki kell várnia az éppen kiszolgálás alatt álló igény kiszolgálásának végét, valamint az összes sorban elhelyezkedő igény kiszolgálását. A PASTA ( Poisson Arrivals See Time Average ), vagyis, hogy az érkezési pillanatban vett eloszlás megegyezik a tetszőleges pillanatban vett eloszlással, tulajdonságból tudjuk, hogy ρ valószínűséggel talál az érkező igény legalább egy másik igényt kiszolgálás alatt.
60
Little-formula Bebizonyítunk egy általános eredményt, az első Little-formulát, ami a beérkezési intenzitás, a rendszerben tartózkodó igények számának várható értéke és az igények rendszerbeli idejének várható értéke között ad meg egy egyszerű összefüggést. Legyen α(t) a (0, t) intervallum alatt beérkezett igények száma, δ(t) a (0, t) intervallum alatt a rendszerből kilépett igények száma. N (0) = 0-t feltéve nyilvánvalóan N (t) = α(t) − δ(t). Jelölje a (0, t) intervallumban az átlagos beérkezési intenzitást ¯ t := α(t) . λ t γ(t) legyen a t pillanatig felgyűlt összes igényidő, pontosabban az az idő, amit a (0, t) időtartam során az igények összesen eltöltöttek a rendszerben. A T t mennyiség legyen az egy igényre eső rendszerbeli idő átlaga, a (0, t) intervallum összes igényét figyelembe véve. Ezekből nyilván γ(t) Tt = . α(t) ¯t a rendszerben tartózkodó igények átlagos száma a (0, t) intervallumban: Végül legyen N ¯t = γ(t) . N t Az utolsó három egyenletből ¯ t T¯t . ¯t = λ N Sorbanállási rendszerünkben (ergodikusság esetén) léteznek az alábbi határértékek ¯ = lim λ ¯t, λ
T¯ = lim T¯t .
t→∞
t→∞
Így ¯ T¯, ¯ =λ N amelyet Little-formulának nevezünk.
A beágyazott Markov-láncok A rendszer állapotát a rendszerben tartózkodó igények számaként - N (t) - értelmezve megfigyelhetjük a rendszer állapotváltozásait az idő függvényében. Ezek a változások közvetlen szomszéd típusúak, azaz ha k igény van éppen a rendszerben, akkor a következő állapotában k + 1 vagy k − 1 lesz. A k → k + 1 típusú átlépések száma legfeljebb eggyel különbözhet a k + 1 → k típusú átlépések számától, ezért ha a rendszer elég sokáig működik, akkor a felfelé irányuló átlépések relatív gyakoriságának meg kell egyeznie a lefelé irányuló átmenetek relatív gyakoriságával. Így arra következtethetünk, hogy a beérkezések időpontjában észlelt rendszerállapot eloszlása (Πk ) meg kell, hogy egyezzen a távozások időpontjában észlelt rendszerállapot határeloszlásával (Dk ).
61
Igazak a következő megállapítások 1. Poisson-folyamatú beérkezések esetén P (N (t) = k) = P (egy t pillanatbeli beérkezés k igényt talál a rendszerben) . 2. Ha egy általános rendszerben N (t) az értékeit mindig csak eggyel változtatja és létezik a következő határeloszlások egyike, akkor a másik is létezik, és ezen határeloszlások egyenlőek: Πk := lim P (t pillanatbeli beérkezés k igényt talál a rendszerben) , t→∞
Dk := lim P (t pillanatbeli távozás k igényt hagy maga mögött) , t→∞
Πk = Dk . Így az M/G/1 rendszerre Πk = Pk = Dk , azaz a beérkezések, a távozások és a véletlenszerű megfigyelések egyensúlyi állapotban a rendszerbeli igények számának ugyanazt az eloszlását figyelik meg. Fontosságuk miatt mind a két állítást bebizonyítjuk. Nézzük először az 1-et. Vezessük be a következő jelöléseket Pk (t) := P (N (t) = k) , Πk (t) := P (egy t pillanatbeli beérkezés k igényt talál a rendszerben) . Legyen A(t, t+∆t) az az esemény, hogy egy beérkezés történik a (t, t+∆t) intervallumban. Ekkor Πk (t) = lim P (N (t) = k | A(t, t + ∆t)) . ∆t→0
Felhasználva a feltételes valószínűség definícióját P (N (t) = k, A(t, t + ∆t)) = ∆t→0 P (A(t, t + ∆t))
Πk (t) = lim
P (A(t, t + ∆t) | N (t) = k) P (N (t) = k) . ∆t→0 P (A(t, t + ∆t))
= lim
Az emlékezetnélküliség miatt az A(t, t + ∆t) esemény nem függ a t pillanatban a rendszerben tartózkodó igények számától, ezért P (A(t, t + ∆t) | N (t) = k) = P (A(t, t + ∆t)) , így Πk (t) = lim P (N (t) = k) , ∆t→0
azaz Πk (t) = Pk (t). 62
Ez természetesen a stacionárius valószínűségekre is igaz, azaz Πk = lim Πk (t) = lim Pk (t) = Pk . t→∞
t→∞
ˆ k (t) a k állapotban lévő rendszerbe 2-t is bebizonyítjuk, az 1. felhasználásával. Jelölje R ˆ k (t) a (0, t) intervallumban azon történő beérkezések számát a (0, t) intervallumban, és D távozások számát, melyek után a rendszer az k állapotba kerül. Feltételünkből következik, hogy ˆ k (t) − D ˆ k (t) | ≤ 1. |R
(2.6)
Továbbá, ha az összes távozások számát D (t), az összes beérkezésekét pedig R (t) jelöli, akkor D (t) = R (t) + N (0) − N (t) . A távozási pontokban észlelt határeloszlás felírható a következőképpen ˆ k (t) D . t→∞ D (t)
Dk = lim
ˆ k (t)-t, és a nevezőt felírjuk a fenti Ha a számlálóhoz hozzáadunk és le is vonunk belőle R alakban, akkor ˆ k (t) ˆ k (t) + D ˆ k (t) − R ˆ k (t) D R = . D (t) R (t) + N (0) − N (t) Mivel N (0) véges és N (t)-nek is annak kell lennie a stacionaritás feltétele miatt, (2.6)-ből ˆ (t) → ∞, egy valószínűséggel következik és abból, hogy R ˆ k (t) ˆ k (t) R D = lim = Πk . t→∞ R (t) t→∞ D (t)
Dk = lim
Innen, az 1. pontot is felhasználva kapjuk az állításunkat.
Várható értékes megközelítés Jelölje az S valószínűségi változó a kiszolgálási időt, R a fennmaradó ( hátralevő) kiszolgálási időt. Az eddigiekhez hasonlóan könnyű látni, hogy E(W ) = =
∞ X k=1 ∞ X k=1
(E(R) + (k − 1)E(S)) Πk E(R)Pk +
∞ X
! (k − 1)Pk
E(S) = E(R)ρ + E(Q)E(S),
k=1
ahol E(R) a hátramaradt kiszolgálási idő várható értéke. A Little-törvényt felhasználva, E(Q) = λE(W ). 63
Ezekből pedig az következik, hogy E(W ) =
(2.7)
ρE(R) . 1−ρ
A(2.7) formulát Pollaczek-Hincsin várható érték formulának nevezzük. A következő részben megmutatjuk, hogy E(S 2 ) , 2E(S)
E(R) =
(2.8)
amely a következő formában is írható D2 (S) + E2 (S) 1 E(S 2 ) = = (CS2 + 1)E(S), E(R) = 2E(S) 2E(S) 2
(2.9)
ahol CS2 a kiszolgálási idő relatív szórásnégyzetét jelöli. Fontos észrevétel, hogy az átlagos várakozási idő a kiszolgálási idő első két momentumától függ. Tehát nem elég tudni csak a kiszolgálási idő átlagát, de még a szórását is ismerni kell az átlagos várakozási idő kiszámításához. Ezek után
ρ ρE(R) = (CS2 + 1)E(S). 1−ρ 2(1 − ρ) Ebből a Little-formulát alkalmazva nyerjük az összefüggést az átlagos sorhosszra, vagyis E(W ) =
ρ2 CS2 + 1 . 1−ρ 2 Az átlagos tartózkodási idő és a rendszerben tartózkodó igények várható száma nyilvánvalóan E(Q) =
E(T ) =
ρ CS2 + 1 E(S) + E(S), 1−ρ 2
E(N ) = ρ +
ρ2 CS2 + 1 . 1−ρ 2
9. Példa. Exponenciális kiszolgálási idők esetén CS2 = 1, így E(R) = E(S) az örökifjú tulajdonság miatt. Ebben az esetben a következőket kapjuk E(W ) =
ρ E(S), 1−ρ
E(Q) =
ρ2 , 1−ρ
E(T ) =
1 E(S), 1−ρ
E(N ) =
ρ . 1−ρ
10. Példa. Állandó kiszolgálási idők esetén CS2 = 0, így E(R) = E(S)/2. Ebben az esetben a következőket kapjuk E(W ) = E(T ) =
ρ E(S) , 1−ρ 2
1 E(S) + E(S), 1−ρ 2 64
E(Q) =
ρ2 2(1 − ρ)
E(N ) = ρ +
ρ2 . 2(1 − ρ)
Az M/G/1 rendszer esetében láttuk, hogy Πk = Dk = Pk ,
k = 0, 1, . . .
ezért a rendszerben tartózkodó igények számának generátorfüggvénye egyenlő a távozási pillanatban vett eloszlás generátorfüggvényével. Az is világos, hogy a rendszerben a távozás pillanatában annyi igény tartózkodik, amennyi bejött az éppen távozó igény tartózkodási ideje alatt. Ezért Z∞ Dk = Pk =
(λx)k −λx e fT (x)dx. k!
0
Az ehhez tartozó generátorfüggvény GN (z) =
∞ X
z
k
k=0
=
Z∞ X ∞ 0 k=0 Z∞
Z∞
(λx)k −λx e fT (x)dx k!
0
(λxz)k −λx e fT (x)dx k!
e−λ(1−z)x fT (x)dx = LT (λ(1 − z)),
= 0
vagyis kifejezhető a tartózkodási idő Laplace-transzformáltjának a segítségével. A generátorfüggvény és a Laplace-transzformált tulajdonságai miatt (k)
(k)
GN (1) = E(N (N − 1) . . . (N (−k + 1))) = (−1)k LT (0)λk = λk E(T k ). Ebből az első deriváltra éppen a Little-formulát kapjuk, vagyis N = λT . A képlet segítségével N magasabb momentumait, így a szórásnégyzetét is ki tudjuk számítani, ha ismerjük T magasabb momentumait.
Hátralévő kiszolgálási idő Tegyük fel, hogy egy igény akkor érkezik, amikor egy másik épp kiszolgálás alatt áll és jelölje ennek a teljes kiszolgálási idejét X, vagyis ez egy megkülönböztetett kiszolgálási idő, olyan amelyikben igény érkezik. Jelölje fX (x) az X sűrűségfüggvényét,mely kiszámításhoz a kulcs az, hogy nagyobb a valószínűsége annak, hogy az igény akkor érkezik, amikor egy hosszú kiszolgálás van, mint annak, hogy rövid kiszolgálás történik. Tehát annak, hogy X x ideig tart arányosnak kell lennie x-el valamint az x hosszúságú kiszolgálási idők gyakoriságával, amelyet fS (x) dx jelöl. Így a következőket írhatjuk fel P (x ≤ X ≤ x + dx) = fX (x)dx = CxfS (x)dx, 65
ahol C a normalizáló konstans. Vagyis Z ∞ −1 xfS (x)dx = E(S), C = x=0
ezért fX (x) = Ebből az következik, hogy Z ∞ xfX (x) dx = E(X) = 0
xfS (x) . E(S)
1 E(S)
Z
∞
x2 fS (x) dx =
0
E(S 2 ) . E(S)
Mivel az új igény beérkezése véletlenszerűen helyezkedik el az S kiszolgálási időn belül így a hátralevő kiszolgálási idő várható értéke E(R) =
E(X) E(S 2 ) = 2 2E(S)
11. Példa. r, µ paraméterű Erlang-eloszlású kiszolgálási idők esetén E(S) =
r , µ
D2 (S) =
r , µ2
így E(S 2 ) = D2 (S) + E2 (S) =
r(1 + r) µ2
vagyis 1+r . 2µ
E(R) =
Látható, hogy a fenti módszerrel meg tudjuk határozni a hátralevő kiszolgálási idő sűrűségfüggvényét is, hiszen mivel a beérkezést egyenletesnek tételeztük fel dy fX (x)dx, x amelyből behelyettesítés után és x szerint integrálva kapjuk, hogy P (x ≤ X ≤ x + dx, y ≤ R ≤ y + dy) =
fR (y) =
1 − FS (y) . E(S)
Így Z∞ E(R) =
Z∞ xfR (x)dx =
0
x 0
ebből E(R) =
1 − FS (x) dx, E(S)
E(S 2 ) . 2E(S)
66
Mutassuk meg, hogyan számolhatók az ilyen típusú integrálok ! Legyen X egy tetszőleges, nemnegatív valószínűségi változó, amelynek létezik az n-dik momentuma, ekkor Z∞
Zy
n
x f (x)dx = 0
Z∞
n
x f (x)dx + 0
xn f (x)dx,
y
így Z∞
Z∞
n
x f (x)dx −
x f (x)dx = y
Mivel
Z∞
Zy
n
0
xn f (x)dx ≥ y n
y
xn f (x)dx.
0
Z∞
f (x)dx = y n (1 − F (y)) ,
y
ezért
Z∞
n
0 ≤ y (1 − F (y)) ≤
n
Zy
x f (x)dx − 0
xn f (x)dx,
0
melyből Z∞
n
0 ≤ lim y (1 − F (y)) ≤
Zy
n
x f (x)dx − lim
y→∞
y→∞
0
xn f (x)dx,
0
azaz lim y n (1 − F (y)) = 0.
y→∞
Ezek után parciális integrálást alkalmazva és figyelembe véve az iménti határértéket, kapjuk Z∞ Z∞ n x E(X n ) n−1 f (x)dx = . x (1 − F (x))dx = n n 0
0
Ebből n = 2 helyettesítést véve nyerjük, hogy E(R) =
E(S 2 ) 2E(S)
Pollaczek-Hincsin és Takács formulák A következő összefüggéseket szokás Pollaczek-Hincsin transzformált egyenleteknek is nevezni. (1 − ρ)(1 − z) GN (z) = LS (λ − λz) , LS (λ − λz) − z t(1 − ρ) LT (t) = LS (t) , t − λ + λLS (t) t(1 − ρ) LW (t) = , t − λ + λLS (t) 67
melyekből deriválással a momentumok meghatározhatók és szerencsésebb esetekben a sűrűség- illetve az eloszlásfüggvények is. Takács Lajos megmutatta, hogy k λ X k E(S i+1 ) E(W k−i ) E(W ) = 1 − ρ i=1 i i+1 k
vagyis, hogy a várakozási idő momentumai a már meghatározott alacsonyabb rendű momentumok és a kiszolgálási idő megfelelő momentumai segítségével áll elő. Azt is láthatjuk, hogy a kiszolgálási időtől 1-el magasabb momentum létezését tételezzük fel. Mivel T = W + S és W ,S függetlenek, ezért k X n k E(T ) = E(W l ) · E(S k−l ), l l=0 így a tartózkodási idő magasabb momentumai is kiszámíthatók. Ezen formulák alapján nem nehéz belátni, hogy λE(S 2 ) ρE(S) 1 + CS2 = E(W ) = , 2(1 − ρ) 1−ρ 2 E(T ) = E(W ) + E(S), λE(S 3 ) E(W 2 ) = 2(W )2 + , 3(1 − ρ) E(S 2 ) , E(T 2 ) = E(W 2 ) + 1−ρ D2 (W ) = E(W 2 ) − (E(W ))2 , D2 (T ) = D2 (W + S) = D2 (W ) + D2 (S). Az E(N (N − 1)) = λ2 E(T 2 ) alapján hosszadalmas számolással nyerjük, hogy 2 λE(S 3 ) λE(S 2 ) λ(3 − 2ρ)E(S 2 ) 2 D (N ) = + + + ρ(1 − ρ). 3(1 − ρ) 2(1 − ρ) 2(1 − ρ) Mivel 2
E(Q ) =
∞ X
2
(k − 1) Pk =
k=1
∞ X
2
k Pk − 2
k=1
∞ X k=1
kPk +
∞ X k=1
= E(N 2 ) − 2N + ρ ezért ismét hosszadalmas számolás révén λE(S 3 ) D (Q) = + 3(1 − ρ) 2
λE(S 2 ) 2(1 − ρ)
68
2 +
λE(S 2 ) 2(1 − ρ)
Pk
adódik. Most vizsgáljuk meg a foglaltsági idő Laplace-transzformáltját! Takács Lajos bebizonyította, hogy Lδ (t) = LS (t + λ − λLδ (t)), vagyis Lδ (t) explicite nem adható meg, hanem egy függvényegyenletet kell megoldanunk. Azonban ennek segítségével δ magasabb momentumai meghatározhatók. Nézzük meg E(δ)-t! A jól ismert okok miatt L0δ (0) = (1 − λL0δ (0))L0S (0) E(δ) = (1 + λE(δ))E(S) 1 ρ E(S) = E(δ) = 1−ρ λ1−ρ amit már korábban is megkaptunk az 1 λ
E(δ) =ρ + E(δ)
relációból. Hosszabb számolás után megmutatható, hogy D2 (S) + ρ(E(S))2 . D (δ) = (1 − ρ)3 2
Ezek után nézzük meg a foglaltsági idő alatt kiszolgált igények számának a generátorfüggvényét! Bebizonyítható, hogy GNd (δ) (z) = zLS (λ − λGNd (δ) (z)) függvényegyenletet nyerjük, amit nehéz megoldani, de ebből deriválással a magasabb momentumok meghatározhatók. Így E(Nd (δ)) = 1 + λE(S)E(Nd (δ)) 1 , E(Nd (δ)) = 1−ρ amit az E(δ) = E(S)E(Nd (δ)) 69
relációból is nyerhetünk, mint láttuk előzőleg, hiszen 1 ρ = E(S) · E(Nd (δ)) λ1−ρ ρ ρ E(Nd (δ)) = = . ρ(1 − ρ) 1−ρ Kissé hosszú számolás után megmutatható, hogy ρ(1 − ρ) + λ2 E(S 2 ) D (Nd (δ)) = . (1 − ρ)3 2
Érdekességképpen megjegyezzük, hogy a D2 (δ), D2 (Nd (δ)) kiszámolásához nem kellett feltételezni E(S 3 )-t, míg D2 (N ), D2 (Q), D2 (T ), D2 (W )-hez szükségünk volt rá. Java-applet a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MH21/MH21.html http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MGamma1/MGamma1.html http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MEk1/MEk1.html
70
3. fejezet Véges-forrású rendszerek Eddig olyan rendszerekkel foglalkoztunk, ahol a beérkezések Poisson-folyamat szerint történnek. Ez más szóval azt is jelenti, hogy a forrásunk végtelen. Azonban a gyakorlatban is találhatók olyan problémák, amelyeknél a forrás véges. Tekintsük az ún. gépkiszolgálási problémát. Tegyük fel, hogy n darab gép működik egymástól függetlenül. A gépek működési ideje valószínűségi változó. Miután a gép meghibásodik egy vagy több szerelő kijavítja, ahol a javítási idők is valószínűségi változók. Javítás után a gépek ismét dolgozni kezdenek, és az egész folyamat kezdődik előről. Látható, hogy teljesen hasonló problémával találkozunk a terminál-rendszereknél, ahol a gépek szerepét a terminálok, a szerelő szerepét a CPU veszi át. Mivel az utóbbi időben a számítógépek sztochasztikus modellezésében egyre nagyobb szerepet játszanak a sorbanállási rendszerek, jelen fejezetben gyakran használunk számítástechnikai kifejezéseket is. Jelen problémakör a sorbanállási elmélet egyik legrégibb alkalmazási területe. Nagyon sok könyv és cikk foglalkozik vele különböző feltételek esetén. Összefoglaló áttekintést nyújt Sztrik János összegyűjtött irodalomjegyzéke, amely megtalálható az alábbi helyen http://irh.inf.unideb.hu/user/jsztrik/research/fsqreview.pdf
3.1. Az M/M/r/r/n modell, Engset-féle veszteséges rendszer Az M/M/r/r/n rendszer esetén előfordulhat, hogy ha nincs szabad kiszolgáló az igényt nem tudjuk kiszolgálni ezért visszatér a forrásba, ahonnan ismét kiszolgálásra jelentkezik majd. A végtelen forrású rendszerekhez képest itt az igény nem vész el, hanem visszatér a forrásba. Könnyű látni, hogy a rendszerben tartózkodó igények száma szintén születésihalálozási folyam lesz a következő intenzitásokkal λk = (n − k)λ µk = kµ
, , 71
0 ≤ k < r, 1 ≤ k ≤ r,
ezért n k Pk = ρ P0 , k n k ρ k Pk = r , X n ρi i i=0
0 ≤ k ≤ r,
amit csonkított binomiális eloszlásnak vagy Engset-eloszlásnak is neveznek. Ez a véges-forrású veszteséges rendszer, vagy más néven az Engset-féle rendszer eloszlása. Az r = n esetben, vagyis amikor minden igénynek saját kiszolgálója van, más szóval az igény nem vész el, az alábbi egyszerűbb képletet kapjuk n k n k ρ ρ k k Pk = n = X n (1 + ρ)n ρi i i=0 k n−k n ρ ρ = 1− , k 1+ρ 1+ρ ρ paraméterű binomiális eloszlásról van szó. 1+ρ Itt p annak valószínűsége, hogy egy konkrét igény a rendszerben van. Könnyű látni, hogy ez a formula G/G/n/n/n esetben is igaz, hiszen ekkor vagyis p =
p= ha ρ =
E(S) , E(τ )
E(S) ρ = , E(S) + E(τ ) 1+ρ
ahol E(τ ) a forrásban eltöltött átlagos időt jelenti.
Az eddigiek alapján könnyű látni, hogy a rendszerjellemzők a következők lesznek • N=
r X
kPk ,
r = N,
US =
k=0
• a forrásban tartózkodó igények átlagos száma m m=n−N • a forrás kihasználtsága Ut =
m E(τ ) = , n E(τ ) + µ1 72
r N = , r r
melyből E(τ ) =
1 Ut . µ 1 − Ut
Ebből megmutatjuk, hogy átlagosan hányszor kell próbálkoznia egy igénynek, hogy kiszolgálásra kerüljön, vagyis E(NR ) = λE(τ ), így az elutasítások átlagos száma E(NR ) − 1. Az igény blokkolásának valószínűsége a Bayes-tétel alapján könnyen kiszámítható, nevezetesen PB (n, r) =
(n − r)Pr (n, r) = Pr (n − 1, r). r X (n − i)Pk (n, r) i=0
Ezt az következő módon láthatjuk be
PB (n, r) = lim
h→0
((n − r)λh + o(h))Pr (n, r) r X
((n − i)λh + o(h))Pi (n, r)
i=0
=
(n − r)Pr (n, r) r X
(n − i)Pi (n, r)
i=0
n r (n − r) ρ n! (n − r) r!(n−r)! ρr r = r =X r X n i n! (n − i) ρ (n − i) ρi i i!(n − i)! i=0 i=0 n−1 r (n−1)! ρ ρr r r!(n−1−r)! = r = r = Pr (n − 1, r). X (n − 1)! X n − 1 i i ρ ρ i!(n − 1 − i)! i i=0 i=0
Jelölje E(n, r, ρ) véges-forrás esetén az igényvesztés valószínűségét, vagyis E(n, r, ρ) = Pr (n − 1, r), melyet szokás Engset-féle veszteség-formulának is nevezni. Mutassuk meg, hogy milyen rekurzió írható fel rá! n − 1 n−r r n−1 r ρ ρ r−1 r r E(n, r, ρ) = r = r−1 X n − 1 X n − 1 n−1 n−r r i i ρ ρ + ρ i r i r−1 i=0 i=0 =
1
n−r ρE(n, r − 1, ρ) r n−r + r ρE(n, r − 1, ρ)
73
=
(n − r)ρE(n, r − 1, ρ) . r + (n − r)ρE(n, r − 1, ρ)
A kezdő érték E(n, 1, ρ) = P1 (n − 1, 1) =
(n − 1)ρ . 1 + (n − 1)ρ
Nyilvánvaló, hogy lim
n→∞,λ→0,nλ→λ0
E(n, r, ρ) = B(n, ρ0 ),
ahol ρ0 =
λ0 µ
amit formálisan is láthatunk, továbbá az említett határértéknél (n − r)ρ → ρ0 -höz és a B(n, ρ0 )-ra kapott rekurzív összefüggést kapjuk. ρ Speciálisan r = n esetben könnyű látni, hogy N = n 1+ρ és így
US =
ρ , 1+ρ
m=
n , 1+ρ
Ut =
1 , 1+ρ
E(τ ) =
1 , λ
E(NR ) = 1,
amint ez várható volt. Általános esetben µ = rµ = λ =
r−1 X
λ(n − k)Pk 6= λ(n − N ),
T =
k=0
1 . µ
Vizsgáljuk meg, hogy a rendszerbe érkező igény milyen állapotot láthat! Nyilván (λk h + o(h))Pk λk Pk = r−1 r−1 h→0 X X (λi h + o(h))Pi λi Pi
Πk = lim
T =
i=0 r−1 X
i=0
1 λ k Pk 1 = r−1 µ k=0 X µ λi P i i=0
1 λ · T = µr · = r = N µ ami Little-formula a veszteséges rendszerre. 74
PB = 0,
3.2. Az M/M/1/n/n modell Feltesszük, hogy az igények egy n elemű véges forrásból érkeznek, ahol a forrásban eltöltött idő minden igény esetén egymástól független λ paraméterű exponenciális eloszlású valószínűségi változó. A kiszolgálási idők szintén exponenciális eloszlásúak µ paraméterrel és függetlenek az előbbi valószínűségi változóktól. Jelölje N (t) a t időpillanatban a kiszolgáló egységnél tartózkodó igények számát. Az előbbiekhez hasonlóan nem nehéz belátni, hogy N (t) is egy születési-kihalási folyamat
λk =
(n − k)λ , ha 0 ≤ k ≤ n,
0
, ha k > n,
születési intenzitásokkal, és k ≥ 1,
µk = µ, kihalási intenzitással. Így Pk =
n! %k P0 = (n − k + 1)%Pk−1 , (n − k)!
ahol %= és
λ , µ
1
P0 = 1+
n P k=1
n! %k (n−k)!
= P n k=0
1
.
n! %k (n−k)!
Az ergodikus eloszlás mindig létezik, de ha % > 1 akkor az igények torlódnak és több kiszolgáló egységre lenne szükség. Az előbbi valószínűségekre egy másik kifejezést is megadunk, amely numerikus számításoknál könnyebben alkalmazható. Legyen P (k; λ) a λ paraméterű Poisson-eloszlás és Q(k; λ) ennek kummulatív eloszlása, azaz λk −λ P (k; λ) = e , 0 ≤ k < ∞; k! Q(k; λ) =
k X
0 ≤ k < ∞.
P (i; λ),
i=0
Megmutatjuk, hogy Pk =
P (n − k; R) , Q(n; R)
ahol R=
0 ≤ k ≤ n,
µ = %−1 . λ 75
Ugyanis P (n − k; R) = Q(n; R)
µ n−k − µ n! e λ (n−k)! λ n P n! µ i − µ e λ i! λ i=0
=
k n! λ (n−k)! µ n−i n P n! λ i! µ i=0
n! (n−k)!
=P n
k λ µ
n! k=0 (n−i)!
i . λ µ
Ebből P0 = B(n, R).
A rendszer jellemzői • A szerver kihasználtsága és a rendszer áteresztőképessége A szerver kihasználtsága Us = 1 − P0 = 1 − B(n, R). A korábbi rekurzív összefüggést felhasználva Us =
Q(n − 1; R) . Q(n; R)
A rendszer áteresztőképessége λt = µUs . • A rendszerben tartózkodó igények átlagos száma N=
n X
kPk = n −
k=0
n X
(n − k)Pk =
k=0
n
n−1
1X 1X (n − k)%Pk = n − Pk+1 = =n− % k=0 % k=0 1 Us = n − (1 − P0 ) = n − . % % Másképpen N =n−
RQ(n − 1; R) Us =n− . Q(n; R) %
• Az átlagos sorhossz Q=
n X k=1
(k − 1)Pk =
n X k=1
kPk −
n X k=1
Pk = n −
µ (1 − P0 ) − (1 − P0 ) = λ
µ 1 = n − (1 − P0 )(1 + ) = n − 1 + Us . λ % 76
• Az igény generálásra alkalmas terminálok átlagos száma n X
m=
(n − k)Pk = n − N =
k=0
• A szerver átlagos foglaltsági periódushossza Mivel Us = 1 − P0 = ezért Eδ =
1 nλ
µ Us (1 − P0 ) = . λ %
Eδ , + Eδ
Us 1 − P0 = . nλP0 nλ(1 − Us )
Számítógépes alkalmazásoknál gyakran szükségünk van az alábbi jellemzőkre is. • A terminálok kihasználtsága Véges forrás esetén szükségünk van arra az újabb mérőszámra is , amely a gépkiszolgálási probléma esetén is nagyon fontos. Az i indexű terminál kihasználtságán az ZT 1 U (i) = lim χ(a t időpillanatban az i-edik terminál működik)dt T →∞ T 0
határértéket értjük, ha létezik. Ekkor U (i) = P ( az i-edik terminál működik) , ahol P a stacionárius valószínűséget jelöli. Nyilvánvaló, hogy a terminálok (az igénygenerálás forrásai) akkor vannak kihasználva, ha működnek, így az összes terminál kihasználtsága Un =
n X µ (n − k)Pk = m = (1 − P0 ). λ k=0
Egy tetszőleges terminál kihasználtsága Ut =
µ m (1 − P0 ) = . nλ n
Ezt az összefüggést a következőképpen is megkaphatjuk. Látható, hogy U (i) =
n X n−k k=1
n
Pk =
mivel a terminálok azonos kihasználtságúak, így Ut = U (i) .
77
m , n
• A terminálok átlagos várakozási ideje A tartózkodási időre ismertetett tétel alapján Ut =
1/λ m = . n 1/λ + W + 1/µ
Ebből
n , 1/λ + W + 1/µ és λ Us λmW = n − m 1 + = n − (1 + %) = Q, µ % ami az átlagos sorhosszra vonatkozó Little-formula. így λm =
W =
Q . λm
Az átlagos válaszolási idő 1 1 T =W+ = µ µ
n 1 − 1 − P0 %
1 = µ
n 1 − Us %
.
Egyszerű számolással könnyű bebizonyítani, hogy mλT = N , ami ismét egy Little-formula. Ugyanis
1 mλ W + = Q + m% = µ Us Us = n − (1 + %) + Us = n − =N . % % • További összefüggések Us = 1 − P0 = n%Ut = m%, melyből mλ = µUs = λt .
Érkezési pillanatban vett eloszlás Az alábbiakban megmutatjuk, hogy egy véges forrású rendszernél egyensúlyi állapotban az érkezési pillanatokban mi lesz az eloszlás. Az eddigiekhez hasonlóan a Bayes-formula felhasználásával kapjuk n(n−1)···(n−k)λk P0 µ1 ···µk n(n−1)···(n−j)λj P0 µ1 ···µj
(λk h + o(h))Pk λ k Pk Πk (n) = lim Pn−1 = Pn−1 = Pn−1 h→0 j=0 (λj h + o(h))Pj j=0 λj Pj j=0 =
1+
(n−1)···(n−k)λk µ1 ···µk Pn−1 (n−1)···(n−j)λj j=1 µ1 ···µj
=
1+
(n−1)···(n−1−k+1)λk µ1 ···µk Pn−1 (n−1)···(n−1−i+1)λi i=1 µ1 ···µi
= Pk (n − 1)
függetlenül attól, hogy egy vagy több kiszolgálónk van, hiszen láthatóan a kiszolgálási intenzitásoknál nem használtuk ki, hogy hány kiszolgálónk van. 78
Távozási pillanatban vett eloszlás Az alábbiakban megmutatjuk, hogy egy véges forrású rendszernél egyensúlyi állapotban a távozási pillanatokban mi lesz az eloszlás. Az eddigiekhez hasonlóan a Bayes-formula felhasználásával kapjuk µk+1 n(n−1)···(n−k)λk+1 P0 µ1 ···µk+1 µj n(n−1)···(n−j+1)λj P0 j=1 µ1 ···µj
µk+1 Pk+1 (µk+1 h + o(h))Pk+1 = Pn = Pn Dk (n) = lim Pn h→0 j=1 (µj h + o(h))Pj j=1 µj Pj =
1+
(n−1)···(n−k)λk µ1 ···µk Pn (n−1)···(n−j+1)λj−1 j=2 µ1 ···µj−1
=
1+
(n−1)···(n−1−k+1)λk µ1 ···µk Pn−1 (n−1)···(n−1−i+1)λi i=1 µ1 ···µi
= Pk (n − 1)
abban az esetben, ha marad igény a rendszerben, és 1
D0 (n) =
1+
(n−1)···(n−1−i+1)λi i=1 µ1 ···µi
Pn−1
= P0 (n − 1)
ha a kiszolgáló(k) tétlen(nek) marad(nak) hiszen láthatóan a kiszolgálási intenzitásoknál nem használtuk ki, hogy hány kiszolgálónk van.
Rekurziv összefüggések Látható, hogy a tartózkodási idő sűrűségfüggvénye az alábbi módon írható fel fT (x) =
n−1 X
n−1 X µ(µx)k
fT (x|k)Πk (n) =
k!
k=0
k=0
e−µx Pk (n − 1).
Így a várható érték T (n) =
n−1 X k+1
µ
k=0
1 (N (n − 1) + 1). µ
Pk (n − 1) =
Hasonlóan, a várakozási idő sűrűségfüggvénye csak abban különbözik, hogy 1 fázissal kevesebbet veszünk az Erlang-eloszlásnál, vagyis fW (x) =
n−1 X
fW (x|k)Πk (n) =
n−1 X µ(µx)k−1
k=0
k=0
(k − 1)!
e−µx Pk (n − 1),
így ennek várható értéke W (n) =
n−1 X k k=0
µ
Pk (n − 1) =
ami magától érthető. Az alábbiakban a T (n) =
1 (N (n − 1)), µ
1 (N (n − 1) + 1) µ 79
képlet helyességét szeretnénk ellenőrizni. Ehhez szükségünk van a következő összefüggésekre. Mint már korábban is láttuk N (n) = n −
1 − B(n, %1 ) %
.
Azonban használjuk ki az ismert rekurziót 1 B(n − 1, %1 ) B(n − 1, %1 ) 1 % B(n, ) = = . % n + %1 B(n − 1, %1 ) n% + B(n − 1, %.1 )
Mivel N (n − 1) = n − 1 −
1 − B(n − 1, %1 ) %
így
1 %N (n − 1) = (n − 1)% − 1 − B n − 1, % 1 B n − 1, = 1 + %N (n − 1) − (n − 1)%. %
Behelyettesítés után kapjuk, 1 (1 + %N (n − 1) − (n − 1)%) 1 % B n, = % n + %1 (1 + %N (n − 1) − (n − 1)%) =
1 + %N (n − 1) − (n − 1)% 1 + %N (n − 1) − (n − 1)% = . n% + 1 + %N (n − 1) − (n − 1)% 1 + %N (n − 1) + %
Ezt felhasználva N (n) =
n% − 1 + B(n, %1 ) %
n% − =
n% 1+%N (n−1)+%
%
n% − 1 + =
=n−
1+%N (n−1)−(n−1)% 1+%N (n−1)+%
% n 1 + %N (n − 1) + %.
Ebből n − N (n) =
n 1 + %N (n − 1) + %
n n − N (n) N (n) %(N (n − 1) + 1) = , n − N (n)
1 + %(N (n − 1) + 1) =
mely lényegében a rendszerben tartózkodó igények számára vonatkozó iteráció.
80
Tekintsük most már az ellenőrizendő rekurziót és végezzük el a behelyettesítést, vagyis T (n) =
1 (N (n − 1) + 1) µ
λT (n) = %(N (n − 1) + 1) =
N (n) n − N (n)
λ(n − N (n))T (n) = N (n), ami a jól ismert Little-formula, melyet korábban már bebizonyítottunk. Most mutassuk meg, hogyan lehet más módon, kevesebb lépésben, közvetlenül T (n) -t ellenőrizni! Könnyű látni, hogy 1
B(n − 1, ) 1 % US (n) = 1 − B(n, ) = 1 − % n + %1 B(n − 1, %1 ) =
n n+
1 B(n %
− 1,
1 ) %
=
n% n% , 1 = n% + 1 − US (n − 1) n% + B(n − 1, % )
vagyis egy rekurziót adtunk meg a kiszolgáló kihasználtságára, ha növeljük az igények számát. Ez a későbbiek során fontos szerepet játszik majd ha az egyes rendszerjellemzőkre rekurziót szeretnénk felírni, hiszen ezek a kihasználtságtól függnek. Ebből n% 1 US (n − 1) = n% + 1 − = 1 + n% 1 − . US (n) US (n) Az előzőek alapján N (n − 1) = n − 1 −
US (n − 1) , %
melybe be fogjuk helyettesíteni az US (n − 1)-re kapott kifejezést. Ezek után mutassuk meg, hogy az iterációs formula a már korábban kapott összefüggést eredményezi! Ezért 1 1 US (n − 1) T (n) = (N (n − 1) + 1) = +1 n−1− µ µ % 1 + n%(1 − US1(n) ) US (n − 1) 1 1 n 1 1 n− = n− = − , = µ % µ % µ US (n) % vagyis a formula helyes. Ezt követően lássuk, hogyan lehet rekurzív módon kiszámolni a T (n), W (n), N (n) mennyiségeket. 1 (N (n − 1) + 1) µ 1 1 W (n) = T (n) − = N (n − 1). µ µ T (n) =
81
Most szükségünk van arra, hogyan tudjuk meghatározni N (n) -et T (n) segítségével. Igazak az alábbi összefüggések N (n) = λ(n − N (n))T (n) = λnT (n) − λN (n)T (n) N (n)(1 + λT (n)) = λnT (n) N (n) =
λnT (n) . 1 + λT (n)
A kezdeti feltételek érthető módon T (1) =
1 µ
N (1) =
% . 1+%
Ezek után az iteráció lépései 1 N (n − 1) µ 1 T (n) = + W (n) µ λnT (n) N (n) = (1 + λT )(n)
W (n) =
vagyis kettős iterációval haladunk előre a kívánt igény számig. Az iteráció előnye abban rejlik, hogy az említett várható értékek meghatározásához nem kell tudni a rendszerben tartózkodó igények számának stacionárius eloszlását, ami a fellépő faktoriálisok miatt nagyobb igény számnál numerikus problémákhoz vezethet. Hátránya, hogy ezzel a módszerrel csak a várható értékeket tudjuk kiszámolni. A fentiekben már megmutattuk milyen közvetlen iteráció van US (n)-re és így várhatóan minden rendszerjellemzőre is. A következő fontos rendszerjellemző az a forrásban tartózkodó igények átlagos száma, amely szintén előállítható rekurzió segítségével, nevezetesen Us (n) n = = ρ nρ + 1 − Us (n − 1) n n ρ = = 1 nρ + 1 − ρm(n − 1). n + − m(n − 1) ρ Ezzel az eredménnyel könnyen igazolható a terminálok kihasználtságának rekurzív formulája, mely a következő m(n) =
Ut (n) =
m(n) n 1 = = n nρ + 1 − ρm(n − 1) n 82
1 n−1
=
=
1 . nρ + 1 − (n − 1)ρUt (n − 1)
nρ + 1 − ρUt (n − 1) n−1 A következő jellemző, amit hasonló módon írhatunk fel, az a rendszerben tartózkodó igények átlagos száma. Ezért nρ Us (n) nρ − Us (n) nρ + 1 − Us (n − 1) N (n) = n − = = = ρ ρ ρ n(nρ − Us (n − 1)) n2 ρ + n − nUs (n − 1) − 1 = , = nρ + 1 − Us (n − 1) nρ + 1 − Us (n − 1) mivel érthető módon Us (n − 1 nρ − Us (n − 1) N (n − 1) = n − 1 − = −1 ρ ρ nρ −
ρ(N (n − 1) + 1) = nρ − Us (n − 1) Us (n − 1) = nρ − ρ(N (n − 1) + 1), ezért behelyettesítés után nρ(N (n − 1) + 1) . 1 + ρ(N (n − 1) + 1) Végül vizsgáljuk meg, hogy milyen formula adható az átlagos válaszolási időre! Kiindulva a 1 n 1 − T (n) = µ Us (n) ρ összefüggésből és felhasználva, hogy 1 1 n−1 T (n − 1) = − µ Us (n − 1) ρ n−1 1 − µT (n − 1) = Us (n − 1) ρ 1 n−1 µT (n − 1) + = ρ Us (n − 1) (n − 1)ρ Us (n − 1) = , λT (n − 1) + 1 behelyettesítés és rövidebb számolás után N (n) =
1 nρ − Us (n − 1) 1 nλT (n − 1) + 1 = . µ ρ µ λT (n − 1) + 1 Könnyű látni, hogy a hiányzó kiinduló értékek T (n) =
m(1) = Ut (1) = 83
1 . 1+%
Tartózkodási idő eloszlásfüggvénye Az alábbi fejezetben a tartózkodási és várakozási idő eloszlásfüggvényét fogjuk meghatározni először a sűrűségfüggvény, majd a feltételes eloszlásfüggvények segítségével. Nézzük először az egyszerűbb megoldást! Első lépésben a sűrűségfüggvényt határozzuk meg, majd ebből az eloszlásfüggvényt. ( µ )n−1−k
µ
µ − n−1 λ X (µx + µλ )n−1 e−(µx+ λ ) (µx)k −µx (n−1−k)! e λ e =µ fT (n, x) = µ n−1 µ i k! (n − 1)! Q(n − 1, µλ ) X (λ) −µ k=0 e λ i! |i=0 {z }
) Q(n−1, µ λ
=
µP (n − 1, µx + µλ ) . Q(n − 1, µλ )
Analóg módon Pn−2
n−1 X (µx)k−1 −µx e Pk (n − 1) = fW (n, x) = µ (k − 1)! k=1
=
i=0
i
( µ )n−2−i
µ
λ µ (µx) e−µx (n−2−i)! e− λ i!
Q(n − 1, µλ )
µP (n − 2, µx + µλ ) . Q(n − 1, µλ )
Ebből az eloszlásfüggvény
x
Z
fT (n, t) dt.
FT (n, x) = 0 dt Legyen y = µt + µλ , t = (y − µλ ) µ1 , dy = µ1 .
R µx+ µλ FT (n, x) =
µ λ
y n−1 −y e (n−1)! Q(n − 1, µλ )
1−
dy =
yi
Pn−1
i=0 y! e
−y
µx+ µλ µ λ
Q(n − 1, µλ )
Teljesen hasonlóan FW (n, x) = 1 −
Q(n − 1, µx + µλ ) =1− . Q(n − 1, µλ )
Q(n − 2, µx + µλ ) . Q(n − 1, µλ )
Most határozzuk meg a tartózkodási idő eloszlásfüggvényét a feltételes eloszlásfüggvények segítségével! Ez eddigiekhez hasonlóan, felhasználva az Erlang-eloszlás eloszlásfüggvényét felírhatjuk az alábbiakat FT (x) =
n−1 X
1−
j=0
k=0
=1−
k X (µx)j
j!
n−1 X k X (µx)j k=0
j=0
j! 84
e
−µx
e
−µx
Pk (n − 1)
Pk (n − 1)
=1−
)n−1−k − µ (µ λ e λ (n−1−k)! Q(k, µx)Pk (n − 1) = 1 − Q(k, µx) Q(n − 1, µλ ) k=0 k=0 Q(n − 1, µx + µλ ) =1− Q(n − 1, µλ )
n−1 X
n−1 X
Eközben felhasználtuk, hogy λ
Z 0
j
X λi tj −t e dt = 1 − e−λ j! i! i=0
és így j l X µl−j −µ X λi −λ e e (l − j)! i! i=0 j=0
az alábbi módon írható fel Z l X 1− j=0
λ
l−j tj −t µ e dt e−µ j! (l − j)! 0 Z λ Z λ+µ l l X µl−j −µ (t + µ)l −(t+µ) y −y = e − e = Q(l, µ) − e dy (l − j)! l! l! 0 µ j=0 {z } | Q(l,µ)
= Q(l, µ) − 1 −
l X yi i=0
i!
−y
λ+µ
e
= Q(l, λ + µ). µ
Eközben az is látható, hogy Q(k, t) deriváltja −P (k, t), melyet jól lehet használni a sűrűségfüggvény meghatározásához, vagyis µP (n − 1, µx + µλ ) fT (x) = . Q(n − 1, µλ )
A rendszerben tartózkodó igények generárorfüggvénye Megmutatjuk hogyan határozzuk meg az M/M/1/n/n rendszer esetén a GN (s)-t. Közvetlen számolás esetén n µ n−k X k λ GN (s) = s P0 (n − k)! k=0 n−k 1 n X sρ n =s P0 (n − k)! k=0 1 Q n, 1 1 ρs . = sn e− ρ (1− s ) Q n, ρ1 85
Ezt megkaphatjuk az alábbi módon is. Ha F -el jelöljük a forrásban tartózkodó igények számát, akkor tudjuk, hogy az ρ1 forgalmi intenzitású Erlang-féle veszteséges rendszerrel ekvivalens, aminek a generátorfüggvényét már meghatároztuk. Így
N
GN (s) = E(s ) = E(s
n−F
n
) = s E(s 1 Q n, ρs 1 1 . = sn e− ρ (1− s ) Q n, ρ1
−F
1 ) = s GF s n
Ennek segítségével 0 1 N (n) = = s GF (n) s s=1 1 1 1 0 n 0 n−1 GN (n) (s) = n · s GF (n) + s GF (n) − 2 , s s s G0N (n) (1)
n
ezért
N (n) = nGF (n) (1) −
G0F (n) (1)
1 =n− ρ
1 US (n) . 1 − B n, =n− ρ ρ
A tartózkodási idő Laplace-transzformáltja Megmutatjuk hogyan határozhatjuk meg M/M/1/n/n T Laplace-transzformáltját! 1. Megoldás. A Laplace-transzformáltakra az ismert képlet alapján k+1 n−1 X µ LT (s) = Pk (n − 1) µ+s k=0 mivel ekkor a feltételes várakozási idő (k + 1, µ) paraméterű Erlang-eloszlás és ennek kell 86
venni a Laplace-transzformáltját. Behelyettesítve Pk (n − 1) helyébe kapjuk
k+1 µ n−1−k µ n−1 X e− λ µ λ LT (s) = µ+s (n − 1 − k)! Q n − 1, µλ k=0 n−1 X
=
µ+s µ
−k−1 n µ n−1−k µ (λ) · µ+s · (n−1−k)! e− λ µ
k=0
µ+s µ
n
Q n − 1, µλ
n−1 X
=
µ µ+s
n
µ
e− λ
µ+s µ
·
µ λ
n−1−k
·
1 (n−1−k)!
k=0
Q n − 1, µλ µ+s n µ+s ·e λ µ Q n − 1, µ λ = e− λ µ+s Q n − 1, µλ n µ+s s Q n − 1, µ λ eλ . = µ+s Q n − 1, µλ
2. Megoldás. Most a sűrűségfüggvényből határozzuk meg a LT (s)-t. Mivel a nevező konstans, csak a számláló Laplace-transzformáltját vezetjük le.
Z∞ Lsz (s) =
n−1 µ µx + µλ µ e−(µx+ λ ) · e−sx dx (n − 1)!
0 −µ λ
Z∞
=e
n−1 µx + µλ µ e−(µ+s)x dx. (n − 1)!
0
A binomiális tételt alkalmazva valamint észrevéve, hogy egy Erlang-eloszlás Laplace87
transzformáltja szerepel az összefüggésben kapjuk, hogy µ
e− λ Lsz (s) = (n − 1)!
Z∞ X n−1 µ n−1−k n−1 µ (µx)k · e−(µ+s)x dx k λ k=0 0
=e
−µ λ
k=0
=e
−µ λ
µ
= e− λ
µ n−1−k λ
n−1 X
n−1 X
Z∞
(n − 1 − k)! 0 µ n−1−k
(µx)k −(µ+s)x µ e dx k!
k+1 µ (n − 1 − k)! µ + s k=0 n−1−k µ µ+s n X n−1 · λ µ µ λ
(n − 1 − k)! n k=0 µ+s µ µ+s −µ =e λ ·e λ Q n − 1, µ+s λ n s µ µ+s = Q n − 1, · eλ . µ+s λ µ+s
Mivel
LT (s) =
Lsz (s) , Q n − 1, µλ
ezért LT (s) =
µ µ+s
n
Q n − 1, µ+s λ . e Q n − 1, µλ s λ
3. Megoldás. Szintén csak a számláló Laplace-transzformáltját határozzuk meg először Z∞ Lsz (s) =
n−1 µ µx + µλ µ e−(µx+ λ ) · e−sx dx (n − 1)!
0
A t = µx +
µ λ
helyettesítést véve
x=
1 µ t− , µ λ 88
dx 1 = , dt µ
majd helyettesítve Z∞ µ
Lsz (s) =
tn−1 −t − µs (t− µλ ) 1 e e dt (n − 1)! µ
µ λ
=e
s µ
Z∞
tn−1 −(1+ µs )t e dt (n − 1)!
µ λ
s
= eµ
µ µ+s
n−1 Z∞
1+
s µ
n−1 t
(n − 1)!
s
t
e−(1+ µ ) dt.
µ λ
Az y =
µ+s t µ
helyettesítést véve
dt dy
Lsz (s) = e
s λ
=
µ , µ+s
µ µ+s
ezért n Z∞
y n−1 −y e dy (n − 1)!
µ+s λ
=e
s λ
µ µ+s
n
µ+s · Q n − 1, , λ
így s Lsz (s) λ LT (s) = µ = e Q n − 1, λ
µ µ+s
n
Q n − 1, µ+s λ . · Q n − 1, µλ
Vagyis mind a három módon ugyanazt az eredményt kaptuk. Ebből elvben T momentuµ , ezért mai kiszámolhatók. Mivel LT (s) = LW (s) · µ+s LW (s) =
µ µ+s
n−1
Q n − 1, µ+s λ e . Q n − 1, µλ s λ
Java-appletek a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MM1KK/MM1KK.html http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MHyper1KK/MHyper1KK.html
89
12. Példa. Tekintsünk 6 db gépet 40 óra átlagos élettartammal, javítási idejük átlagosan 4 óra. Határozzuk meg a rendszer jellemzőit! Megoldás: λ =
1 40
óránként, µ =
óránként, ρ =
λ µ
=
4 40
= 0.1, n = 6, P0 = 0.484
0 1 2 3 4 5 6 0 0 1 2 3 4 5 0, 484 0.290 0.145 0.058 0.017 0.003 0.000
Hibás gépek várakozó g. Pn
Q = 0.324,
1 4
Usz = 0.516,
W = 2.51 óra,
e = 40 óra, m = n × Ug = 5.16,
T = 2.51 + 0.25 = 6.51 óra
Ug = 0.86 N = 6 − 5.16 = 0.84
4 × 5.16 0.516 7 = ≈ óra 1 6 × 0.484 10 6 × 40 × 0.484
Eδ =
13. Példa. Az előző példaadatban az átlagos élettartamot változtassuk meg 2 órára! Határozzuk meg a rendszer jellemzőit! Megoldás: λ1 = 2, nem elégséges.
1 µ
= 4,
λ µ
Hibás gépek várakozó g. Pk Us ≈ 0.999, e = 2 óra,
= 2, n = 6, P0 = 0 0
1 0
1 75973
1 75973
Q ≈ 4.5,
Ug ≈ 0.08,
1 , 75973
és ebből látható, hogy egy szerelő
2 3 4 5 6 1 2 3 4 5 0.001 0.012 0.075 0.303 0.606
W ≈ 22.5 óra, m ≈ 0.5,
T = 26.5 óra
N ≈ 5.5,
Eδ ≈ ∞.
Minden adat azt mutatja, amit vártunk, mivel a karbantartási tényező 1-nél nagyobb. Arra, hogy ezek után mennyi szerelőt kell beállítani, többféle kritérium lehet. λ Ezzel a következő fejezetben foglalkozunk. Mindenesetre, hogy ne legyen torlódás, a rµ <1 feltételnek kell teljesülnie, ahol r a szerelők számát jelöli.
3.3. Inhomogén modellek A most ismertetett három inhomogén modell leírása megtalálható Csige László és Tomkó József [11] cikkében. A közölt numerikus eljárásokat egyszerű példákon keresztül szemléltetjük és összehasonlítjuk a különböző kiszolgálási elvekből adódó rendszerjellemzőket. Adott, n számú, gép meghibásodásainak javítását végezze egyetlen szerelő. Feltesszük, 90
hogy a gépek működési időtartama exponenciális eloszlású, a k -adik gépre λk > 0 paraméterrel, és a javítási idő is exponenciális eloszlású a µk > 0 paraméterrel. Mind a működési, mind a javítási idők teljesen függetlenek egymástól. Tetszőleges t ≥ 0 pillanatban az n gép közül néhány működhet, és a többi vagy javítás alatt van, vagy javításra várakozik. Jelölje v(t), (t ≥ 0) a t pillanatban nem működő gépek számát. Ez még nem jellemzi kimerítően a rendszert. Meg kell mondanunk azt is, hogy melyek a nem működő gépek, és ezek közül melyiket javítja a szerelő. Tetszőleges t ≥ 0-ra egy v(t)-dimenziójú x1 (t) , . . . , xv(t) (t) vektort vezetünk be, melynek a komponensei a nem működő gépek indexeit jelölik. Ha a javítás a meghibásodás sorrendjében történik, azaz FIFO elv követése esetén a nem működő gépek felsorolása a meghibásodásuk sorrendjének felel meg. Így v(t) > 0-ra x1 (t) a javítás alatt lévő gép indexét adja. A Processor Sharing (PS) elv követésekor, amikor az összes hibás gép javítás alatt van, és v(t) = k esetén e javítások mindegyike 1/k intenzitással folyik, az (x1 (t) , . . . , xn (t)) vektor elrendezése tetszőleges lehet. Ilyenkor a nagyság szerinti x1 (t) < x2 (t) < . . . < xv(t) (t) rendezésben állapodunk meg. Prioritásos kiszolgálás (PR) esetén a hibás gépeket indexük nagyságrendje szerint soroljuk fel, mivel az alacsonyabb indexű gép elsőbbséggel rendelkezik a magasabb indexű gépekkel szemben. A gépkiszolgálás Markov-lánca alatt a ξ (t) = v (t) ; x1 (t) , . . . , xv(t) (t) , (t ≥ 0) , vektorfolyamatot értjük, ahol x1 (t) , . . . , xv(t) (t) rendezését a különböző kiszolgálási elvek esetén az előbb elmondottak szerint kell érteni. A ξ(t) folyamat folytonos idejű, véges állapotterű Markov- lánc. Ha a λk , µk , (1 ≤ k ≤ n) paraméterek mind pozitívak, akkor a lánc ergodikus.
~ /M ~ /1/n/n/P S rendszer 3.3.1. Az M A gépkiszolgálási probléma esetén ez a diszciplina azt jelenti, hogy a gépek javítása meghibásodásuk után rögtön megkezdődik, melynek intenzitása függ a mindenkori hibás gépek számától, és azzal fordítottan arányos. Ha egy gép javítás alatt van egy olyan δt idő alatt, amikor rajta kívül még k − 1 más gép is hibás, akkor ezen δt idő alatt egy gép javítási ideje csak δt/k mennyiséggel halad előre. Ekkor a ξ(t) folyamat állapotterét az 1, 2, . . . , n számok (i1 , . . . , ik ) (1 ≤ k ≤ n) kombinációi alkotják, és ezekhez még hozzá kell venni a 0 pontot (minden gép működik). Legyenek Pi1 ,...,ik (t) (1 ≤ i1 < i2 < . . . < ik ≤ n) a ξ(t) lánc t pillanatbeli eloszlását leíró függvények. Ekkor a Kolgomorov-egyenletek a következők " n # n X X 0 P0 (t) = − λi P0 (t) + µi Pi (t) , i=1
0
Pi1 ...ik (t) =
k X
i=1
λir Pi< 1...ir−1 ir+1 ...ik (t) −
r=1
" − νi1 ...ik
# k X µr 1X P 0 0 0 (t) µir Pi1 ,...,ik (t) + + k r=1 k + 1 i1 i2 ...ik+1 r6=i ...i 1
91
k
0
0
ahol i1 , . . .P , ik+1 az i1 , . . . , ik , r egészeknek a nagyság szerinti rendezése, és λr , k = 1, . . . , n − 1. νi1 ...ik = r6=i1 ...ik n X
0
P1,...,n (t) =
λr P1,...,r−1,r+1,]...,n (t)−
r=1
"
# n 1X − µr P1,...,n (t), n r=1 ahol a megfelelő indexek értelemszerű értékeket vesznek fel. A stacionárius eloszlás, amely azonos a P0 = lim Po (t) , t→∞
Pi1 ...ik = lim Pi1 ...ik (t) t→∞
(1 ≤ i1 < i2 < . . . < ik ≤ n, 1 ≤ k ≤ n), ergodikus eloszlással, a " n # n X X µ i Pi , λi P0 = i=1
i=1
"
#
k k X 1X λir Pi1 ...ir−1 ir+1 ...ik + µir Pi1 ...ik = k r=1 r=1 X µr + Pi0 i0 ...i0 , 1 2 k+1 k + 1 r6=i1 ...ik " n # n X 1X λr P1...,r−1,r+1,...,n µr P1,...,n = n r=1 r=1 P homogén lineáris egyenletrendszernek a P0 + Pi1 ...ik = 1 feltételt kielégítő egyértelmű megoldása, ahol az összegzés n elem összes kombinációira terjed ki. Egyszerű helyettesítéssel belátható, hogy ennek az egyenletrendszernek a megoldása a
νi1 ...ik +
Pi1 ...ik = Ck!
k Y λi
r
µ r=1 ir
,
ahol C a normalizáló feltételből határozható meg.
~ /M ~ /1/n/n/F IF O rendszer 3.3.2. Az M A gépek javításai történjenek a meghibásodás sorrendjében. Ekkor a ξ(t) folyamat állapotterét n elem összes 1 ≤ k ≤ n rendű ismétlés nélküli variációi alkotják, amelyekhez még a 0 pontot is csatolni kell ( a 0 pont annak az esetnek a megfelelője, amikor mindegyik gép működik ). A ξ(t) lánc t (t ≥ 0) pillanatbeli eloszlására vezessük be az alábbi függvényeket. Ha v(t) jelöli a t időpontban nem működő gépek számát, xi (t) a nem működő gépek indexét 92
(i = 1, . . . , v (t)) meghibásodásuk sorrendjében, akkor a lánc t pillanatbeli eloszlását leíró függvények: P0 (t) = P (v (t) = 0) , Pi1 ...ik (t) = P (v (t) = k, x1 (t) = i1 , . . . , xk (t) = ik ) , ahol (1 ≤ k ≤ n), (1 ≤ i1 , . . . , ik ≤ n). Ezek a függvények kielégítik a következő differenciálegyenlet-rendszert " 0
P0 (t) = −
n X
# λi P0 (t) +
i=1
n X
µi Pi (t) ,
i=1
0
Pi1 ...ik (t) =λik Pi1 ...ik−1 (t) − X
− [νi1 ...ik + µi1 ] Pi1 ...ik (t) +
µr Pri1 ...ik (t) ,
r6=i1 ...ik 0
Pi1 ,...,in (t) =λin Pi1 ,...,in−1 (t) − µi1 Pi1 ,...,in (t). A stacionárius eloszlás, mely azonos a P0 = lim P0 (t) , t→∞
Pi1 ...ik = lim Pi1 ...ik (t) t→∞
(1 ≤ i1 , i2 , . . . , ik ≤ n, 1 ≤ k ≤ n) ergodikus eloszlással, a "
n X i=1
# λi P0 =
n X
µ i Pi ,
i=1
[νi1 ...ik + µi1 ] Pi1 ...ik =λik Pi1 ...ik−1 +
X
µr Pri1 i2 ...ik ,
r6=i1 ...ik
µi1 Pi1 ,...,in =λin Pi1 ,...,in−1 P homogén lineáris egyenletrendszerneik a P0 + Pi1 ...ik = 1 feltételt kielégítő egyértelmű megoldása, ahol az összegzés n elem összes variációjára terjed ki. Az egyenletrendszer könnyebben kezelhetővé válik, ha bevezetjük a következő vektorváltozókat. Legyen Z (k) (1 ≤ k ≤ n) Vkn = nk k! dimenziós vektor, amelynek a komponensei az 1, 2, ...n számok k-ad osztályú, lexikografikusan rendezett i1 , . . . , ik variációihoz tartozó Pi1 ...ik valószínűségek. Ekkor az egyenletrendszer az alábbi differenciaegyenlet-rendszerbe megy át P0 =B0 Z (1) , Z (1) =A1 P0 + B1 Z (2) , .. . Z (k) =Ak Z (k−1) + Bk Z (k+1) , .. . Z (n) =An Z (n−1) . 93
n n Itt most 1 ≤ k ≤ n-re Ak Vkn × Vk−1 -es mátrix, 0 ≤ k < n-re Bk Vkn × Vk+1 -es mátrix, és elemeik az egyenletrendszerből könnyen meghatározhatók. Legyen Fn = An és tetszőleges 1 ≤ k < n esetén Fk = (I − Bk Fk+1 )−1 Ak . Ekkor Z (k) = Fk Z (k−1) (1 ≤ k ≤ n), ahol Z (0) = P0 . Egy tetszőleges P0 értékből a Z (k) (1 ≤ k ≤ n) vektorok rendre meghatározhatók. A Pi1 ...ik valószínűségeket a normalizáló feltétel figyelembe vétele után e vektorok komponensei szolgáltatják.
~ /M ~ /1/n/n/P R rendszer 3.3.3. Az M Abszolút prioritásos kiszolgálási elv esetén a ξ(t) folyamat állapotterét az 1, 2, . . . , n számok (i1 , . . . , ik ) (1 ≤ k ≤ n) kombinációi alkotják, és ezekhez még hozzá kell venni a 0 pontot (minden gép működik ). Legyenek Pi1 ,...,ik (t) (1 ≤ i1 < i2 < . . . < ik ≤ n) a ξ(t) lánc t pillanatbeli eloszlását leíró függvények. Ekkor a Kolgomorov-egyenletek a következők " n # n X X 0 P0 (t) = − λi P0 (t) + µi Pi (t) , i=1
0
Pi1 ...ik (t) =
i=1
k X
λir Pi1 ...ir−1 ir+1 ...ik (t) −
r=1
− [νi1 ...ik + µi1 ] Pi1 ...ik (t) +
iX 1 −1
µr Pri1 ...ik (t),
r=1 0
P1,...,n (t) =
n X
λr P1,...,r−1,r+1,...,n (t) − µ1 P1,...,n (t).
r=1
A stacionárius eloszlás, amely azonos a P0 = lim P0 (t), t→∞
Pi1 ...ik = lim Pi1 ...ik (t) , t→∞
(1 ≤ i1 , i2 , . . . , ik ≤ n, 1 ≤ k ≤ n), ergodikus eloszlással, a " n # n X X λi P0 = µ i Pi , i=1
i=1
[νi1 ...ik + µi1 ] Pi1 ...ik =
k X
λir Pi1 ...ir−1 ir+1 ...ik +
r=1
+
iX 1 −1
µr Pri1 ...ik ,
r=1
µ1 P1,...,n =
n X
λr P1,...,r−1,r+1,...,n
r=1
94
P homogén lineáris egyenletrendszernek a P0 + Pi1 ...ik = 1 feltételt kielégítő egyértelmű megoldása, ahol az összegzés n elem összes kombinációra terjed ki. Az egyenletrendszer megoldásához, hasonlóan a meghibásodás sorrendjében történő kiszolgálás esetéhez, vezessük be a következő vektorváltozókat. n (k) n Legyen Y (1 ≤ k ≤ n) Ck = k dimenziós vektor, amelynek a komponensei az 1, 2, . . . , n számok k-ad osztályú, lexikografikusan rendezett i1 , . . . , ik kombinációhoz tartozó Pi1 ...ik valószínűségek. Ekkor az egyenletrendszer az alábbi differencia egyenletrendszerbe megy át. P0 =B0 Y (1) , Y (1) =A1 P0 + B1 Y (2) , .. . Y (k) =Ak Y (k−1) + Bk Y (k+1) , .. . Y (n) =An Y (n−1) . n n Itt most 1 ≤ k ≤ n-re Ak Ckn × Ck−1 -es mátrix, 0 ≤ k < n-re Bk Ckn × Ck+1 -es mátrix, és elemeik egyenletrendszerből kiolvashatók. Ezt a differencia egyenletrendszert ugyanúgy oldhatjuk meg, mint a FIFO kiszolgálás esetén.
Rendszerjellemzők Könnyű látni, hogy stacionárius esetben • A szerelő kihasználtsága Us =
E(δ) n −1 = 1 − P0 . P E(δ) + λi i=1
• A gépek kihasználtsága Jelölje U (i) az i-edik gép kihasználtságát. Ekkor U
(i)
=
1 λi 1 λi
+ Ti
= 1 − P (i) ,
ahol T i az i-edik gép hibás állapotban való tartózkodásának várható értékét jelöli, P
(i)
=
n X
X
Pi1 ,...,ik ,
k=1 i∈(i1 ,...,ik )
azaz annak stacionárius valószínűsége, hogy a gép rossz. Így Ti =
P (i) , λi (1 − P (i) ) 95
valamint FIFO esetben az átlagos várakozási idő Wi = Ti −
1 . µi
Könnyű látni, hogy a hibás gépek várható száma n X
P (i) .
i=1
Fennáll továbbá a
n X
λi 1 − P
i=1
(i)
Ti =
n X
P (i)
i=1
reláció, amely a Little-tétel egy speciális alakja. Homogén esetben ez nyilvánvalóan az n ¯ λT¯ = n − n ¯ alakot ölti, ahol n ¯ a működő gépek átlagos számát jelöli. Az inhomogén modellek további általánosításával foglalkoznak pl. a Pósafalvi – Sztrik [52, 53] cikkek. Most nézzünk meg néhány futási eredményt, amelyekkel a különböző kiszolgálási elvek hatását tudjuk demonstrálni.
96
Bemenő paraméterek FIFO
a gépek kihasználtsága PROC-SHARING PRIORITÁSOS
n=3 λ1 = 0.3 µ1 = 0.7 λ2 = 0.3 µ2 = 0.7 λ3 = 0.3 µ3 = 0.7 összgép kihasználtság:
0.57 0.75 0.57 0.74 0.57 1.72
n=3 λ1 = 0.5 µ1 = 0.9 λ2 = 0.3 µ2 = 0.7 λ3 = 0.2 µ3 = 0.5 összgép kihasználtság:
0.48 0.75 0.56 0.76 0.62 1.669
λ1 = 0.5 λ2 = 0.4
n=4 µ1 = 0.9 µ2 = 0.7
1.72
0.70 0.58 0.44 1.72
0.51 0.56 0.77 0.58 1.666
0.38 0.41 0.903
λ3 = 0.3 µ3 = 0.6 λ4 = 0.2 µ4 = 0.5 összgép kihasználtság:
0.57 0.57 0.74 0.57
0.64 0.56 0.44 1.656
0.429 0.423 0.906
0.46 0.54 1.814
0.64 0.49 0.922
0.451 0.500 1.804
0.36 0.24 1.751
3.1. táblázat. Futási eredmények
3.4. Homogén forrású modellek összehasonlítása Az alábbiakban ismertetett eredmények Asztalos Domonkos [5] cikkében találhatók meg, és olyan véges forrású tömegkiszolgálási rendszerekre vonatkoznak, ahol egy kiszolgáló egység n fogyasztót szolgál ki. A forrásnál eltöltött idő minden fogyasztóra nézve azonos λ paraméterű exponenciális eloszlású változó, és az i-edik fogyasztó kiszolgálási ideje µi paraméterű exponenciális eloszlású valószínűségi változó. Ennél a modellnél vizsgáljuk a kiszolgáló egység foglaltsági periódusait. Meg lehet mutatni, hogy PS kiszolgálási elv mellett a kiszolgáló egység foglaltsági periódusának várható értéke n 1 X (n) j!Cj , EδP S = nλ j=1 ahol Cj =
j P Q i1 ,...,ij k=1
λ . µik
2. Tétel. Exponenciális struktúrájú, véges, homogén forrású rendszerben abszolút prioritásos kiszolgálási diszciplina esetén tetszőleges n-re (1, 2, . . .) a kiszolgáló egység foglaltsági (n) periódusainak várható értéke EδP R , stacionárius esetben független a prioritások kiosztásától. 1. Következmény. (n)
(n)
(n)
EδP R = EδF IF O = EδLIF O 97
A FIFO kiszolgálási diszciplina megfelel a érkezési sorrendben való kiszolgálásnak, a LIFO esetén egy érkezés kiszolgálása rögtön megkezdődik, és az esetleg megszakított fogyasztó kiszolgálása a megszakítás helyétől folytatódik a megszakítást okozó fogyasztó kiszolgálása után. (n)
A Következmény Bizonyítása. Prioritásos kiszolgálás esetén EδP R független a prioritások kiosztásától. A FIFO diszciplinával azonos kiszolgálást kapunk, ha egy érkezéskor az éppen beérkező fogyasztóhoz rendelt prioritás értéke megegyezik azzal a számmal, hogy hányadiknak érkezett a kiszolgáló egységhez, és a korábban már a kiszolgáló egységben lévő fogyasztók prioritását nem változtatjuk meg. Ha egy fogyasztó távozik a kiszolgáló egységből, akkor a kiszolgáló egységnél maradt fogyasztók mindegyikének a prioritását eggyel csökkentjük. A forrásnál tartózkodó fogyasztók között a fennmaradt prioritásértékek tetszőlegesen kioszthatók. A LIFO diszciplinával azonos kiszolgálást kapunk, ha egy érkezéskor az éppen beérkező fogyasztó prioritása egy lesz, és a korábban már a kiszolgáló egységnél tartózkodó fogyasztók prioritását eggyel növeljük, egyébként a prioritások kiosztása megegyezik a FIFO-nál leírtakkal. 3. Tétel. Exponenciális struktúrájú, véges, homogén forrású tömegkiszogálási rendszerek(n) (n) ben EδP R = EδP S . A kiszolgálási diszciplinákat két csoportra oszthatjuk. Az első csoportba azok tartoznak, amelyeknél bármely véges τ intervallum felosztható véges számú diszjunkt intervallumok olyan sorozatára, hogy mindegyik intervallumban csak egy adott fogyasztó részesül kiszolgálásban. Ezeket a kiszolgálási diszciplinákat osztatlan kiszolgálású diszciplináknak nevezzük. Ilyenek a FIFO, a LIFO, az RR és PR diszciplinák. A másik csoportba tartozik az összes többi. Ilyen például a PS elv. Egy kiszolgálási diszciplina konzervatív, ha a kiszolgáló egységnél nem vész el, és nem keletkezik kiszolgálási igény. 4. Tétel. Exponenciális struktúrájú, véges, homogén forrású tömegkiszolgálási rendszerben, amely n gépet tartalmaz λ és µi paraméterekkel, a foglaltsági periódus várható értéke stacionárius esetben azonos minden konzervatív osztatlan kiszolgálású diszciplinára és (n)
Eδ (n) = EδP S . Bizonyítás: Könnyen belátható, hogy a prioritásos kiszolgálási diszciplina konzervatív és osztatlan kiszolgálójú, és a tételünk szerint EδP R értéke független a prioritások szétosztásától, és attól is, ha a prioritások szétosztása tetszőleges időpontban megváltozik. Az osztatlan kiszolgálású diszciplinák definíciója szerint bármely véges τ intervallumban véges azoknak az eseteknek a száma, amikor a kiszolgálás átvált egyik fogyasztóról a másikra. Így az a konzervatív osztatlan kiszolgálású rendszer, amelyben az eredeti diszciplina döntésének megfelelően megváltoztatjuk a prioritások eloszlását, ugyanúgy viselkedik, mint az eredeti rendszer.
3.5. Az M/M/r/n/n modell Az előző modellben adott feltevéseinke
hogy éppen k db terminál igénye van kiszolgálás alatt, egyetlen várakozó igény sincs és r − k szerver tétlen. A szerverek tevékenységüket egymástól függetlenül végzik. Ekkor is egy születési-halálozási folyamatot kapunk: λk = (n − k)λ, 0 ≤ k ≤ n − 1, ( kµ , 1 ≤ k ≤ r, µk = rµ , r < k ≤ n, intenzitásokkal. Az egyensúlyi eloszlás n k Pk = ρ P0 , 0 ≤ k ≤ r, k n k k! ρ P0 Pk = k−r r!r k Természetesen teljesülnie kell a n X
Pk = 1
k=0
összefüggésnek. P0 meghatározására ez a képlet túlságosan bonyolult, így egy egyszerűbb rekurzív formulát használunk. Jelöljük ak -val a következő hányadost ak =
Pk . P0
Ekkor a következő összefüggés alapján számolhatunk a0 = 1, n−k+1 %ak−1 , k n−k+1 ak = %ak−1 , r
0 ≤ k ≤ r − 1,
ak =
Mivel a
n X
r ≤ k ≤ n.
Pk = 1
k=0
összefüggésnek teljesülnie kell, ezért P0 = 1 −
n X
Pk .
k=1
Mindkét oldalt P0 -al elosztva n
n
X Pk X 1 1 1= − = − ak , P0 k=1 P0 P0 k=1 99
így 1 n P
P0 = 1+
. ak
k=1
Majd Pk = ak P0 . Ezek után a szokásos módon megadhatjuk a rendszerjellemzőket • A rendszerben tartózkodó igények átlagos száma N=
n X
kPk .
k=0
• A várakozási sor átlagos hossza n X
n rr P0 X (k − r)k! n k Q= % . (k − r)Pk = k r! r k k=r+1 k=r+1 • Az igény generálásra alkalmas terminálok átlagos száma m = n − N. • A rendszer kihasználtsága Ur = 1 − P0 . • A rendszer átlagos foglaltsági periódushossza Eδ (n) =
Ur 1 − P0 = . nλP0 nλP0
• A foglalt kiszolgálóegységek átlagos száma r=
r X
kPk +
k=1
n X
rPk =
k=r+1
Továbbá
r−1 X
r X
Us =
kPk + r
k=1
n X
Pk =
kPk + r
k=1
k=r+1
r
kPk + rP (W > 0).
k=1
k=r n X
r−1 X
Pk r = . r
• A tétlen kiszolgálóegységek átlagos száma S = r − r. További összefüggés N=
r X k=1
kPk +
n X
(k − r)Pk + r
k=r+1
n X k=r+1
100
Pk = Q + r = Q + r − S = n − m.
• A terminálok kihasználtsága n X n−k
Ut =
n
k=1
Pk =
m . n
=
m , n
• A terminálok átlagos várakozási ideje Ut =
1 λ 1 λ
+W +
1 µ
amiből N1 1 1 − = W = mλ µ µ
N −1 . m%
Az átlagos válaszolási idő T =W+
N 1 = , µ mλ
innen mλT = N , ami a jól ismert Little-formula, azaz az átlagos beérkezési intenzitás és a rendszerben töltött átlagos idő szorzata a rendszerben tartózkodó igények átlagos számával egyenlő. Ebből 1 mλ W + = Q + r, µ vagyis mλW + m% = Q + r. Mutassuk meg, hogy r = m%, mert ebből mλW = Q következik, ami szintén egy Little-formula. Tudjuk, hogy Pk+1 =
(n − k)λ Pk , µk+1
ahol
( jµ , j ≤ r, µj = rµ , j > r. Jól ismert továbbá, hogy r=
r−1 X
kPk + r
k=1
101
n X k=r
Pk .
Ekkor %m =
n X
%(n − k)Pk =
k=0
=
r−1 X
%(n − k)Pk +
k=0
r−1 X λ(n − k)(k + 1)
(k + 1)µ
k=0
n−1 X
%(n − k)Pk =
k=r
Pk + r
n−1 X λ(n − k) k=r
rµ
Pk =
r−1 n−1 r n r−1 n X X X X X X = (k + 1)Pk+1 + r Pk+1 = jPj + r Pj = jPj + r Pj = r. k=0
j=1
k=r
j=r+1
j=1
j=r
Vagyis %m = r, más alakban λm = µr, azaz az átlagos beérkezési intenzitás = az átlagos kiáramlási intenzitással, ami várható volt, mivel a rendszer egyensúlyi állapotban van. Ezért W =
Q Q Q = = . mλ rλ% µr
• A kiszolgálók átlagos tétlenségi periódushossza Ha a tétlen kiszolgálók olyan sorrendben kezdik kiszolgálni az igényeket, mint amilyen sorrendben előzőleg befejezték a foglaltsági periódusokat, akkor egy szerver tevékenységét a következőképpen írhatjuk le. Ha egy tétlenné vált szerver j − 1 másik tétlen szervert talál a munka befejeződés pillanatában, akkor csak a j-edik igény kiszolgálásával kezdődik ismét a foglaltsági periódusa. Jelölje e a szerver átlagos üresjárati periódusa hosszát, ej pedig a fenti állapotban az átlagos tétlenségi időt. Nyilvánvalóan ej =
j , λ
e pedig a teljes várható érték tétele alapján r X Pr−j j S e= = , P (e) λ P (e)λ j=1
ahol P (e) =
r−1 X
Pj = 1 − P (W > 0),
j=0
azaz annak valószínűsége, hogy van tétlen szerver. 102
• A szerverek átlagos foglaltsági periódushossza Mivel Eδ , Us = e + Eδ így r Us Eδ = e= r re= 1 − Us 1− r
r r r−r r
S r S r m = = = . P (e)λ P (e)λ µP (e) S P (e)λ
Vagyis Eδ =
m . µP (e)
A várakozási idő eloszlásfüggvénye Megmutatjuk hogyan lehet meghatározni M/M/r/n/n rendszer esetén a várakozási és tartózkodási idő sűrűségfüggvényét, majd ebből az eloszlásfüggvényeket. n k ρ P0 k Pk = n k!ρk k P0 r!rk−r ha z = ρ1 , akkor n −k z P0 k Pk = n k!z −k k P0 r!rk−r melyből n k
k!rr (rz)−k P0 r! n!rr (rz)n−k · e−rz = P0 (n − k)!r!(rz)n · e−rz rr P (n − k, rz) = P0 , k ≥ r. r! P (n, rz)
Pk =
Πk (n) = Pk (n − 1), vagyis rr P (n − 1 − k, rz) Πk (n) = P0 (n − 1), r! P (n − 1, rz) 103
ha k = r, . . . , n − 1.
Könnyű látni, hogy n−1 X
Πk (n) =
k=r
n−1 X
Pk (n − 1) = PW
k=r
éppen a várakozás valószínűsége. Fejezzük ki PW -t más alakban is, mert erre később szükségünk lesz! A helyettesítés után PW =
n−1 r X r P (n − 1 − k, rz) k=r
r!
P (n − 1, rz)
P0 (n − 1)
n−1−r X
P (i, rz) rr i=0 = P0 (n − 1) r! P (n − 1, rz) r r Q(n − 1 − r, rz) = P0 (n − 1). r! P (n − 1, rz) Megmutatjuk, hogy rr Q(n − 1 − r, r(z + µx)) FW (x) = 1 − P0 (n − 1), r!P (n − 1, rz) amiből FW (0) = 1 −
rr Q(n − 1 − r, rz) P0 (n − 1) r!P (n − 1, rz)
ami éppen azt jelenti, hogy nincs várakozás. Ebből deriválással megkapjuk a sűrűségfüggvényt, ami fW (0) = 1 − PW , rr P (n − 1 − r, r(z + µx)) fW (x) = µr P0 (n − 1), r!P (n − 1, rz) Ha
R∞
x > 0.
fW (x)dx-t vesszük, vagyis a 0 pontot kihagyjuk belőle, akkor
0+
Z∞
rr P0 (n − 1) fW (x)dx = · r!P (n − 1, rz)
0+
Z∞ µr
(r(z + µt))n−1−r −r(z+µt) e dt. (n − 1 − r)!
0+
Ha bevezetjük az y = r(z +µt) helyettesítést, akkor alakot ölti Z∞
dt dy
=
1 µ
és csak az integrál a következő
y n−1−r e−y dy = Q(n − 1 − r, rz) (n − 1 − r)!
rz
104
vagyis Z∞ fW (x)dx =
rr Q(n − 1 − r, rz) P0 (n − 1) = PW , r!P (n − 1, rz)
0+
amint ez várható volt. Ezért Z∞
Z∞ fW (x)dx = fW (0) +
0
fW (x)dx = 1. 0+
Most határozzuk meg a sűrűségfüggvényt x > 0-ra! Vagyis fW (x) = =
n−1 X k=r n−1 X
rµ
(rµx)k−r −rµx e Pk (n − 1) (k − r)!
rµ
(rµx)k−r −rµx rr P (n − 1 − k, rz) e P0 (n − 1) (k − r)! r! P (n − 1, rz)
k=r
n−1
rµrr P0 (n − 1) X (rµx)k−r (rz)n−1−k −r(z+µx) = e r!P (n − 1, rz) k=r (k − r)! (n − 1 − k)! =
n−1−r rµrr P0 (n − 1)e−r(z+µx) X (rµx)i (rz)n−1−r−i r!P (n − 1, rz) i! (n − 1 − r − i)! i=0
rµrr P0 (n − 1) (r(z + µx))n−1−r −r(z+µx) ·e r!P (n − 1, rz) (n − 1 − r)! rµrr P0 (n − 1)P (n − 1 − r, r(z + µx)) , = r!P (n − 1, rz)
=
ugyanazt kapjuk, de tudni kell, hogy fW (0) = 1 − PW . Ebből Z∞ P (W > x) =
fW (t)dt x
rr P0 (n − 1) = r!P (n − 1, rz)
Z∞ rµ
(r(z + µt))n−1−r −r(z+µt) e dt (n − 1 − r)!
x
rr P0 (n − 1) = r!P (n − 1, rz)
Z∞
y n−1−r e−y dy (n − 1 − r)!
r(z+µx) r
=
r P0 (n − 1)Q(n − 1 − r, r(z + µx)) . r!P (n − 1, rz) 105
Ezért FW (x) = 1 − P (W > x) amit már korábban is megkaptunk. Ellenőrzésképpen vizsgáljuk meg a képletet r = 1 esetre! Ekkor P (W > x) =
P0 (n − 1)Q(n − 2, z + µx) , P (n − 1, z)
de P0 (n − 1) =
P (n − 1, z) , Q(n − 1, z)
így P (W > x) =
Q(n − z, z + µx) . Q(n − 1, z)
A tartózkodási idő eloszlásfüggvényének a meghatározása hasonló elven történik, mint a várakozási idő esetében tettük, de eléggé hosszadalmas. Bizonyítható, lásd Allen [2], Kobayashi [41], hogy r ≥ 2 esetben FT (x) = 1 − C1 e−µx + C2 Q(n − r − 1, r(z + µx)), ahol C1 = 1 + C2 Q(n − r − 1, rz), rr P0 (n − 1) . C2 = r!(r − 1)(n − r − 1)!P (n − 1, rz) Ebből deriválással fT (x) = µC1 e−µx − C2 rµP (n − r − 1, r(z + µx)). A normalizáló konstansra itt is felírható egy rekurzió, nevezetesen r−1
P0−1 (n)
nX n = 1 + P0−1 (n − 1) + rz z i=0
a P0−1 (r)
=
1 1+ z
kezdei értékből kiindulva. 106
n−1 i zi
1 1 − i+1 r
r .
r≥1
,
n > r,
A tartózkodási idő Laplace-transzformáltja Először határozzuk meg a várakozási idő Laplace-transzformáltját! Az eddigiekhez hasonlóan könnyű látni, hogy
LW (s) = 1 − PW
k−r+1 n−1 X rµ Pk (n − 1). + rµ + s k=r
Lépésről-lépésre számítjuk ki a kívánt mennyiségeket
k−r+1 r n−1 X rµ r P0 (n − 1)P (n − 1 − k, rz) rµ + s r!P (n − 1, rz) k=r k−r+1 n−1 rµ (rz)n−1−k rr P0 (n − 1)e−rz X . = r!P (n − 1, rz) k=r rµ + s (n − 1 − k)! Továbbá k−r+1 n−1 X rµ (rz)n−1−k rµ + s (n − 1 − k)! k=r n−1−r X rµ i+1 (rz)n−1−r−i , = rµ + s (n − 1 − r − i)! i=0 ahol i = k − r. Ezt tovább folytatva az utolsó egyenlőség így írható
rµ rµ + s
n−r ·
n−1−r X i=0
rµ+z n−1−r−i λ (n − 1 − r − i)!
=
rµ rµ + s
n−r e
rµ+z λ
rµ + z Q n − 1 − r, λ
Ezek után n−r r rµ + s rµ r P0 (n − 1)e−rz rµ+s + e λ Q n − 1 − r, rµ + s r!P (n − 1, rz) λ s n−r rµ+s rr e λ P0 (n − 1)Q n − 1 − r, λ rµ + . r!P (n − 1, rz) rµ + s
LW (s) = 1 − PW = 1 − PW
Ellenőrzésképpen vizsgáljuk meg az r = 1 esetet! 107
.
Ekkor n−1 s e λ P0 (n − 1)Q n − 2, µ+s µ λ LW (s) = P0 (n − 1) + µ+s P (n − 1, z) n−1 s e λ Q n − 2, µ+s µ P (n − 1, z) λ + = Q(n − 1, z) µ+s Q(n − 1, z) n−1 n−1 µ µ+s µ+s s µ+s z µ = e−z + e λ Q n − 2, Q(n − 1, z) (n − 1)! λ
=
=
µ µ+s
n−1 "
s µ+s n−1 − µ+s e λ eλ λ
Q(n − 1, z) (n − 1)! n−1 s µ e λ Q n − 1, µ+s µ+s λ Q (n − 1, z)
µ+s + e Q n − 2, λ s λ
#
,
amit korábban is kaptunk. Ezek után nyilvánvaló, hogy LT (s) =
µ µ+s
LW (s),
ami r=1 esetben a LT (s) =
µ µ+s
n
s
e λ Q n − 1, µ+s λ Q(n − 1, z)
formulát adja.
Java-applet a rendszerjellemzők meghatározására http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMcKK/MMcKK.html 14. Példa. Egy üzemben 20 db gép üzemel, egyenként 50 óra átlagos élettartammal. A gép javításának várható értéke 5 óra, a szereléseket 3 fős szerelőgárda végzi. Adjuk meg a rendszer jellemzőit, és hasonlítsuk össze őket az előző példában szereplő jellemzőkkel! Megoldás: λ ρ= = µ
1 µ 1 λ
=
5 1 = = 0.1 50 10
A rekurzív összefüggéseket használva, a0 = 1-ről indítva a rekurziót, könnyen meghatározhatjuk az ak értékeket, pl a0 = 1 a1 =
20 − 0 × 0.1 × 1 = 2 0+1 108
20 − 1 × 0.1 × 2 = 1.9 1+1 20 − 2 a3 = × 0.1 × 1.9 = 1.14 2+1 20 − 3 a4 = × 0.1 × 1.14 = 0.646 3 .. . a2 =
és így tovább. Tudjuk, hogy P0 =
1+
1 Pn
k=1
ak
=
1 = 0.13625. 1 + 6.3394
Innen P1 = a1 × P0 = 2 × 0.13625 = 0.2775 P2 = a2 × P0 = 1.9 × 0.13625 = 0.2588 stb. A következő táblázat megadja a különböző állapotok valószínűségét. n = 20, r = 3, ρ = 0.1
K 0 1 2 3 4 5 6 7 8 9 10 11 12
Javítás alatt Javításra várakozó Tétlen karbantartók álló gépek gépek száma száma száma (Q) (S) 0 0 3 1 0 2 2 0 1 3 0 0 3 1 0 3 2 0 3 3 0 3 4 0 3 5 0 3 6 0 3 7 0 3 8 0 3 9 0
Q = 0.339, P (W > 0) = 0.3323,
S = 1.213,
P (e) = 0.6677,
N = Q + r − S = 2.126 W =
m = 20 − 2.126 = 17.874, Eδ (n) =
U (n) 5 0.844 = × ≈ 15.5 óra, nλP0 2 0.136 109
Stac. eloszlás (Pk ) 0.13625 0.27250 0.25888 0.15533 0.08802 0.04694 0.02347 0.01095 0.00475 0.00190 0.00070 0.00023 0.00007
Q = 0.918 óra, kb. 59 perc λ(n − N ) U (n) = 0.844 r = 1.787,
s = 1.213
US =
r 1.787 = = 0.595, r 3 Eδ =
e=
r 1.787 50 × 1.787 = ≈ 132.1 óra 1 = P (e)λ 0.667 0.667 × 50 Ug = T =W+
K1 =
s 1.213 50 × 1.213 = ≈ 90.8 óra 1 = P (e)λ 0.667 0.667 × 50
m 17.874 = ≈ 0.893 n 20 1 = 0.981 + 5 = 5.981 óra µ
várakozó gépek átlagos száma Q 0.339 = = = 0.0169 összes gépek száma n 20
K2 =
tétlen kezelők száma S 1.213 = = = 0.404 összes kezelők száma r 3
Összehasonlítva a megfelelő példában szereplő jellemzőkkel, láthatjuk, hogy az egy javítóra jutó gépek majdnem egyforma száma mellett (6, ill. 6 23 ) a helyzet sokkal jobb 20 gép és 3 szerelő esetében, ugyanis a hatékonysági vizsgálatok az alábbi adatokat szolgáltatták
6 1 6 0.4845 0.0549
Gépek száma Szerelők száma Az egy szerelőre jutó gépek száma A szerelőkre vonatkozó várakozási együttható K2 A gépekre vonatkozó várakozási együttható K1
20 3 6 23 0.4042 0.01694
15. Példa. Az előző problémában ρ = 0.1, n = 20 volt. Tételezzük fel, hogy az időegység az óra, hogy a gépállás óránkénti költsége 18 000 Ft, míg a szerelők óránkénti költsége 600 Ft. Mi lesz ebben ez esetben a szerelők optimális száma? Megoldás: Látható, hogy az óránkénti átlagos költség r függvénye. A következő táblázat megadja a stacionárius eloszlást r = 3, 4, 5, 6, 7 esetén (tapasztalatból tudjuk, hogy az r számra 3 ≤ r ≤ 7). r 3 4 5 6 7
P0 0.136 0.146 0.148 0.148 0.148
P1 0.272 0.292 0.296 0.297 0.297
P2 0.258 0.278 0.281 0.282 0.282
P3 0.155 0.166 0.168 0.169 0.169
P4 0.088 0.071 0.071 0.072 0.072
P5 0.047 0.028 0.022 0.023 0.023
P6 0.023 0.010 0.006 0.006 0.006
P7 P8 0.011 0.005 0.003 0.001 0.001 0.000 0.001 · · · ··· ···
A következő táblázat az időegységre jutó költségeket adja meg 110
r 3 4 5 6 7
Q 0.32 0.06 0.01 elhanyagolható
S 1.20 2.18 3.17 4.17 5.16
M (K) Ft 6480 2388 2082 2502 3096
Látható, hogy az optimális szerelőszám ilyen költségtényezők mellett r = 5. Ez a példa is mutatja, hogy rendszerek összehasonlítása többféleképpen értelmezhető. Az említett példák jól szemléltetik ezt a problémakört.
3.6. Az M/M/r/K/n rendszer Ennél a rendszereknél a véges forrásból érkező igények még várakozhatnak, ha a rendszerben tartózkodó igények száma érkezésük pillanatában kevesebb, mint K vagy egyből visszakerülnek a forrásba, ha a rendszer betelt. Az eddigiek alapján könnyű látni, hogy a rendszer viselkedése λk = (n − k) ,
( kµ , µk = rµ ,
0 ≤ k < K,
1 ≤ k ≤ r, r
intenzitású születési-halálozási folyamattal írható le. Ez magában foglalja az eddig vizsgált rendszereket, hiszen 1 ≤ r ≤ n, r ≤ K ≤ n. Az irodalomban kevésbé vizsgált, de értelemszerűen módosításokkal felhasználhatjuk az eddigi módszereket, a lényegi változás a normalizáló konstansban van, vagyis P0 (n, r, K)-t úgy kell megválasztani, hogy K X
Pk (n, r, K) = 1
i=0
teljesüljön. Szintén könnyen látható, hogy n k ρ P0 (n, r, K) , k Pk (n, r, K) = n k!ρk k P0 (n, r, K) , r!rk−r
0 ≤ k < r,
r≤k≤K
Bár nincsenek zárt alakú formulák, mint az M/M/1/n/n esetben, de számítógép segítségével a rendszerjellemzők könnyen meghatározhatók. 111
Nem mutatva az r, K, n paramétereket N=
K X
kPk ,
k=0
Q=
K X
(k − r)Pk ,
r=
k=r
kPk + r
K X
k=1
r US = , r T =
r−1 X
Ut =
N , λ
n−N , n
W =
n−N E(τ ) = , n E(τ ) + T
Q , λ
E(τ ) =
Pk ,
m = n − N,
k=r
λ = µ = µr, W =T−
1 , µ
(n − N )T , N
NR = E(τ )λ.
Az eddigiekhez hasonlóan könnyű belátni, hogy az igény blokkolási valószínűsége PB (n, r, K) =
(n − K)PK (n, r, K) K X (n − i)Pi (n, r, K) i=0
= PK (n − 1, r, K) Speciálisan, ha K = n, akkor λ = λ(n − N ) = µr, melyből T =
N , λ(n − N )
E(τ ) =
1 , λ
PB = 0,
amint az várható volt. Egyszerű számolással látható, hogy
−1
(P0 (n, r, K))
−1
= (P0 (n, r, K − 1))
+
n K
K!ρK , r!rK−r
vagyis a normalizáló konstansra rekurzió írható fel a K kapacitást illetően rögzített n, r mellett r X n i −1 (P0 (n, r, r)) = ρ i i=0 induló értékkel. A rendszerhez érkező igény érkezési pillanatában az eloszlás Π∗k (n, r, K) = Pk (n − 1, r, K), 112
de ahhoz is szükség van, hogy az érkező igény bejusson a rendszerbe. Így Πk (n, r, K) =
(n − k)Pk (n, r, K) , K−1 X (n − i)Pi (n, r, K)
k = 0, . . . , K − 1
i=0
Ezért a várakozás valószínűsége PW (n, r, K) =
K−1 X
Πk (n, r, K)
k=r
fW (0) = 1 − PW (n, r, K) fW (x) =
K−1 X k=r
(rµ)(rµx)k−r+1 −rµx e · Πk (n, r, K) (k − r + 1)!
Nem nehéz belátni, hogy Πk (n, r, K) =
Pk (n − 1, r, K) , 1 − PK (n − 1, r, K)
így az eddigi lépéseket értelemszerűen ismételve fW (x) =
µrrr P (K − 1 − r, rz) P0 (n − 1) r!P (K − 1, rz) 1 − PK (n − 1, r, K)
speciálisan, ha K = n, vagyis minden igény bejöhet a rendszerbe, akkor PK (n − 1, r, K) = 0 és a jól ismert képletet nyerjük vissza. Értelemszerű módosítások után az eloszlásfüggvény FW (x) = 1 −
rr Q(K − 1 − r, r(z + µx)) P0 (n − 1, r, K) . r!P (K − 1, rz) 1 − PK (n − 1, r, K)
A Laplace-transzformált LW (s) = 1 − PW (n, r, K) +
rµ rµ + s
K
s rµ+s rr e λ Q K − 1 − r, λ P0 (n − 1, r, K) . r! P (K − 1, rz)(1 − PK (n − 1, r, K))
3.7. Az M/G/1/n/n/P S rendszer Ebben a részben egy újfajta technikát mutatunk meg, mert a kiszolgálási idők már nem lesznek exponenciális eloszlásúak így ennek következtében a működést leíró sztochasztikus folyamat nem lesz folytonos idejű, diszkrét állapotterű Markov-lánc. Az ismertetett modell Yashkov [82] cikkében található meg. Tekintsünk egy olyan számítógépes rendszert, amely egy központi egységből és n perifériaegységből áll. Mindegyik program egy igénynek felel meg, a központi egység a kiszolgáló egységeknek. Tegyük fel, hogy egy adott perifériát csak egy program használhat, és a 113
periféria-egységben eltöltött időtartamok minden programra nézve független, azonos λ paraméterű exponenciális eloszlású valószínűségi változók. Miután a program bizonyos időt eltöltött a periférián, átkerül a központi egységbe, és itt azonnal megkezdődik a kiszolgálása, amelynek igényelt időtartama ES < ∞ várható értékű, G(x) eloszlásfüggvényű és g(x) sűrűségfüggvényű S valószínűségi változó (G (0+ ) = 0). A központi egységben a programok kiszolgálása Processor Sharing (PS)-elv szerint történik, azaz hogyha a (t, t + δt) időintervallumban egyidűleg k programot szolgálnak ki, akkor az egyes jobok kiszolgálási ideje csak δt/k-val halad előre. A programok kiszolgálásuk után abba a perifériába kerülnek vissza, ahonnan érkeztek. Ebben a modellben a segédváltozók módszerét fogjuk alkalmazni a rendszert leíró sztochasztikus folyamat megadásánál. Vezessük be a következő valószínűségi változókat ν(t): a t-edik időpillanatban a CPU-nál tartózkodó igények száma, ξ1 (t), . . . , ξν(t) (t): a t-edik időpillanatban a CPU-nál tartózkodó igények eltelt kiszolgálási ideje ν(t) > 0 esetben. Látható, hogy az X(t) = ν(t); ξ1 (t), . . . , ξν(t) (t) sztochasztikus folyamat olyan Markov-folyamat, melynek állapotterét egy diszkrét komponensből és több folytonos komponensből álló vektorok alkotják. Az ilyen típusú folyamatokat szakaszonként lineáris Markov-folyamatoknak nevezzük. Meg kell jegyeznünk, hogy nagyon sok problémát ilyen folyamattal tudunk hűen leírni. Részletes tanulmányozásra ajánljuk Gnedenko–Kovalenko [23] könyvét. Legyen Pk (t, x1 , . . . , xk ) dx1 . . . dxk = P (ν(t) = k; xi ≤ ξi < xi + dxi , i = 1, . . . , k) , azaz Pk (t, x1 , . . . , xk ), k = 1, . . . , n annak a valószínűsége (sűrűségfüggvénye) , hogy a központi egységnél a t időpontban k job tartózkodik, és az egyes jobok kiszolgálásából x1 , . . . , xk hosszúságú idő telt el. Legyen δ megfelelően kicsi pozitív szám. Ekkor Pk (t, x1 , . . . , xk )- ra (k = 1, . . . , n − 1) a következő összefüggés írható fel Pk (t; x1 , . . . , xk ) = = Pk
δ δ t − δ; x1 − , . . . , xk − k k Z∞ + (k + 1)
Y k i=1
1 − G (xi ) [1 − λ (n − k) δ] + 1 − G xi − kδ
δ δ Pk+1 t − δ; x1 − , . . . , xk+1 − × k k+1
0
×
k Y i=1
δ G (xk+1 ) − G xk+1 − k+1 1 − G (xi ) · dxk+1 . δ δ 1 − G xi − k+1 1 − G xk+1 − k+1
A jobb oldal első tagja azt írja le, hogy a (t − δ, t) időintervallumban nem fejeződik be egyetlen kiszolgálás sem. A második tag pedig azt, hogy ebben az időintervallumban a k Q (k +1) egy program közül egy kiszolgálása fejeződik be. Mindkét oldalt [1 − G (xi )]-vel i=1
114
osztva, és δ → 0, t → ∞ határértéket véve kapjuk, hogy " k # 1X ∂ + λ (n − k) qk (x1 , . . . , xk ) = k i=1 ∂xi Z∞ qk+1 (x1 , . . . , xk+1 ) g (xk+1 ) dxk+1 , k = 1, . . . , n − 1, 0
ahol qk (x1 , . . . , xk ) = lim Pk (t; x1 , . . . , xk ) / t→∞
k Q
[1 − G (xi )].
i=1
P0 -ra és qn (x1 , . . . , xn )-re hasonlóan nyerjük Z∞ λnP0 =
q1 (x1 ) g (x1 ) dx1 , 0
n
1X ∂ qn (x1 , . . . , xn ) = 0. n i=1 ∂xi Ezek az egyenletek nem írják le teljesen a rendszer működését, mivel nem veszik figyelembe az esetleges ugrásszerű átmeneteket azokban a pillanatokban, amikor a programok a perifériákból a központi egységbe kerülnek. A hiányzó egyenleteket hasonlóan kapjuk meg q1 (0) = λnP0 , qk (0, x1 , . . . , xk−1 ) = λ (n − k + 1) qk−1 (x1 , . . . , xk−1 ) , k = 1, . . . , n. A kapott integro-differenciál egyenletek megoldása közvetlen helyettesítéssel adódik, nevezetesen qk (x1 , . . . , xk ) = P0 λk n!/ [(n − k)!] , és k
Pk (x1 , . . . , xk ) = P0 λk
Y n! [1 − G (xi )] , (n − k)! i=1
i = 1, . . . , n. Legyen Pk annak a stacionárius valószínűsége, hogy tetszőleges időpontban a központi egységben k program tartózkodik. Nyilvánvalóan Z∞ Pk =
Z∞ ...
0
A P0 valószínűséget a
Pk (x1 , . . . , xk ) dx1 . . . dxk = P0
n! (λES)k . (n − k)!
0 n P
Pi = 1 normalizáló feltételből kapjuk meg.
i=1
115
Az M/G/1/n/n/P S rendszerben a rendszerjellemzőket értelemszerű módosításokkal kapjuk n X (i) N= kPk (ii) U (i) =
k=1 1 λ 1 + λ
T
=
n−N , n
amelyből T =
1 N , λn−N
vagyis λ(n − N )T = N ami a Little-formula. Nyilvánvalóan, bár nincsen várakozás a teljes kiszolgálási idő, ami megegyezik a rendszerben eltöltött idővel, hosszabb mint az igényelt kiszolgálási idő. A T − E(S) a P S elvből adódik. Bár homogén esetben a tartózkodási idő átlagára különböző kiszolgálási elvek mellett is ugyanazokat az értékeket kapjuk, a szórásnégyzetük már lényegesen különbözik egymástól, ha más elvet alkalmazunk. ~ G/1/n/n/P ~ Meg lehet mutatni, hogy G/ S rendszer esetében P (i1 , . . . , ik ) = C · k!
k Y
ρij ,
ρi =
j=1
E(Si ) , E(τi )
i = 1, . . . , n.
Homogén esetben n k Pk = C · k! ρ . k
~ 3.8. A G/M/r/n/n/F IF O modell Ennek a modellnek a leírása Sztrik [63] cikkében található meg. Tekintsünk egy olyan számítógépes rendszert, amely központi egységekből, terminálokból, és jobokból áll. Minden job egy terminállal van kapcsolatban, ahol nincs várakozás. Sorok csak a központi egységeknél fordulhatnak elő. Az ilyen rendszerek elemzéséhez szintén véges forrású sorbanállási modellt használunk. Legyen a rendszerben lévő jobok száma n, és a központi egységek száma r (r ≤ n). A job bizonyos időt tölt el a terminálnál, ezután a központi egységbe kerül, ahol a job kiszolgálása azonnal megkezdődik, ha az r központi egység között van szabad, egyébként sor alakul ki. A jobokat érkezésük sorrendjében szolgálják ki, és kiszolgálási idejük azonos µ paraméterű exponenciális eloszlású valószínűségi változó. A job kiszolgálásának befejeződése után visszatér a termináljához, ahol véletlen hosszúságú ideig tartózkodik. A i-edik job terminálnál eltöltött ideje Fi (x) eloszlásfüggvénnyel és fi (x) sűrűségfüggvénnyel rendelkező τi valószínűségi változó. Továbbá feltesszük, hogy a konstrukcióban fellépő valószínűségi változók teljesen függetlenek. 116
A stacinárius eloszlás meghatározása Jelölje a ν(t) valószínűségi változó a t időpontban a terminálnál lévő jobok számát, α1 (t) , . . . , αν(t) ezeknek a joboknak az indexeit lexikografikus sorrendben, és β1 (t) , . . . , βn−ν(t) a központi egységnél lévő (kiszolgálás alatt lévő vagy sorbanálló) jobok indexeit érkezésük sorrendjében. Az Y (t) = ν (t) ; α1 (t) , . . . , αν(t) ; β1 (t) , . . . , βn−ν(t) , (t ≥ 0) folyamat csak akkor Markov-folyamat, ha az Fi (x) (i = 1, . . . , n) eloszlásfüggvények exponenciálisak. Vezessük be a ξαi (t) változót, amely azt az időt jelöli, amelyet az αi job a terminálnál eltöltött a legutolsó központi egységbeli kiszolgálása óta. Az így kapott X (t) = ν (t) ; α1 (t) , . . . , αν(t) ; ξα1 (t) , . . . , ξαν(t) ; β1 (t) , . . . , βn−ν(t) folyamat rendelkezik a Markov tulajdonsággal. Jelölje Vkn és Ckn az 1, 2, . . . , n egészek k-ad osztályú variációinak illetve a kombinációinak lexikografikusan rendezett halmazát. Ekkor az (X (t) , t ≥ 0) folyamat állapottere az olyan (i1 , . . . , ik ; x1 , . . . , xk ; j1 , . . . , jn−k ) pontokból áll, ahol (i1 , . . . , ik ) ∈ Ckn , (j1 , . . . , jn−k ) ∈ Vkn , xi ∈ R+ , i = 0, 1, . . . , k, k = 0, 1, . . . , n. Az X(t) folyamat akkor van az (i1 , . . . , ik ; x1 , . . . , xk ; j1 , . . . , jn−k ) állapotban, ha az (i1 , . . . , ik ) indexű jobok már (x1 , . . . , xk ) ideje vannak a termináloknál, és (j1 , . . . , jn−k ) a központi egységnél lévő jobok indexe érkezési sorrendben. A Kolmogorov-egyenletek levezetéséhez szükségünk van tetszőleges (t, t + h) intervallumban lejátszódó átmenetek vizsgálatára. Az átmeneti valószínűségeket a következő módon adhatjuk meg 0 ≤ n − k < r esetére. P [X (t + h) = (i1 , . . . , ik ; x1 + h, . . . , xk + h; j1 , . . . , jn−k ) | X (t) = (i1 , . . . , ik ; x1 , . . . , xk ; j1 , . . . , jn−k )] = (1 − (n − k) µh)
k Y 1 − Fil (xl + h) + o (h) , 1 − F il (xl ) l=1
P [X (t + h) = (i1 , . . . , ik ; x1 + h, . . . , xk + h; j1 , . . . , jn−k ) | 0
0
0
0
0
0
X (t) = (i1 , . . . , jn−k , . . . , ik ; x1 , . . . , y , . . . , xk ; j1 , . . . , jn−k−1 )] k
fjn−k (y) h Y 1 − Fil (xl + h) + o (h) , = 1 − Fjn−k (y) l=1 1 − Fil (xl ) 117
0
0
0
ahol (i1 , . . . , jn−k , . . . , ik ) az (i1 , . . . , ik , jn−k ) indexeket jelöli lexikografikus sorrendben, és 0 0 (x1 , . . . , y , . . . , xk ) a megfelelő időket. Ha r ≤ n − k ≤ n akkor az átmeneti valószínűségek a következők P [X (t + h) = (i1 , . . . , ik ; x1 + h, . . . , xk + h; j1 , . . . , jn−k ) | X (t) = (i1 , . . . , ik ; x1 , . . . , xk ; j1 , . . . , jn−k )] k Y 1 − Fil (xl + h) + o (h) , = (1 − rµh) 1 − Fil (xl ) l=1
h P X (t + h) = (i1 , . . . , ik ; x1 + h, . . . , xk + h; j1 , . . . , jn−k ) | 0 i 0 0 0 X (t) = i1 , . . . , jn−k , . . . , ik ; x1 , . . . , y , . . . , xk ; j1 , . . . , jn−k−1 = k
fjn−k (y) h Y 1 − Fil (xl + h) = + o (h) , 1 − Fjn−k (y) l=1 1 − Fil (xl ) Vezessük be a következő függvényeket Q0;j1 ,...,jn (t) = P (ν (t) = 0; β1 (t) = j1 , . . . , βn (t) = jn ) , Qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ; t) = P (ν (t) = k; α1 (t) = i1 , . . . , αk (t) = ik ; ξi1 ≤ x1 , . . . , ξik ≤ xk ; β1 (t) = j1 , . . . , βn−k (t) = jn−k ) . Legyen λi a következőképpen definiálva: 1/λi = E(τi ). 5. Tétel. Ha 1/λi < ∞, i = 1, . . . , n, akkor az (X (t) , t ≥ 0) folyamatnak van egyértelmű ergodikus ( stacionárius ) eloszlása, amely független a kezdeti feltételektől, azaz Q0;j1 ,...,jn = lim Q0;j1 ,...,jn (t) , t→∞
Qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) = lim Qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ; t) . t→∞
A tétel bizonyítása Gnedenko–Kovalenko [23] könyvének 211. oldalán található tételből következik. A tétel biztosítja a következő határértékek létezését, és egyértelműségét qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) dx1 . . . dxl = = P (ν (t) = k; α1 (t) = i1 , . . . , αk (t) = ik ; xl ≤ ξil < xl + dxl , l = 1, . . . , k; β1 (t) = j1 , . . . , βn−k (t) = jn−k ) ,
k = 1, . . . , n
ahol qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) jelöli az (i1 , . . . , ik ; x1 , . . . , xk ; j1 , . . . , jn−k ) állapotok sűrűségfüggvényét, ha t → ∞. Feltesszük, hogy rögzített k-ra az ergodikus eloszlásoknak 118
létezik a sűrűségfüggvénye. Ehhez elegendő feltenni, hogy az Fi (x)-nek van sűrűségfüggvénye. Vezessük be a qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) q˜i1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) = (1 − Fi1 (x1 )) . . . (1 − Fik (xk )) ún. normált sűrűségfüggvényeket ! 6. Tétel. A fenti normált sűrűségfüggvények kielégítik a (3.1), (3.3) integro-differenciálegyenleteket a (3.2), (3.4) határfeltételek mellett. ∗ ∂ ∂ + ... + (3.1) q˜i1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) ∂x1 ∂xk = − (n − k) µ˜ qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) + Z∞ +
q˜
0 0 0 i1 ,...,jn−k ,...,ik ;j1 ,...,jn−k−1
0
0
0
x1 , . . . , y , . . . , xk fjn (y) dy,
0
q˜i1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xl−1 , 0, xl+1 , . . . , xk ) = X q˜i1 ,...,il−1 ;il+1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xl−1 , xl+1 , . . . , xk )
(3.2) =µ i
Vj l ,...,j 1
n−k
l = 1, . . . , k, 0 ≤ n − k < r esetén, (3.3)
∂ ∂ + ... + ∂x1 ∂xk
∗ q˜i1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) =
= −rµ˜ qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) + Z∞ +
0
q˜i0 ,...,j 0 1
0 n−k ,...,ik ;j1 ,...,jn−k−1
0
0
(x1 , . . . , y , . . . , xk )fjn (y)dy
0
q˜i1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xl−1 , 0, xl+1 , . . . , xk ) = X q˜i1 ,...,il−1 ;il+1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xl−1 , xl+1 , . . . , xk ) ,
(3.4) =µ i
Vj l ,...,j 1
r−1
l = 1, . . . , k, r ≤ n − k < n − 1 esetén, valamint
Z∞ rµQ0;j1 ,...,jn =
q˜jn ;j1 ,...,jn−1 (y)fjn (y) dy. 0
∗
A [ ] jelentése a bizonyításban szerepel, és n Vji1l,...,js = [(il , j1 , . . . , js ) , (j1 , il , j2 , . . . , js ) , . . . , (j1 , . . . , js , il )] ∈ Vs+1 .
119
Bizonyítás: Mivel (X (t) , t ≥ 0) Markov-folyamat, ezért sűrűségfüggvényei kielégítik a Kolgomorov-Chapman egyenleteket. Tekintsük a folyamatot rövid h ideig. Ekkor a következő összefüggések igazak: qi1 ,...,ik ;j1 ,...,jn−k (x1 + h, . . . , xk + h) = k Y 1 − Fil (xl + h) + = qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) (1 − (n − k) µh) 1 − F il (xl ) l=1 ∞
Z k 0 Y 1 − Fil (xl + h) 0 0 0 0 0 + + q˜i ,...,j ,...,i ;j1 ,...,jn−k−1 x1 , . . . , y . . . , xk × 1 n−k k 1 − Fil (xl ) l=1 0
0
×
fjn−k (y) h 1 − Fjn−k (xl )
dy + o (h) ,
qi1 ,...,ik ;j1 ,...,jn−k (x1 + h, . . . , xl−1 + h, 0, xl+1 + h, . . . , xk + h) h = = o (h) +
k Y 1 − Fis (xs + h) × 1 − F (x ) i s s s=1 s6=l
X
×µh
q˜i1 ,...,il−1 ;il+1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xl−1 , xl+1 , . . . , xk )
i Vj l ,...,j 1 n−k
0 ≤ n − k < r, l = 1, . . . , k esetén. Hasonlóan qi1 ,...,ik ;j1 ,...,jn−k (x1 + h, . . . , xk + h) = k Y 1 − Fil (xl + h) = qi1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) (1 − rµh) + 1 − Fil (xl ) l=1 ∞
Z k 0 Y 1 − Fil (xl + h) 0 0 q˜i0 ,...,j 0 ,...,ie0 ;j1 ,...,jn−k−1 x1 , . . . , y , . . . , xk × + 1 n−k k 1 − Fil (xl ) l=1 0
0
×
fjn−k (y) h 1 − Fjn−k (xl )
dy + o (h) ,
qi1 ,...,ik ;j1 ,...,jn−k (x1 + h, . . . , xl−1 + h, 0, xl+1 + h, . . . , xk + h) h = k Y 1 − Fis (xs + h) = o (h) + × 1 − F (x ) i s s s=1 s6=l
X
×µh
q˜i1 ,...,il−1 ;il+1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xl−1 , xl+1 , . . . , xk )
i
Vj l ,...,j 1
n−k
0 ≤ n − k < r, l = 1, . . . , k esetén. Végül Q0;j1 ,...,jn = Q0;j1 ,...,jn (1 − rµh) + 120
Z∞ +
q˜jn ;j1 ,...,jn−1 (y) 0
fjn (y) h dy + o (h) . 1 − Fjn (y)
Ezekből az összefüggésekből a tétel állítását könnyen megkaphatjuk. A felírt összefüggések k Q bal oldalát (1 − Fil (xl + h))-val osztva, és figyelembe véve a normált sűrűségfüggvény l=1
definícióját, és h → 0 határértéket véve kapjuk a tétel állítását. A tétel (3.1)(3.3) egyenlőségeinek bal oldalán a parciális differenciálhányados szokásos jelölését használtuk fel. Ezt általában nem tehetjük meg, mivel a parciális differenciálhányados létezését nem tettük fel. Ezért használtuk a [ ]∗ jelölést. Valójában [ ]∗ az (1, 1, . . . , 1) ∈ Rk iránymenti deriváltat jelenti. A Q0;j1 ,...,jn , Qi1 ,...,ik ;j1 ,...,jn−k , (i1 , . . . , ik ) ∈ Ckn ,
N , (j1 , . . . , jn−k ) ∈ Vn−k
k = 1, . . . , n.
ergodikus eloszlás meghatározásához meg kell oldani a(3.1)(3.3) egyenleteket a (3.2)(3.4) határfeltételek mellett. Legyen Q0;j1 ,...,jn = c0 , q˜i1 ,...,ik ;j1 ,...,jn−k (x1 , . . . , xk ) = ck ,
k = 1, . . . , n.
Ekkor behelyettesítéssel ellenőrizhető, hogy kielégítik az (1), (3) egyenleteket a (2), (4) határfeltételek mellett, és ezek a ck értékek rekurzióval kifejezhetők cn függvényében. Nevezetesen −1 ck = r!rn−r−k µn−k cn , 0 ≤ k ≤ n − r, −1 ck = (n − k)!µn−k cn , n − r ≤ k ≤ n. Ezek az egyenletek teljesen leírják a rendszer működését. Jelölje Qi1 ,...,ik ;j1 ,...,jn−k annak a stacionárius valószínűségét, hogy a termináloknál az (i1 , . . . , ik ) indexű jobok vannak, és a központi egységnél lévő jobok indexei érkezési sorrendben (j1 , . . . , jn−k ). Továbbá Qi1 ,...,ik jelölje annak a stacionárius valószínűségét, hogy az (i1 , . . . , ik ) indexű jobok tartózkodnak a termináloknál. Ezek után könnyen igazolható, hogy Qi1 ,...,ik ;j1 ,...,jn−k = (λi1 , . . . , λik )−1 ck ,
k = 1, . . . , n.
A ck -ra kapott összefüggést felhasználva kapjuk, hogy Qi1 ,...,ik = (n − k)! r!rn−r−k µn−k λi1 , . . . , λik (i1 , . . . , ik ) ∈ Ckn ,
−1
k = 0, 1, . . . , n − r.
Hasonlóan Qi1 ,...,ik = µn−k λi1 , . . . , λik (i1 , . . . , ik ) ∈ Ckn ,
−1
cn ,
k = n − r, . . . , n. 121
cn ,
ˆ k és Pˆl annak a stacionárius valószínűségét, hogy a termináloknál k, illetve a Jelölje Q központi egységeknél l job tartózkodik. Ekkor világos, hogy ˆ n, Qi1 ,...,in = Q1,...,n = Q ˆ k = Pˆn−k , Q
k = 0, . . . , n.
Könnyen belátható, hogy ˆ n (λ1 , . . . , λn ) , cn = Q X ˆk = Q Qi1 ,...,ik , (i1 ,...,ik )∈Ckn n ˆn a P Q ˆ k = 1 normalizáló feltételéből határozható meg. ahol Q k=0
Homogén esetben a következő eredményekhez jutunk ˆk = Q
n−k λ n! ˆ n, Q n−k−r r!k!r µ
ˆk = Q
n−k n λ ˆ n, Q k µ
ha 0 ≤ k ≤ n − r,
ha n − r ≤ k ≤ n.
Ezért k n λ ˆ P0 , ha 0 ≤ k ≤ r, k µ k n! λ ˆ ˆ P0 , ha r ≤ k ≤ n. Pk = k−r r!(n − k)!r µ Pˆk =
Ezek az eredmények megegyeznek az < M/M/r/n/n > modell stacionárius valószínűségeire kapott képletekkel. Látható, hogy ezek az Fi (x) eloszlásfüggvény alakjától nem függnek, csak az 1/λi várható értékektől.
Rendszerjellemzők • A terminálok kihasználtsága Jelölje Q(i) annak a stacionárius valószínűségét, hogy az i-edik job a terminálnál tartózkodik, vagyis n X X (i) Q = Qi1 ,...,ik . k=1 i∈(i1 ,...,ik )∈Ckn
Nyilvánvalóan az i-edik terminál kihasználtsága U (i) = Q(i) . 122
• A CPU-k kihasználtsága Az eddigiekhez hasonlóan egy konkrét CPU kihasználtsága ! r n X 1 X ˆ r¯ UCP U = k Pk + r Pˆk = , r k=1 r k=r+1 ahol r a foglalt CPU-k átlagos számát jelöli. Így a CPU-k összkihasználtsága r¯. • átlagos várakozási és tartózkodási idők ¯ i + 1/µ −1 . Q(i) = (1/λi ) 1/λi + W Így az i-edik job átlagos várakozási ideje: (i) ¯i = 1 · 1 − Q − 1, W λi Q(i) µ
i = 1, . . . , n.
Az i-edik job központi egységnél eltöltött átlagos T¯i ideje ( várakozással és kiszolgálással eltöltött idő ) ¯ i + 1/µ = 1 − Q(i) T¯i = W Mivel
n X
λi Q(i)
−1
,
i = 1, . . . , n.
¯, 1 − Q(i) = N
i=1
¯ jelöli a központi egységnél levő jobok átlagos számát, megkapjuk a ahol N ~ G/M/r/n/n/F IF O > modellre vonatkozó Little-formulát n X
¯. λi T¯i Q(i) = N
i=1
Meg kell jegyeznünk, hogy a gépkiszolgálási probléma terminológiáját használva U (i) az ¯ i , T¯i az i-edik gép várakozási ill. rossz állapotban való átlai-edik gép kihasználtságát, W gos tartózkodási idejét adja. A modell tovább általánosítható oly módon, hogy pl. a kiszolgálási intenzitások függnek a rendszer állapotától, lásd Sztrik [64, 65].
123
124
II. rész Feladatgyűjtemény
125
4. fejezet Végtelen-forrású rendszerek 1. Feladat. Oldjuk meg a λP0 = µP1 (λ + µ)Pn = λPn−1 + µPn+1 , n ≥ 1 egyenletrendszert differencia-egyenletek segítségével! Megoldás: Látható, hogy az iménti egyenlet átírható a λPn−1 − (λ + µ)Pn + µPn+1 = 0, n = 1, 2, . . . formába, amely tekinthető egy konstans együtthatós másodrendű differencia-egyenletnek. Ennek általános megoldása Pn = c1 xn1 + c2 xn2 , n = 1, 2, . . . ahol x1 , x2 megoldása a µx2 − (λ + µ)x + λ = 0 egyenletnek. Könnyen kiszámítható, hogy x1 = 1, x2 = % és így Pn = c1 + c2 %n , n = 1, 2, . . . . Azonban P1 = %P0 , így mivel
P∞
n=0
Pn = 1, c1 = 0 és c2 = P0 = 1 − %.
2. Feladat. M/M/1 rendszer esetén a stacionárius állapotegyenletek segítségével határozzuk meg a rendszerben tartózkodó igények generátorfüggvényét, majd ebből az eloszlást! Megoldás: Kiindulva a λP0 = µP1 (λ + µ)Pn = λPn−1 + µPn+1 , n ≥ 1 127
egyenletekből si tényezővel megszorozva majd az egyenleteket összeadva kapjuk, hogy λGN (s) + µGN (s) − µP0 = λsGN (s) +
µ µ GN (s) − P0 . s s
Ebből
GN (s) λ(1 − s) + µ 1 − 1 GN (s) µ 1 − − λs 1 − s
1 1 =µ 1− P0 , s s 1 1 =µ 1− P0 , s s µ GN (s) = P0 . µ − λs
Mivel GN (1) = 1, ezért P0 =
µ−λ = 1 − %. µ
Vagyis GN (s) =
1−% , 1 − s%
ami éppen az (1−%) paraméterű módosított geometriai eloszlás generátorfüggvénye, amit könnyű ellenőrizni, hiszen P (N = k) = (1 − %)%k , k = 0, . . . esetén GN (s) =
∞ X
sk (1 − %)%k =
k=0
1−% . 1 − s%
3. Feladat. Határozzuk meg most GQ (s)-t is! Megoldás: Nyilván 0
GQ (s) = (P0 + P1 )s +
∞ X
s
k−1
Pk = P 0 +
k=2
=1−%+%
∞ X
∞ X
s
k−1
Pk = 1 − % +
k=1
∞ X
sk−1 %k (1 − %)
k=1
si (1 − %)%i = 1 − % + %GN (s) = 1 − %(1 − GN (s)).
i=0
Ellenőrzésképpen G0Q (1) = %G0N (1) =
%2 . 1−%
4. Feladat. M/M/1 esetben határozzuk meg a T és W Laplace-transzformáltját! 128
Megoldás: Könnyű látni, hogy k+1 k ∞ ∞ X µ X µ% µ k % (1 − %) = (1 − %) LT (s) = µ+s µ + s k=0 µ + s k=0 = (1 − %)
1 µ µ+s µ(1 − %) µ = , µ% = (1 − %) µ + s 1 − µ+s µ + s µ(1 − %) + s µ(1 − %) + s
amit vártunk, hiszen T µ(1 − %) paraméterű exponenciális eloszlást követ. k k ∞ ∞ X X µ µ k LW (s) = % (1 − %) = 1 − % + %k (1 − %) µ + s µ + s k=0 k=1
=1−%+
%µ(1 − %) , µ(1 − %) + s
ami láthatóan nem más, mint LT (s) µ µ+s
hiszen LT (s) = LW (s)
µ . µ+s
Számolás útján is megmutatható, hogy LW (s) = LT (s)
µ+s µ(1 − %) µ + s µ(1 − %) = =1−%+% . µ µ(1 − %) + s µ µ(1 − %) + s
Ebből T és W ellenőrzésképpen kiszámítható. L0T (0) = −
1 , µ(1 − %)
L0W (0) = %L0T (0) = −
% , µ(1 − %)
így T =
1 % ,W = , µ(1 − %) µ(1 − %)
amit korábban is kaptunk.
5. Feladat. Mutassuk meg, hogy egy M/M/1/K-rendszer esetén lim N (K) =
K→∞
ρ , 1−ρ
. 129
ρ<1
Megoldás: Közismert, hogy ρ < 1 esetén lim ρK = 0.
K→∞
Mivel N =
ρ(1−(K+1)ρK +KρK+1 ) , (1−ρ)(1−ρK+1 )
ezért elegendő megmutatni, hogy lim KρK = 0.
K→∞
Ezt a L’Hospital-szabály alkalmazásával bizonyítjuk be. K ∞ = K→∞ ρ−K ∞ K 1 ρK lim −K = lim = 0. = K→∞ ρ K→∞ −lnρρ−K −lnρ lim
6. Feladat. Mutassuk meg, hogy egy M/M/1/K-rendszer esetén az 1−
LT (s) =
λ µ+s
K
µP0 1 − PK µ − λ + s
Laplace-transzformáltra igaz, hogy LT (0) = 1! Megoldás: LT (0) =
P0 1 − ρ K µP0 1 − ρK = 1 − PK µ − λ 1 − PK 1 − ρ
= 1
1−ρ 1−ρK+1 K − ρ1−ρ(1−ρ) K+1
·
1 − ρK 1−ρ
1−ρ 1 − ρK+1 1 − ρK · · 1 − ρK+1 1 − ρK+1 − ρK + ρK+1 1 − ρ = 1.
=
7. Feladat. M/M/1/K rendszer esetén a Laplace-transzformált segítségével határozzuk meg a T -t! Megoldás: 1−
LT (s) =
λ µ+s
K
µP0 1 − PK µ − λ + s 130
képletből kiindulva
L0T (s)
K µP0 = 1 − PK
µ+s −(K+1) λ
K λ · − λ + s) − 1 − µ+s (µ − λ + s)2 1 (µ λ
K Kρ − 1 + ρ − 1 µP0 L0T (0) = 1 − PK (µ − λ)2 1 P0 ρ K+1 K = Kρ −1 +ρ −1 λ(1 − PK )(1 − ρ)2 ρ 1 ρP0 (KρK − KρK+1 + ρK − 1) = · λ(1 − PK ) (1 − ρ)2 ρP0 ((K + 1)ρK − KρK+1 − 1) 1 = λ(1 − PK ) (1 − ρ)2 N =− , λ(1 − PK )
K+1
1 ρ
vagyis T =
N , λ(1 − PK )
amit korábban kaptunk. Hosszadalmasabb számolással a magasabb momentumok is megadhatók. 8. Feladat. Tekintsünk egy 2 csomópontból álló zárt sorbanállási hálózatot, amelyben K igény tartózkodik! Tegyük fel, hogy mindkét helyben a kiszolgálási idők µ1 illetve µ2 paraméterű exponenciális eloszlású valószínűségi változók. Határozzuk meg mindkét helyben a rendszer jellemzőit! Megoldás: Könnyű észrevenni, hogy a két csomópont teljesen hasonlóan működik és tekinthető M/M/1/K típusú sorbanállási rendszernek. Ennek megfelelően számíthatók ki a rendszerjellemzők ρ2 = µµ21 illetve ρ1 = µµ21 paraméterekkel. Az is látható, hogy US (1)µ1 = US (2)µ2 , ahol US (i), i = 1, 2 a csomópont kiszolgáló egységének a kihasználtsága. 9. Feladat. M/M/n/n esetén határozzuk meg a generátorfüggvényt! Megoldás: GN (s) =
n X k=0
s
k%
k
k!
P0 =
n X (s%)k k=0
k! 131
e−s% P0 es% = e−%(1−s)
Q(n, s%) . Q(n, %)
Ellenőrzésképpen számítsuk ki T − t! N = G0N (1), ezért G0N (s) = %e−%(1−s)
%P (n, %s) Q(n, %s) − e−%(1−s) . Q(n, %) Q(n, %)
Így G0N (1) = % − %B(n, %) = %(1 − B(n, %)), amit már megmutattunk.
10. Feladat. Határozzuk meg az M/M/n/n rendszernél D2 (N )-t! Megoldás: D2 (N ) = E(N 2 ) − (E(N ))2 miatt először az E(N 2 )-t számítjuk ki. 2
E(N ) =
n X k=1 n X
2
k Pk =
n X
(k(k − 1) + k)Pk =
k=1
n X
k(k − 1)Pk +
k=1
n X
kPk
k=1
n−2
X %i %k %2 P0 + E(N ) k(k − 1) P0 + E(N ) = = k! i! i=0 k=2 n 2 2 + E(N ). = % (1 − Pn − Pn−1 ) + E(N ) = % 1 − Pn 1 + % Mivel E(N ) = %(1 − B(n, %)), ezért n )) − (%(1 − B(n, %)))2 + E(N ) % % + n )) − (%(1 − B(n, %)))2 + E(N ) = %2 (1 − B(n, %)( % = %2 − %2 B(n, %) − n%B(n, %) − %2 − %2 B 2 (n, %) + 2%2 B(n, %) + E(N ) = E(N ) + %2 B(n, %) − n%B(n, %) − %2 B 2 (n, %) = E(N ) − %B(n, %)(n − %(1 − B(n, %))) = E(N ) − %B(n, %)(n − E(N )).
D2 (N ) = %2 (1 − B(n, %)(1 +
11. Feladat. Mutassuk meg, hogy B(m, a) mindig monoton csökkenő sorozat és határértéke 0! Megoldás: B(m, a) =
aB(m − 1, a) a < , m + aB(m − 1, a) m
ezért m növekedésével 0-hoz tart. A monoton csökkenés azzal ekvivalens, hogy B(m, a) − B(m − 1, a) < 0, ∀m-re 132
vagyis aB(m − 1, a) − B(m − 1, a) < 0 m + aB(m − 1, a) B(m − 1, a)(a − m − aB(m − 1, a)) <0 m + aB(m − 1, a) a − m − aB(m − 1, a) < 0 a−m B(m − 1, a) > , a ami automatikusan teljesül, ha a ≤ m. Ugyanakkor 1 ≥ B(m−1, a) ≥ 0 miatt 1 ≥ a−m ≥ 0, a melyből a ≥ m,m ≥ 0, vagyis 0 ≤ m ≤ a adódik. Ez együtt az jelenti, hogy ∀m-re B(m, a) monoton csökkenő sorozat, ami várható volt, hiszen ha a kiszolgálók számát növeljük, akkor az igényvesztés valószínűségének csökkeni kell. 12. Feladat. Keressünk a C(m, a)-formulára rekurziót! Megoldás: Legyen a = µλ , ekkor a C(m, a) =
1−
B(m, a) − B(m, a))
a (1 m
segítségével C(m, a)-ra rekurziót tudunk felírni, hiszen B(m, a)-ra is van. Ezért az eljárás az lesz, hogy megmutatjuk, hogy B(m−1, a) hogyan fejezhető ki C(m−1, a) segítségével, majd a aB(m − 1, a) B(m, a) = m + aB(m − 1, a) rekurzióba behelyettesítve kapjuk meg a kívánt formulát. Fejezzük ki először B(m, a)-t C(m, a) segítségével, vagyis C(m, a) =
mB(m, a) m − a(1 − B(m, a))
(m − a)C(m, a) , m − aC(m, a) ami pozitív mert m > a az M/M/m rendszer stabilitása miatt, és azt mutatja, hogy C(m, a)(m − a) + C(m, a)aB(m, a) = mB(m, a) azaz B(m, a) =
B(m, a) < C(m, a), ami várható volt a probléma jellegéből adódóan. Ezért B(m − 1, a) =
(m − 1 − a)C(m − 1, a) , m − 1 − aC(m − 1, a)
és m − 1 > a kell, hogy legyen! Először C(m, a)-t kifejezzük B(m − 1, a) segítségével, majd elvégezzük a behelyettesítést. Ezért C(m, a) = =
m−
aB(m−1,a) m m+aB(m−1,a) aB(m−1,a) a 1 − m+aB(m−1,a)
=
m−a
amB(m−1,a) m+aB(m−1,a) m+aB(m−1,a)−aB(m−1,a) m+aB(m−1,a)
aB(m − 1, a) aB(m − 1, a) = . m + aB(m − 1, a) − a m − a(1 − B(m − 1, a)) 133
Ide behelyettesítjük a C(m − 1, a)-t. Írjuk fel egyszerűbben a számlálót és a nevezőt. (m − 1 − a)C(m − 1, a) m − 1 − aC(m − 1, a) (m − 1 − a)C(m − 1, a) N =m−a 1− m − 1 − aC(m − 1, a) m − 1 − aC(m − 1, a) − (m − 1)C(m − 1, a) + aC(m − 1, a) =m−a m − 1 − aC(m − 1, a) (m − 1)(1 − C(m − 1, a)) =m−a m − 1 − aC(m − 1, a) m(m − 1) − maC(m − 1, a) − a(m − 1)(1 − C(m − 1, a)) = m − 1 − aC(m − 1, a) m(m − 1) − a(m − 1) − aC(m − 1, a) = m − 1 − aC(m − 1, a) (m − 1)(m − a) − aC(m − 1, a) . = m − 1 − aC(m − 1, a) SZ = a
Ezért
a(m − 1 − a)C(m − 1, a) , (m − 1)(m − a) − aC(m − 1, a) és C(1) = a kezdőértékből kiindulva a várakozás valószínűségét rekurzive meghatározhatjuk. Ez azért fontos, mert a rendszerjellemzők ettől a mennyiségtől függnek. Látható, hogy a(m − 1 − a)C(m − 1, a) C(m, a) < (m − 1)(m − a) − a ezért megmutatjuk, hogy a(m − 1 − a) < 1, (m − 1)(m − a)a melyből C(m, a) < C(m − 1, a), C(m, a) =
ami várható volt. a(m − 1 − a) < (m − 1)(m − a) − a m − m − ma + a − a − am + a + a2 > 0 m2 − (1 + 2a)m + a + a2 > 0 p 1 + 2a ± (1 + 2a)2 − 4(a2 + a) m1,2 = 2 √ 1 + 2a ± 1 + 4a2 + 4a − 4a2 − 4a m1,2 = 2 1 + 2a ± 1 m1,2 = 2 vagyis ha m > a + 1 akkor a parabola értékei pozitívak, ami teljesül hiszen m − 1 > a a stabilitás feltétele volt. Könnyű látni, hogy a 2
C(m, a) =
1−
B(m, a) − B(m, a))
a (1 m
134
összefüggésből limm→∞ C(m, a) = 0, ami várható volt. Ezt közvetlenül a %m m C(m, %) = P0 (m) m! m − % képletből is láthatjuk, hiszen %m m = 0, m→∞ m! m − %
lim P0 (m) = e−% , lim
m→∞
ami szintén várható volt, hiszen a végtelen kiszolgálós rendszerekben nincs igényvesztés.
13. Feladat. Ellenőrizzük, hogy az M/M/r-rendszerre kapott eloszlásfüggvény az r = 1 esetben az M/M/1 esetben megismert összefüggést adja! Megoldás: −µx
P (T > x) = e
1 − e−µ(r−1−%)x 1 + C(n, %) r−1−%
−µx
=e
1 − eµ%x 1+% −%
= e−µx (1 − 1 + eµ%x ) = e−µ(1−%)x . Így FT (x) = 1 − e−µ(1−%)x .
14. Feladat. Mutassuk meg, hogy az M/G/1 rendszer esetén lim GN (z) = 1! z→1
Megoldás: lim GN (z) = lim (1 − ρ)LS (λ − λz) ·
z→1
z→1
z−1 0 = , z − LS (λ − λz) 0
ezért alkalmazzuk a L’Hospital szabályt. Könnyű látni, hogy z−1 1 1 = lim = , 0 z→1 z − LS (λ − λz) z→1 1 + λL (λ − λz) 1−ρ S lim
és ebből lim GN (z) = lim (1 − ρ)LS (λ − λz) · lim
z→1
z→1
z→∞
z−1 1−ρ = = 1. z − LS (λ − λz) 1−ρ
15. Feladat. Mutassuk meg, hogyha egy M/G/1-rendszer esetében R a hátramaradt kiS (t) szolgálási időt jelöli, akkor LR (t) = 1−L ! t·E(S) 135
Megoldás: Z∞ LR (t) =
e−tx
0
1 − FS (x) dx. E(S)
Parciális integrálással e−tx 1 − FS (x) LR (t) = − t E(S)
Z∞
∞ + 0
0
e−tx (−f (x)) 1 − LS (t) dx = . t E(S) tE(S)
Ellenőrizzük a lim LR (t) = 1 határértéket! Látható, hogy t→0
lim LR (t) = lim t→0
t→∞
0 1 − LS (t) = , tE(S) 0
ezért L’Hospital-szabályt alkalmazunk. Így −L0S (t) E(S) = = 1. t→0 E(S) E(S)
lim LR (t) = lim t→0
16. Feladat. Az LR (t) segítségével mutassuk meg, hogy ha S ∈ Exp(µ), akkor R ∈ Exp(µ)! Megoldás: µ 1 − µ+t 1 − LS (t) µ = , LR (t) = = t tE(S) µ+t µ
így R ∈ Exp(µ).
17. Feladat. Az M/G/1-re vonatkozó formulákból M/M/1 rendszerre származtassuk a megfelelő formulákat! Megoldás: Ebben az esetben LS (t) =
µ , µ+t
ezért a tartózkodási idő Laplace-transzformáltja 136
t(1 − ρ) t − λ + λLS (t) t(1 − ρ) µ = λµ µ + t t − λ + µ+t
LT (t) = LS (t)
t(1 − ρ)(µ + t) µ µ + t µt + t2 − λµ − λt + λµ µ−λ µ(1 − ρ) t(µ − λ) = = , = t(t + µ − λ) t+µ−λ µ(1 − ρ) + t =
vagyis T ∈ Exp(µ(1 − ρ)), mint láttuk. A rendszerben tartózkodó igények generátorfüggvénye (1 − ρ)(1 − z) LS (λ − λz) − z µ (1 − ρ)(1 − z) = · µ λ − λz + µ −z λ−λz+µ
GN (z) = LS (λ − λz)
µ (1 − ρ)(1 − z)(λ − λz + µ) · λ − λz + µ µ − λz + λz 2 − µz µ(1 − ρ)(1 − z) µ(1 − ρ) 1−ρ = = = , µ(1 − z) − λz(1 − z) µ − λz 1 − ρz =
mint láttuk az M/M/1 esetben. Az átlagos várakozási és tartózkodási idők ρE(S) 1 + CS2 ρ 1+1 ρ · = · = , 1−ρ 2 µ(1 − ρ) 2 µ(1 − ρ) 1 1 ρ 1 +1 = . T =W+ = µ µ 1−ρ µ(1 − ρ)
W =
Most vizsgáljuk meg a szórásnégyzeteket! 2 λ µ3!3 λE(S 3 ) ρ E(W ) = 2(W ) + =2 + 3(1 − ρ) µ(1 − ρ) 3(1 − ρ) 2 2 ρ 2λ 2µρ + 2λ(1 − ρ) =2 2 + 3 = 2 µ (1 − ρ) µ (1 − ρ) µ3 (1 − ρ)2 2λρ + 2λ − 2λρ 2λ = = 3 , 3 2 µ (1 − ρ) µ (1 − ρ)2 2
2
így 2 2λ ρ D (W ) = 3 − µ (1 − ρ)2 µ(1 − ρ) 2 2λ − µρ 2λ − λρ (2 − ρ)ρ = 3 = 3 = 2 , 2 2 µ (1 − ρ) µ (1 − ρ) µ (1 − ρ)2 2
137
mint láttuk. Továbbá (2 − ρ)ρ D (T ) = D (W ) + D (S) = 2 + µ (1 − ρ)2 2
2
2
2 1 µ
2ρ − ρ2 + 1 − 2ρ + ρ2 1 = = 2 = 2 2 µ (1 − ρ) µ (1 − ρ)2
λ3 E(S 3 ) D (N ) = + 3(1 − ρ) 2
= = = = = =
λ3 µ3!3
λ2 E(S 2 ) 2(1 − ρ)
2
λ2 µ22
!2
+
1 µ(1 − ρ)
2 .
λ2 (3 − 2ρ)E(S 2 ) + ρ(1 − ρ) 2(1 − ρ) λ2 (3 − 2ρ) µ22
+ + ρ(1 − ρ) 2(1 − ρ) 2(1 − ρ) 2 2 2λ3 ρ ρ2 (3 − 2ρ) + + + ρ(1 − ρ) µ3 (1 − ρ) 1−ρ 1−ρ 2ρ3 ρ4 ρ2 (3 − 2ρ) + + + ρ(1 − ρ) 1 − ρ (1 − ρ)2 1−ρ 2ρ3 (1 − ρ) + ρ4 + ρ2 (1 − ρ)(3 − 2ρ) ρ(1 − ρ)3 + (1 − ρ)2 (1 − ρ)2 2ρ3 − 2ρ4 + ρ4 + 3ρ2 − 2ρ3 − 3ρ3 + 2ρ4 + ρ + 3ρ3 − 3ρ2 − ρ4 (1 − ρ)2 ρ , (1 − ρ)2 3(1 − ρ)
+
mint láttuk korábban. Végül λ3 E(S 3 ) D (Q) = + 3(1 − ρ) 2
=
λ3 µ3!3 3(1 − ρ)
+
λ2 E(S 2 ) 2(1 − ρ)
2
λ2 µ22
!2
2(1 − ρ)
+ +
λ2 E(S 2 ) 2(1 − ρ) λ2 µ22 2(1 − ρ)
2ρ3 ρ4 ρ2 2(1 − ρ)ρ3 + ρ4 + ρ2 (1 − ρ) + + = 1 − ρ (1 − ρ)2 1 − ρ (1 − ρ)2 2ρ3 − 2ρ4 + ρ4 + ρ2 − ρ3 ρ3 − ρ4 + ρ2 ρ2 (1 + ρ − ρ2 ) = = = . (1 − ρ)2 (1 − ρ)2 (1 − ρ)2 =
Ezekre az ellenőrzésekre azért van szükség, hogy kiderüljön egyszerű esetekben a bonyolult formulák egyszerű eredményt adnak-e.
138
18. Feladat. A GN (z) = LS (λ − λz)(1 − ρ)
1−z LS (λ − λz) − z
transzformált egyenlet alapján határozzuk meg N -t! Megoldás: Jól ismert, hogy N = G0N (1), ezért ki kell számolnunk a jobb oldal deriváltját, amiben 1−z tényező z = 1 helyen határozatlan értéket ad, ezért alkalmazni fogjuk a az LS (λ−λz)−z L’Hospital-szabályt. Vezessük be az f (z) =
LS (λ − λz) − z 1−z
függvényt! Így látható, hogy LN (z) = (1 − ρ)
LS (λ − λz) . f (z)
Az LS (λ − λz) = 1 +
∞ X (−1)k E(S k ) k=1
k!
(λ − λz)k
sorfejtést felhasználva, vegyük észre, hogy 1+
∞ X (−1)k E(S k ) k=1
f (z) =
k!
(λ − λz)k − z
1−z E(S 2 )(1 − z) = 1 − λE(S) + λ2 + .... 2
Így f (1) = 1 − ρ és f 0 (1) = − λ
2 E(S 2 )
2
.
Ezek után L0N (z) =
(1 − ρ)f (z)L0S (λ − λz)(−λ) − LS (λ − λz) · f 0 (z) (f (z))2
és ebből 2
2
) (1 − ρ)f (1)λE(S) + λ E(S 2 = N= (1 − ρ)2 2 2) (1 − ρ) (1 − ρ)ρ + λ E(S 2 = (1 − ρ)2 λ2 E(S 2 ) ρ2 1 + CS2 =ρ+ =ρ+ · , 2(1 − ρ) 1−ρ 2
G0N (1)
amit más úton már megkaptunk.
139
19. Feladat. Az LW (s) =
s(1−ρ) s−λ+λLS (s)
segítségével határozzuk meg D2 (W )-t!
Megoldás: Legyen f (s) =
s − λ + λLS (s) , s
ami sorba fejtve tovább egyenlő ∞ λ λ E(S i ) i λ λ X 1 − + LS (s) = 1 − + · (−1)i s s s s s i=0 i!
= 1 − λE(S) +
λE(S 2 ) λE(S 3 ) 2 s− s + .... 2 3!
Ezért 3λE(S 4 ) 2 λE(S 2 ) 2λE(S 3 ) − s+ s + ..., f (s) = 2 3! 4! 2λE(S 3 ) 3 · 2λE(S 4 ) f (2) (s) = − + s + .... 3! 4! 0
Ebből f (0) = 1 − ρ, λE(S 2 ) f 0 (0) = , 2 λE(S 3 ) . f 00 (0) = − 3 Ezek után látható, hogy
LW (s) =
1−ρ f (s)
miatt f 0 (s) , (f (s))2 f 00 (s)(f (s))2 − 2f (s)(f 0 (s))2 L00W (s) = −(1 − ρ) . (f (s))4 L0W (s) = −(1 − ρ)
Ebből (1 − ρ) λE(S f 0 (0) 2 E(W ) = = (1 − ρ) = (f (0))2 (1 − ρ)2 λE(S 2 ) ρE(S) 1 + CS2 = = · , 2(1 − ρ) 1−ρ 2 −L0W (0)
140
2)
hasonlóan f 00 (0)(f (0))2 − 2f (0)(f 0 (0))2 E(W 2 ) = L00W (0) = −(1 − ρ) (f (0))4 2 3) λE(S 2 ) − 2(1 − ρ) (1 − ρ)(1 − ρ)2 − λE(S 3 2 =− 4 (1 − ρ) 3 λE(S ) . = 2(E(W ))2 + 3(1 − ρ) Ebből D2 (W ) = E(W 2 ) − (E(W ))2 λE(S 3 ) = 2(E(W ))2 + − (E(W ))2 3(1 − ρ) λE(S 3 ) = (E(W ))2 + . 3(1 − ρ) Ezek után D2 (T ) = D2 (W + S) = D2 (W ) + D2 (S).
20. Feladat. A Laplace-transzformált segítségével mutassuk meg, hogy E(Rk ) =
E(S k+1 ) (k + 1)E(S)
!
Megoldás: Mint már láttuk LR (s) =
1 − LS (s) , sE(S)
és az is közismert, hogy LS (s) =
∞ (i) X L (0) S
i=0
=
i!
si
∞ X (−1)i E(S i ) i=0
i!
si .
Hasonlóan LR (s)-re, kapjuk LR (s) = 1 +
∞ X (−1)k k=1
141
k!
E(Rk )sk .
Ezért LR (s) = 1 +
∞ X (−1)k
k!
k=1
1−
1+
=
∞ X (−1)k k=1
=
E(Rk )sk =
k!
1 − LS (s) sE(S) !
E(S k )sk
sE(S) ∞ X k=1
∞ X (−1) E(S k+1 ) k (−1)k E(Sk + 1) k ·s =1+ s . (k + 1)!E(S) k! (k + 1)E(S) k=1 k
Ebből E(Rk ) =
E(S k+1 ) , (k + 1)E(S)
k = 1, 2, . . .
21. Feladat. Határozzuk meg egy kiszolgálási idő alatt érkező igények számának az eloszlását M/G/1 esetén! Megoldás: A teljes valószínűség tétele alapján ∞
Z P (νA (S) = k) = 0
(λx)k −λx e fS (x) dx. k!
Generátorfüggvénye Z ∞X ∞ (zλx)k −λx (λx)k −λx e fS (x) dx = e fS (x) dx GνA (S) (z) = z k! k! 0 0 k=0 Z ∞ Z ∞ ezλx e−λx fS (x) dx = e−λx(1−z) fS (x) dx = LS (λ(1 − z)). = k
0
Z
∞
0
142
5. fejezet Véges-forrású rendszerek 22. Feladat. Ha P (k, λ) = vetkező fontos összefüggést! k X
λk −λ e k!
és Q(k, λ) =
λi −λ , i=0 i! e
Pk
akkor bizonyítjuk be a kö-
P (k − j, a1 )Q(j, a2 ) = Q(k, a1 + a2 ).
j=0
Megoldás: Jól ismert, hogy Z
∞
P (n, y) dy,
Q(n, a) = a
ezért j k X X ak−j ai2 −a2 1 −a1 P (k − j, a1 )Q(j, a2 ) = e e (k − j)! i! j=0 j=0 i=0
k X
Z ∞ Z ∞ Z ∞ j k X ak−j y −y (y + a1 )k −(a1 +y) tk −t 1 −a1 e e dy = e dy = e dt = Q(k, a1 +a2 ), (k − j)! j! k! k! a a +a a 2 1 2 2 j=0 ahol az intergálásnál a t = y + a1 helyettesítést vettük.
23. Feladat. A Laplace-transzformált segítségével az M/M/1/n/n rendszernél határozzuk meg a tartózkodási idő várható értékét! Megoldás: Jól ismert, hogy T = −L0T (0), ezért kiszámíthatjuk L0T (0)-t. #0 n µ+s s Q n − 1, µ λ L0T (s) = eλ µ+s Q n − 1, µλ 0 n 0 n µ+s Q n − 1, µ+s Q n − 1, s s µ µ λ λ = eλ · + eλ · . µ+s µ+s Q n − 1, µλ Q n − 1, µλ "
143
Így L0T (o) = −
n 1 1 µ n 1 + − B n − 1, = − + US (n − 1), µ λ λ λ µ λ
ebből T (n) =
n US (n − 1) − . µ λ
Mivel 1 (N (n − 1) + 1) µ 1 US (n − 1) = n−1− +1 µ ρ n US (n − 1) , = − µ λ
T (n) =
így ugyanazt az eredményt kaptuk. A T (n) magasabb momentumait is ki tudjuk számítani és további jellemzők adhatók meg. Analóg módon W (n) momentumai is meghatározhatók. 24. Feladat. A sűrűségfüggvény segítségével az M/M/1/n/n rendszernél határozzuk meg a tartózkodási idő várható értékét, vagyis T -t! Megoldás: . µ z= λ 1 T = Q(n − 1, z)
Z∞ xµ
(µx + z)n−1 −(µx+z) e dx (n − 1)!
0
=
e−z Q(n − 1, z)
Z∞ xµ
n−1 X (µx)k k=0
0
z n−1−k e−µx dx k! (n − 1 − k)!
n−1
X z n−1−k e−z = Q(n − 1, z) k=0 (n − 1 − k)! =
e−z Q(n − 1, z)
n−1 X k=0
Z∞ xµ
(µx)k −µx e dx k!
0
z n−1−k k+1 · (n − 1 − k)! µ
n−1−k
z n−1 · e−z 1X (n−1−k)! = (k + 1) µ k=0 Q(n − 1, z) n−1
=
1 Xk+1 1 Pk (n − 1) = (N (n − 1) + 1). µ k=0 µ µ
Teljesen hasonló módon határozható meg a várakozási idő átlaga, csak az a különbség, hogy a fellépő Erlang eloszlásnál 1-el kisebb fázist veszünk és az összegzés 1-től indul.
144
25. Feladat. Határozzuk meg az M/M/1/n/n rendszernél a D2 (N )-t! Megoldás: Jelöljük F -el a forrásban tartózkodó igények számát. Így F + N = n, ezért D2 (N ) = D2 (F ). Tudjuk azonban, hogy F eloszlása a z = ρ1 forgalmi intenzitású M/M/n/n rendszer eloszlásával egyezik meg. Ezért az ott kapott képlet alapján 1 1 1 1 1 1 2 D (N ) = 1 − B n, − B n, n− 1 − B n, ρ ρ ρ ρ ρ ρ US 1 − US US = − n− . ρ ρ ρ Ha a forrásszámot is jelölni szeretnénk, akkor Us (n) 1 − Us (n) D (N (n)) = − ρ ρ 2
Us (n) n− ρ
.
Ez lehetőséget ad arra, hogy meghatározzuk D2 (T (n))-t és D2 (W (n))-t. Mivel W (n) tekinthető egy véletlen tagszámú összegnek, ahol az összeadandók a µ paraméterű exponenciális eloszlású kiszolgálási idők, a számláló folyamat pedig az érkezési pillanatban a (n) rendszerben tartózkodó igények száma, melyet NA -nel jelölünk, ezért 1 1 (n) + 2 D2 (NA ) 2 µ µ 1 1 = N (n − 1) · 2 + 2 D2 (N (n − 1)) µ µ 1 = 2 (N (n − 1) + D2 (N (n − 1))), µ (n)
D2 (W (n)) = E(NA ) ·
ahol Us (n − 1) ρ Us (n − 1) 1 − Us (n − 1) Us (n − 1) 2 D (N (n − 1)) = − n−1− . ρ ρ ρ N (n − 1) = n − 1 −
Hasonló módon, mivel T (n) = W (n) + S, így D2 (T (n)) = D2 (W (n)) +
145
1 . µ2
146
III. rész A sorbanállási elmélet összefoglaló táblázatai
147
6. fejezet Jelölések és összefüggések 6.1. Jelölések és definíciók 1. táblázat. Alapvető sorbanállási elméleti jelölések és definíciók a ai
Kiszolgáló egység kihasználtsága. Valamely sorbanállási hálózatban az i-edik csomópont kihasználtsága. A[t] Az érkezési időközök eloszlásfüggvénye. A[t] = P [τ ≤ t] b Egy kiszolgáló egység foglaltsági periódusát leíró valószínűségi változó. B[c, ρ] Erlang-féle B formula. Nevezetesen annak stacionárius valószínűsége, hogy egy M/M/c/c rendszerben minden kiszolgáló foglalt. Szokás még Erlang-féle veszteség formulának is nevezni. c A kiszolgálók száma valamely kiszolgáló egységben. C[c, ρ] Erlang-féle C formula. Nevezetesen annak stacionárius valószínűsége, hogy egy M/M/c rendszerben minden kiszolgáló foglalt. Szokás még Erlang-féle késleltetési (vagy várakozási) formulának is nevezni. 2 CX Valamely pozitív valószínűségi változó szórási együtthaD2 [X] 2 . tójának a négyzete, CX = E[X]2 D Konstans vagy determinisztikus érkezési, illetve kiszolgálási időre vonatkozó szimbólum. Ek k paraméterű Erlang-eloszlás jelölése. E[Q|Q > 0] Nem üres sorok várható hossza. E[W |W > 0] Várható várakozási idő. FCFS Elsőként érkező, elsőként kiszolgált, vagyis érkezési sorrendben történő kiszolgálási elv. FIFO Elsőként be, elsőként ki kiszolgálási elv, ugyanaz, mint az FCFS. FT (t) A T eloszlásfüggvénye, FT (t) = P [T < t]. 149
1. táblázat. Alapvető sorbanállási elméleti jelölések és definíciók (folytatás) FW (t) G GI H2 K
λ λ λT ln(·) Ns LCFS LIFO M µ
µa , µb N N [t] N Nb Ns [t] Ns O Pn [t] Pn
A W eloszlásfüggvénye, FW (t) = P [W < t]. Tetszőleges eloszlású kiszolgálási idő, általában a függetlenséget feltételezzük. Egymástól független tetszőleges eloszlású beérkezési időközök eloszlásfüggvénye. 2 állapotú hiperexponenciális eloszlás, könnyen általánosítható k állapotúra. Egy sorbanállási rendszerben tartózkodó igények maximális száma. A véges forrású rendszerek igényeinek a számát is jelölheti. A rendszerbe jövő igények beérkezési intenzitása. Tényleges átlagos beérkezési intenzitás, pl. az M/M/c/c rendszerben néhány igény elvész. Egységnyi időre eső átlagos áteresztőképesség. Természetes alapú logaritmus. Stacionárius állapotban a kiszolgálás alatt levő igények átlagos száma, vagyis E[Ns ]. Utolsónak érkező, elsőként kiszolgált kiszolgálási elv. Utolsónak be, elsőként ki kiszolgálási elv, ugyanaz, mint LCFS. Exponenciális eloszlásra vonatkozó szimbólum (Markov-tulajdonság) Egy kiszolgáló egységre vonatkozó kiszolgálási intenzitás, azaz a kiszolgálások befejezésének intenzitása foglalt egységek esetén. Valamely M/H2 /1 rendszerben a 2 állapotú hiperexponenciális eloszlás paraméterei. Stacionárius állapotban a rendszerben tartózkodó igények átlagos száma, vagyis E[N ]. t-edik időpillanatban a rendszerben tartózkodó igények számát leíró valószínűségi változó. Stacionárius állapotban a rendszerben tartózkodó igények számát leíró valószínűségi változó. A foglaltsági periódus alatt valamely egység által kiszolgált igények számát leíró valószínűségi változó. t-edik időpillanatban kiszolgálás alatt levő igények számát leíró valószínűségi változó. Egyensúlyi állapotban kiszolgálás alatt levő igények számát leíró valószínűségi változó. A gépkiszolgálási problémánál valamely gép működési ideje. Annak valószínűsége, hogy a t-edik időpillanatban n igény tartózkodik a rendszerben. Annak stacionárius valószínűsége, hogy n igény tartózkodik a rendszerben. 150
1. táblázat. Alapvető sorbanállási elméleti jelölések és definíciók (folytatás) PRI PS pi πa , πb πX [r] Q Q[t] ρ
RSS S S SIRO
T T τ W W0 W
Prioritásos kiszolgálási elv. Processzorosztásos kiszolgálási elv. A hiperexponenciális eloszlás ún. súlyparaméterei. Valamely M/H2 /1 rendszerben a hiperexponenciális eloszlás paraméterei. Az X valószínűségi változó r-kvantilise. Stacionárius állapotban a sorbanálló igények számát leíró valószínűségi változó. t-edik időpillanatban a sorbanálló igények számát leíró valószínűségi változó. ρ = λS forgalmi intenzitás vagy felajánlott terhelés. Nemzetközileg elfogadott mértékegysége az erlang, A. K. Erlang dán mérnök-matematikus tiszteletére, aki elsőként foglalkozott sorbanállási elméleti problémákkal. Véletlen kiválasztásos kiszolgálási elv. Kiszolgálási időt leíró valószínűségi változó. E[S] = µ1 . Az igény átlagos kiszolgálási ideje, E[S] = µ1 . Véletlen sorrendben történő kiszolgálási elv, azonos az RSS-el. Vagyis a sorbanálló igények azonos valószínűséggel kerülnek kiszolgálásra. Valamely igénynek a rendszerben való teljes tartózkodási idejét leíró valószínűségi változó, T = W + S. Stacionárius esetben valamely igénynek a rendszerben való átlagos tartózkodási ideje, T = E[T ] = W + S. A beérkezési időközöket leíró valószínűségi változó. E[τ ] = λ1 . Valamely igény várakozási idejét leíró valószínűségi változó. Valamely igény feltételes sorbanállási idejét leíró valószínűségi változó. Egyensúlyi állapotban valamely igény átlagos várakozási ideje, W = E[W ] = T − S.
151
6.2. A valószínűségi változók közötti összefüggések 2. táblázat. A valószínűségi változók közötti összefüggések a N = Q + Ns N =λ·T
Ns = λ · S Q=λ·W ρ = E[S] = λS E[τ ] T =W +S T =W +S
Kiszolgáló kihasználtsága, egyben annak valószínűsége, hogy egy adott kiszolgáló foglalt. Egyensúlyi állapotban a rendszerben tartózkodó igények száma. Egyensúlyi állapotban a rendszerben tartózkodó igények átlagos száma. Ezt az összefüggést gyakran hívják Little-formulának is. Egyensúlyi állapotban a kiszolgálás alatt levő igények átlagos száma, ezt is szokták (de ritkábban) Little-formulának nevezni. Egyensúlyi állapotban a sorbanálló igények átlagos száma, ezt szintén hívják Little-formulának is. Forgalmi intenzitás erlangokban mérve. A rendszerben való tartózkodási idő. Egyensúlyi állapotban a rendszerben való átlagos tartózkodási idő.
152
7. fejezet Sorbanállási rendszerek 7.1. Sorbanállási rendszerek formulái 7.1.1. M/M/1 Sorbanállási képletek 3. táblázat. M/M/1 Sorbanállási rendszer ρ = λS,
Pn = P [N = n] = (1 − ρ)ρn ,
P [N ≥ n] = ρn ,
n = 0, 1, . . . .
N = E[N ] = λ · T =
Q = λW =
ρ2 , 1−ρ
E[Q|Q > 0] =
1 , 1−ρ
ρ . (1 − ρ)2
ρ , 1−ρ
D2 (N ) =
D2 (Q) =
ρ2 (1 + ρ − ρ2 ) . (1 − ρ)2
D2 [Q|Q > 0] =
−t FT (t) = P [T ≤ t] = 1 − exp , T T = E[T ] =
n = 0, 1, . . . .
S 1 = , 1−ρ µ(1 − ρ)
100 πT [r] = T ln , 100 − r
ρ . (1 − ρ)2
−t P [T > t] = exp . T 2
D2 (T ) = T .
πT [90] = T ln 10,
−t FT (t) = P [W ≤ t] = 1 − ρ exp , T
πT [95] = T ln 20
−t P [W > t] = ρ exp . T
153
ρS W = , 1−ρ
2
(2 − ρ)ρS D (W ) = . (1 − ρ)2 2
100ρ ,0 . πW [r] = max T ln 100 − r πW [90] = max{T ln(10ρ), 0},
πW [95] = max{T ln(20ρ), 0}.
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MM1/MM1.html
154
7.1.2. M/M/1/K Sorbanállási képletek 4. táblázat. M/M/1/K Sorbanállási rendszer
Pn =
(1 − ρ)ρn ha λ 6= µ (1 − ρK+1 )
1 K +1
ha λ = µ
n = 0, 1, . . . , K, ahol ρ = λS. λ = (1 − PK )λ,
N=
a rendszerbe való átlagos beérkezési intenzitás.
ρ[1 − (K + 1)ρK + KρK+1 ] ha λ 6= µ (1 − ρ)(1 − ρK+1 ) K 2
ha λ = µ.
Q = N − (1 − P0 ), FT (t) = 1 −
K−1 X
Πn =
Pn , n = 0, 1, . . . , K − 1. 1 − PK
Πn Q[n; µt],
n=0
ahol Q[n; µt] = e
−µt
n X (µt)k k=0
T =
N , λ
.
Q . λ
W =
FT (t) = 1 −
k!
K−2 X
Πn+1 Q[n; µt].
n=0
E[W |W > 0] =
W , 1 − P0
a = (1 − PK )ρ.
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MM1K/MM1K.html
155
7.1.3. M/M/c Sorbanállási képletek 5. táblázat. M/M/c Sorbanállási rendszer ρ = λS,
P0 =
a=
" c−1 X ρn n=0
Pn =
ρ c
ρc + n! c!(1 − a)
n ρ n! P0 ,
#−1 =
c!(1 − a)P [N ≥ c] . ρc
ha n ≤ c
ρn P0 , ha n ≥ c. c!cn−c " c−1 # c k X ρ ρ P0 + ha n < c, k! c!(1 − a) k=n P [N ≥ n] = " # c n−c a a n−c ha n ≥ c P0 c!(1 − a) = P [N ≥ c]a
Q=λ·W =
ρP [N ≥ c] , c(1 − a)
ahol ρc c! P [N ≥ c] = C[c, ρ] = . c−1 n X ρ ρc ρ + (1 − ) c n=0 n! c! D2 (Q) =
aC[c, ρ][1 + a − aC[c, ρ]] . (1 − a)2
N = λ · T = Q + ρ. D2 (N ) = D2 (Q) + ρ(1 + P [N ≥ c]). W [0] = 1 − P [N ≥ c], W =
FT (t) = 1 − P [N ≥ c] exp[−cµt(1 − a)],
P [N ≥ c]S . c(1 − a)
156
5. táblázat. M/M/c Sorbanállási rendszer (folytatás) 2
[2 − C[c, ρ]]C[c, ρ]S D (W ) = . c2 (1 − a)2 S 100C[c, ρ] ln }. πW [r] = max{0, c(1 − a) 100 − r S πW [90] = max{0, ln(10C[c, ρ])}. c(1 − a) S πW [95] = max{0, ln(20C[c, ρ])}. c(1 − a) 2
−ct(1 − a) W W 0 = P [W ≤ t|W > 0] = 1 − exp , S S E[W |W > 0] = E[W 0 ] = . c(1 − a)
t > 0.
2 S . c(1 − a)
2
D ([W |W > 0] =
FT (t) =
1 + C1 e−µt + C2 e−cµt(1−a) ha ρ 6= c − 1
1 − {1 + C[c, ρ]µt}e−µt
ha ρ = c − 1
ahol C1 =
P [N ≥ c] − 1, 1 − c(1 − a)
C2 =
P [N ≥ c] . c(1 − a) − 1
T = W + S. 2 2P [N ≥ c][1 − c2 (1 − a)2 ]S 2 + 2S ha ρ 6= c − 1 2 2 (ρ + 1 − c)c (1 − a) E[T 2 ] = 2{2P [N ≥ c] + 1}S 2 ha ρ = c − 1 2
D2 (T ) = E[T 2 ] − T . πT [90] ≈ T + 1.3D(T ),
πT [95] ≈ T + 2D(T ) (James Martin eredménye).
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMc/MMc.html
157
7.1.4. M/M/2 Sorbanállási képletek 6. táblázat. M/M/2 Sorbanállási rendszer ρ = λS, P0 =
a=
ρ 2
1−a . 1+a
Pn = 2P0 an , P [N ≥ n] =
Q = λW =
n = 1, 2, 3, . . . 2an , 1+a
n = 1, 2, . . .
2a3 , 1 − a2
P [N ≥ 2] = C[2, ρ] annak stacionárius valószínűsége, hogy egy érkező igénynek sorba kell állni. P [N ≥ 2] a következő alakban adható meg P [N ≥ 2] = C[2, ρ] =
D2 (Q) =
2a2 . 1+a
2a3 [(1 + a)2 − 2a3 ] . (1 − a2 )2
N =λ·T =Q+ρ=
D2 (N ) = D2 (Q) +
2a . 1 − a2
2a(1 + a + 2a2 ) . 1+a
1 + a − 2a2 . 1+a 2a2 exp[−2µt(1 − a)] FT (t) = 1 − 1+a
W [0] =
W =
a2 S . 1 − a2 2
a2 (1 + a − a2 )S D (W ) = . (1 − a2 )2 2
S 200a2 ln }. πW [r] = max{0, 2(1 − a) (100 − r)(1 + a) 158
6. táblázat. M/M/2 Sorbanállási rendszer (folytatás) S 20a2 πW [90] = max{0, ln }. 2(1 − a) 1 + a S 40a2 πW [95] = max{0, ln }. 2(1 − a) 1+a
−2t(1 − a) W W 0 = P [W ≤ t|W > 0] = 1 − exp , S S E[W |W > 0] = E[W 0 ] = . 2(1 − a) 2 S 2 D [W |W > 0] = . 2(1 − a)
t > 0.
1−a 2a2 −µt 1 + e + e−2µt(1−a) ahol ρ 6= 1 1 − a2 − 2a2 1 − a − 2a2 FT (t) = 1 − {1 + µt }e−µt ahol ρ = 1 3 S T =W +S = . 1 − a2 2 a2 [1 − 4(1 − a)2 ]S 2 (2a − 1)(1 − a)(1 − a2 ) + 2S ha ρ 6= 1 E[T 2 ] = 10 2 S ha ρ = 1 3 2
D2 (T ) = E[T 2 ] − T . πT [90] ≈ T + 1.3D(T ),
πT [95] ≈ T + 2D(T )
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MM2/MM2.html
159
7.1.5. M/M/c/c Sorbanállási képletek 7. táblázat. M/M/c/c Sorbanállási rendszer (M/M/c veszteséges rendszer) ρ = λS
Pn =
ρn n! ρc ρ2 + ... + 1+ρ+ 2! c!
n = 0, 1, . . . , c.
Pc annak stacionárius valószínűsége, hogy minden kiszolgáló egység foglalt. Ezt Erlang-féle B-formulának is nevezik, így B[c, ρ]-ra
B[c, ρ] =
ρc c! ρ2 ρc 1+ρ+ + ... + 2! c!
.
λ = λ(1 − B[c, ρ]) a rendszerbe ténylegesen beérkező igények átlagos intenzitása. Így a kiszolgáló tényleges kihasználtsága, a, a következő alakban adható meg a=
λS . c
N = λ S. T =
N = S. λ
−t FT (t) = 1 − exp . S Az utolsó képletet kivéve az összes formula igaz az M/G/c/c rendszerre is. Ilyenkor FT (t) = FS (t). http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMcc/MMcc.html
160
7.1.6. M/M/c/K Sorbanállási képletek 8. táblázat. M/M/c/K Sorbanállási rendszer ρ = λS. " P0 =
# K−c n −1 ρc X ρ + . n! c! n=1 c
c X ρn n=0
n ρ P0 ha n = 1, 2, . . . , c, n!n n−c Pn = ρ ρ P0 ha n = c + 1, . . . , K. c! c A rendszerbe ténylegesen beérkező igények átlagos intenzitása λ = λ(1 − PK ). A kiszolgáló egység tényleges kihasználtsága, a, a következő alakot ölti: λS . c c ρ rP0 K−c+1 K−c Q= 1 + (K − c)r − (K − c + 1)r , c!(1 − r)2
a=
ahol ρ r= . c N = Q + E[Ns ] = Q +
c−1 X
nPn + c 1 −
n=0
c−1 X n=0
A Little-formula alapján Q , λ
W = és T =
N . λ
Πn =
Pn , 1 − PK
n = 0, 1, 2, . . . , K − 1,
161
! Pn .
8. táblázat. M/M/c/K Sorbanállási rendszer (folytatás) ahol Πn annak stacionárius valószínűsége, hogy a rendszerbe érkező igény már n másik igényt talál itt. E[W |W > 0] = 1−
W c−1 X
. Πn
n=0
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMcK/MMcK.html
162
7.1.7. M/M/∞ Sorbanállási képletek 9. táblázat. M/M/∞ Sorbanállási rendszer ρ = λS. Pn =
ρn −ρ e , n!
n = 0, 1, . . . .
Mivel N Poisson-eloszlást követ, ezért N = ρ és D2 (N ) = ρ. A Little-formula szerint T =
N = S. λ
Mivel nincs várakozás, ezért W = Q = 0, és FT (t) = P [T ≤ t] = FS (t) = P [S ≤ t] azaz T -nek ugyanaz az eloszlása, mint S-nek. A fenti képletek változatlanok maradnak az M/G/∞ rendszerre is. http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMinf/MMinf.html
163
7.1.8. M/M/1/K/K Sorbanállási képletek 10. táblázat. M/M/1/K/K Sorbanállási rendszer A gépek átlagos működési ideje (néha a meghibásodásig eltelt átlagos időnek is szokás nevezni), a rövidítés is ebből adódik 1 E[O] = . α A gépek átlagos javítási ideje 1 S= . µ P0 annak stacionárius valószínűsége, hogy minden gép működik, melyre " K k #−1 X K! S P0 = = B[K, z], (K − k)! E[O] k=0 ahol B[·, ·] az Erlang-féle B formula és z=
E[O] . S
Pn annak stacionárius valószínűsége, hogy n gép meghibásodott, az alábbi alakban adható meg K! z −n P0 , n = 0, 1, . . . , K, Pn = (K − n)! melyet a következőképpen is felírhatunk z K−n (K − n)! Pn = K , n = 0, 1, . . . , K. X zk k=0
k!
a = 1 − P0 . λ=
a . S
K − E[O]. λ N = λ · T. T =
W = T − S.
164
10. táblázat. M/M/1/K/K Sorbanállási rendszer (folytatás) z K−n−1 (K − n)Pn (K − n − 1)! Πn = = , K−1 X zk K −N k=0
n = 0, 1, 2, . . . , K − 1,
k!
ahol Πn annak stacionárius valószínűsége, hogy egy meghibásodott gép n további gépet talál a javító egységnél. FT (t) = P [T ≤ t] = 1 −
Q(K − 1; z + tµ) , Q(K − 1; z)
t ≥ 0,
ahol Q(n; x) = e−x
n X xk k=0
k!
.
FT (t) = P [W ≤ t] = 1 −
E[W |W > 0] =
Q(K − 2; z + tµ) , Q(K − 1; z)
t ≥ 0,
W . 1 − Π0
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MM1KK/MM1KK.html
165
7.1.9. M/G/1/K/K Sorbanállási képletek 11. táblázat. M/G/1/K/K Sorbanállási rendszer A gépek átlagos működési ideje 1 E[O] = . α A gépek átlagos javítási ideje 1 S= . µ P0 annak stacionárius valószínűsége, hogy minden gép működik, melyre #−1 K−1 KS X K − 1 P0 = 1 + Bn , E[O] n=0 n ahol "
n = 0, 1 n ∗ Q Bn = 1−S [iα] n = 1, 2, . . . , K − 1. ∗ S [iα] i=1
∗
és S [θ] az s Laplace-Stieltjes transzformáltja. a = 1 − P0 . a . S K T = − E[O]. λ λ=
N = λ · T. W = T − S. Q = λ · W. http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MHyper1KK/MHyper1KK.html
166
7.1.10. M/M/c/K/K Sorbanállási képletek 12. táblázat. M/M/c/K/K Sorbanállási rendszer A gépek átlagos működési ideje 1 E[O] = . α A gépek átlagos javítási ideje 1 S= . µ P0 annak stacionárius valószínűsége, hogy minden gép működik, melyre " P0 =
#−1 K −k k! z z −k + , k−c c!c k k k=c+1
c X K k=0
K X
ahol z=
E[O] . S
Pn annak stacionárius valószínűsége, hogy n gép meghibásodott Pn =
K X
Q=
K z −n P0 n K n! z −n P0 c!cn−c n
n = 0, 1, . . . , c, n = c + 1, . . . , K.
(n − c)Pn .
n=c+1
Q(E[O] + S) . K −Q K λ= . E[O] + W + S K T = − E[O]. λ (K − n)Pn N = λ T . Πn = , K −N W =
ahol Πn annak stacionárius valószínűsége, hogy egy meghibásodott gép n további gépet talál a javító egységnél. A Πn -t jelöljük Πn [K]-val, hogy hangsúlyozzuk a K darab gépre vonatkozó képletet. Meg lehet mutatni, hogy Πn [K] = Pn [K − 1], Pn [K − 1] =
n = 0, 1, . . . , K − 1.
cc p(K − n − 1; cz) P0 [K − 1], c! p(K − 1; cz) 167
12. táblázat. M/M/c/K/K Sorbanállási rendszer (folytatás) ahol, természetesen, p(k; α) =
αk −α e . k!
FT (t) = P [W ≤ t] = 1 −
cc Q(K − c − 1; cz)P0 [K − 1] , t ≥ 0, c!p(K − 1; cz)
ahol −α
Q(k; α) = e
k X αn n=0
n!
.
FT (t) = P [T ≤ t] = 1 − C1 exp(−t/S) + C2
Q(K − c − 1; c(z + tµ)) , Q(K − c − 1; cz)
t ≥ 0, ahol C1 = 1 + C2 és C2 =
cc Q(K − c − 1; cz) P0 [K − 1]. c!(c − 1)(K − c − 1)!p(K − 1; cz)
Így annak stacionárius valószínűsége, hogy egy meghibásodott gépnek D=
K−1 X n=c
Πn = 1 −
c−1 X
várakozni kell
Πn .
n=0
W E[W |W > 0] = . D http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMcKK/MMcKK.html
168
7.1.11. D/D/c/K/K Sorbanállási képletek 13. táblázat. D/D/c/K/K Sorbanállási rendszer A gépek átlagos működési ideje 1 E[O] = . α A gépek átlagos javítási ideje 1 S= . µ K a = min{1, }, c(1 + z) ahol z=
E[O] . S
λ = caµ = T =
ca . S
K − E[O]. λ
N = λ T. W = T − S. Q = λ W. A képletek levezetése az alábbi cikkben található: "A straightforward model of computer performance prediction" by John W. Boyse and David R. Warn in ACM Comput. Surveys, 7(2), (June 1972). http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/DDcKK/DDcKK.html
169
7.1.12. M/G/1 Sorbanállási képletek 14. táblázat. M/G/1 Sorbanállási rendszer Jelölje N stacionáris esetben a rendszerben tartózkodó igények számát. Ekkor N generátorfüggvényére igaz az alábbi összefüggés: ∞ X
∗
(1 − ρ)(1 − z)S [λ(1 − z)] , GN (z) = Pn z = ∗ S [λ(1 − z)] − z n=0 n
∗
ahol S az S kiszolgálási idő Laplace-Stieltjes transzformáltja. T és W -ra vonatkozó Laplace-Stieltjes transzformáltak az alábbiak ∗
(1 − ρ)θS [θ] , W [θ] = ∗ θ − λ + λS [θ] ∗
és ∗
W [θ] =
(1 − ρ)θ . ∗ θ − λ + λS [θ]
Különböző szerzők a fenti egyenleteket Pollaczek-Hincsin transzformált egyenletnek hívják. Annak stacionáris valószínűsége, hogy a rendszer üres, P0 = 1 − ρ, ahol a kiszolgáló kihasználtsága ρ = λS. A kiszolgáló foglaltságára adódó valószínűség P [N ≥ 1] = ρ. ρS λE[S 2 ] 1 + CS2 = W = (Pollaczek formula). 2(1 − ρ) 1−ρ 2 Q = λW . 2 λ2 E[S 2 ] λ2 E[S 2 ] + . 2(1 − ρ) 2(1 − ρ) S 1 + CS2 E[W |W > 0] = . 1−ρ 2 λE[S 3 ] 2 2 E[W 2 ] = 2W + , D2 (W ) = E[W 2 ] − W . 3(1 − ρ)
λ3 E[S 3 ] D (Q) = + 3(1 − ρ) 2
T = W + S,
N = λ · T = Q + ρ.
2 2 λ3 E[S 3 ] λ E[S 2 ] λ2 (3 − 2ρ)E[S 2 ] D (N ) = + + + ρ(1 − ρ). 3(1 − ρ) 2(1 − ρ) 2(1 − ρ) E[S 2 ] E[T 2 ] = E[W 2 ] + . 1−ρ 2
2
D2 (T ) = E[T 2 ] − T . πT [90] ≈ T + 1.3D(T ),
πT [95] ≈ T + 2D(T ).
170
15. táblázat. M/H2 /1 Sorbanállási rendszer Ekkor GN (z) =
∞ X
Pn z n = C 1
n=0
z2 z1 + C2 , z1 − z z2 − z
ahol z1 és z2 az alábbi egyenlet gyökei a1 a2 z 2 − (a1 + a2 + a1 a2 )z + 1 + a1 + a2 − a = 0, ahol a = λS, λ , i = 1, 2, µi (z1 − 1)(1 − az2 ) C1 = , z1 − z2 ai =
és C2 =
(z2 − 1)(1 − az1 ) . z2 − z1
A GN (z) adódóan kapjuk, hogy Pn = C1 z1−n + C2 z2−n ,
n = 0, 1, . . ..
Speciálisan, P0 = 1 − a. z1−n+1 z2−n+1 P [N ≥ n] = C1 − C2 . z1 − 1 z2 − 1 Továbbá, P [N ≥ 1] = a. FT (t) = P [W ≤ t] = 1 − C5 e−ρt − C6 e−bt , t ≥ 0, ahol ρ = −ζ1 , b = −ζ2 , ζ1 , ζ2 gyökei a θ2 + (µ1 + µ2 − λ)θ + µ1 µ2 (1 − a) = 0, egyenletnek, C5 =
λ(1 − a)ζ1 + a(1 − a)µ1 µ2 ρ(ζ1 − ζ2 )
171
15. táblázat. M/H2 /1 Sorbanállási rendszer (folytatás) és λ(1 − a)ζ2 + a(1 − a)µ1 µ2 . ρ(ζ2 − ζ1 ) λE[S 2 ] aS 1 + CS2 W = = . (Pollaczek-formula) 2(1 − a) 1−a 2 S 1 + CS2 E[W |W > 0] = . 1−a 2 λE[S 3 ] 2 E[W 2 ] = 2W + . 3(1 − a) C6 =
Ha ebbe a képletbe behelyettesítjük a E[S 3 ] =
6p1 6p2 + 3, µ31 µ2
akkor 2
D2 (W ) = E[W 2 ] − W . FT (t) = P [T ≤ t] = 1 − πa e−µa t − πb e−µb t , ahol z1 , z1 − 1 z2 π b = C2 , z2 − 1
π a = C1
µa = λ(z1 − 1),
µb = λ(z2 − 1).
T = W + S. E[T 2 ] = E[W 2 ] +
E[S 2 ] , 1−a
ahol természetesen E[S 2 ] =
2p1 2p2 + 2. µ21 µ2 2
D2 (T ) = E[T 2 ] − T .
172
t ≥ 0,
15. táblázat. M/H2 /1 Sorbanállási rendszer (folytatás) CT2 =
E[T 2 ] T
2
− 1.
a2 Q=λ·W = 1−a
1 + CS2 . 2 2 2 λ3 E[S 3 ] λ E[S 2 ] λ2 E[S 2 ] 2 D (Q) = + + . 3(1 − a) 2(1 − a) 2(1 − a)
N = λT = Q + a. λ3 E[S 3 ] D (N ) = + 3(1 − a) 2
λ2 E[S 2 ] 2(1 − a)
2 +
λ2 (3 − 2a)E[S 2 ] + a(1 − a). 2(1 − a)
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MH21/MH21.html
173
16. táblázat. M/Gamma/1 Sorbanállási rendszer Mivel S gamma eloszlású, ezért E[S n ] =
β(β + 1) . . . (β + n − 1) , αn
n = 1, 2, . . ..
Továbbá CS2 =
1 , β
így 2
E[S 2 ] = S (1 + CS2 ), 3
E[S 3 ] = S (1 + CS2 )(1 + 2CS2 ), és n
E[s ] = S
n
n−1 Y
(1 + kCS2 ),
n = 1, 2, . . ..
k=1
Ekkor λE[S 2 ] aS W = = 2(1 − a) 1−a
1 + CS2 , 2
Q = λ · W, a2 (1 + CS2 ) a2 (1 + CS2 ) 2a(1 + 2CS2 ) + D (Q) = 1+ , 2(1 − a) 2(1 − a) 3 S 1 + CS2 E[W |W > 0] = , 1−a 2 2
2
aS (1 + CS2 )(1 + 2CS2 ) , E[W ] = 2W + 3(1 − a) 2
2
2
D2 (W ) = E[W 2 ] − W ,
N = λ · T = Q + a.
T = W + S,
a3 (1 + CS2 )(1 + 2CS2 ) D (N ) = + 3(1 − a) 2
a2 (1 + CS2 ) 2(1 − a)
2 +
a2 (3 − 2a)(1 + CS2 ) + a(1 − a). 2(1 − a)
2
S (1 + CS2 ) E[T ] = E[W ] + , 1−a 2
2
πT [90] ≈ T + 1.3D(T ),
2
D2 (T ) = E[T 2 ] − T .
πT [95] ≈ T + 2D(T ).
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MGamma1/MGamma1.html
174
17. táblázat. M/Ek /1 Sorbanállási rendszer Mivel S Erlang -k eloszlású, ezért 1 2 n−1 n E[S ] = 1 + 1+ ... 1 + S , k k k n
n = 1, 2, . . ..
így 1 E[S ] = S 1 + , k és 2 1 3 3 1+ . E[s ] = S 1 + k k 2
2
Ekkor λE[s2 ] aS W = = 2(1 − a) 1−a
1+ 2
1 k
. (Pollaczek’s formula)
Q = λ · W. a2 (1 + k) a2 (1 + k) 2a(k + 2) D (Q) = + 1+ . 2k(1 − a) 2k(1 − a) 3k 1 + k1 S . E[W |W > 0] = 1−a 2 2
2
aS (k + 1)(k + 2) . E[W ] = 2W + 3k 2 (1 − a) 2
2
2
D2 (W ) = E[W 2 ] − W . T = W + S. N = λ · T = Q + a. a3 (k + 1)(k + 2) D (N ) = + 3k 2 (1 − a) 2
a2 (1 + k1 ) 2(1 − a)
2
a2 (3 − 2a)(1 + k1 ) + + a(1 − a). 2(1 − a)
2
S (1 + k1 ) E[T ] = E[W ] + . 1−a 2
2
2
D2 (T ) = E[T 2 ] − T . πT [90] ≈ T + 1.3D(T ),
πT [95] ≈ T + 2D(T ).
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MEk1/MEk1.html 175
18. táblázat. M/D/1 Sorbanállási rendszer Mivel S konstans, ezért n
E[S n ] = S ,
n = 1, 2, . . .,
így GN (z) =
(1 − a)(1 − z) . 1 − zea(1−z)
Ha feltesszük, hogy |zea(1−z) | < 1, GN (z) hatványsorba fejthető ∞ X a(1−z) j . gN (z) = (1 − a)(1 − z) ze j=0
Ekkor megmutatható, hogy P1 = (1 − a)(ea − 1), és Pn = (1 − a)
n X (−1)n−j (ja)n−j−1 (ja + n − j)eja
(n − j)!
j=1
Továbbá FT (t) =
k−1 X
Pn + P k
n=0
t − (k − 1)S , S
ahol (k − 1)S ≤ t ≤ kS,
k = 1, 2, . . ..
Így, W [0] = P0 . W =
aS . 2(1 − a)
FW [W |W > 0] =
S . 2(1 − a) 2
aS E[W ] = 2W + . 3(1 − a) 2
2
176
n = 2, 3, . . ..
18. táblázat. M/D/1 Sorbanállási rendszer (folytatás) 2
D2 (W ) = E[W 2 ] − W . a2 Q = λW = . 2(1 − a) 2 a2 a2 a3 2 + + . D (Q) = 3(1 − a) 2(1 − a) 2(1 − a)
FT (t) =
0
ha t < S,
k−1 P Pn + Pk t−kS ha t ≥ S. S n=0
ahol kS ≤ t < (k + 1)S,
k = 1, 2, . . ..
T = W + S. 2
S E[T ] = E[W ] + . 1−a 2
2
2
D2 (T ) = E[T 2 ] − T . N = λ · T = Q + a. a3 D (N ) = + 3(1 − a) 2
a2 2(1 − a)
2 +
a2 (3 − 2a) + a(1 − a). 2(1 − a)
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MD1/MD1.html
177
7.1.13. GI/M/1 Sorbanállási képletek 19. táblázat. GI/M/1 Sorbanállási rendszer Annak stacionárius valószínűsége, hogy valamely beérkező igény a rendszert üresen találja, egyértelmű megoldása az 1 − Π0 = A∗ [µΠ0 ] egyenletnek, melyre 0 < Π0 < 1, ahol A∗ [Θ] a τ beérkezési időköz Laplace-Stieltjes transzformáltja. A rendszerben tartózkodó igények eloszlása {Pn }, ahol P0 = P [N = 0] = 1 − a, Pn = aΠ0 (1 − Π0 )n−1 , n = 1, 2, . . ., továbbá a 0 −a) , és D2 (N ) = a(2−Π . Π20 Π0 (1 − Π0 )a Q= . Π0 a(1 − Π0 )(2 − Π0 − a(1 − Π0 )) D2 (Q) = . Π20 1 . E[Q|Q > 0] = Π0 S T = . Π0 N=
FT (t) = P [T ≤ t] = 1 − exp(−t/T ). 100 ΠT [r] = T ln . 100 − r ΠT [90] = T ln 10, W = (1 − Π0 ) 2
ΠT [95] = T ln 20.
S . Π0
D (W ) = (1 −
Π20 )
S Π0
2 .
FT (t) = P [W ≤ t] = 1 − (1 − Π0 ) exp(−t/T ). 100(1 − Π0 ) ΠW [r] = max 0, T ln . 100 − r W 0 , a feltételes várakozási idő eloszlása megegyezik a T eloszlásával.
178
20. táblázat. Π0 a függvényében GI/M/1 rendszernél
1
a 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 0.950 0.980 0.999
H2 0.815535 0.662348 0.536805 0.432456 0.343070 0.263941 0.191856 0.124695 0.061057 0.030252 0.012039 0.000600
E2 0.970820 0.906226 0.821954 0.724695 0.618034 0.504159 0.384523 0.260147 0.131782 0.066288 0.026607 0.001333
E3 0.987344 0.940970 0.868115 0.776051 0.669467 0.551451 0.626137 0.289066 0.147390 0.074362 0.029899 0.001500
U 0.947214 0.887316 0.817247 0.734687 0.639232 0.531597 0.412839 0.284028 0.146133 0.074048 0.029849 0.001500
D 0.999955 0.993023 0.959118 0.892645 0.796812 0.675757 0.533004 0.371370 0.193100 0.098305 0.039732 0.001999
H2 0.810575 0.624404 0.444949 0.281265 0.154303 0.081265 0.044949 0.024404 0.010495 0.004999 0.001941 0.000095
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/GIM1/GIM1.html
1
az első H2 eloszlásnál p1 = 0.4, µ1 = 0.5λ, µ2 = 3λ. A második H2 eloszlásnál p1 = 0.024405, µ1 = 2p1 λ, és µ2 = 2p2 λ.
179
7.1.14. GI/M/c Sorbanállási képletek 21. táblázat. GI/M/c Sorbanállási rendszer Legyen Πn , n = 0, 1, 2, . . . az érkezési pillanatokban a rendszerben tartózkodó igények stacionáris eloszlása. Ekkor
Πn =
c−1 P (−1)i−n ni Ui , n = 0, 1, . . . , c − 2, i=n
Dω n−c ,
n = c − 1, c, . . . ,
ahol ω a ω = A∗ [cµ(1 − ω)] egyenlet egyértelmű megoldása, 0 < ω < 1, gj = A∗ [jµ], j = 1, 2, . . . , c, j = 0, 1, j Q gi Cj = , j = 1, 2, . . . , c, 1−gi i=1
#−1 c c X c(1 − g ) − j) 1 j j + D= 1 − ω j=1 Cj (1 − gj ) c(1 − ω) − j és c c X c(1 − gj ) − j) j , n = 0, 1, . . . , c − 1. Un = DCn C (1 − gj ) c(1 − ω) − j j=n+1 j "
FT (t) = P [W ≤ t] = 1 − P [W > 0]e−cµ(1−ω)t , t ≥ 0, ahol P [W > 0] =
DS S D . W = . E[W |W > 0] = . 2 1−ω c(1 − ω) c(1 − ω)
Ha c(1 − ω) 6= 1, akkor FT (t) = P [ω ≤ t] = 1 + (G − 1)e−µt − Ge−cµ(1−ω)t , ahol G=
D . (1 − ω)[1 − c(1 − ω)]
Amikor c(1 − ω) = 1, akkor
180
t ≥ 0,
21. táblázat. GI/M/c Sorbanállási rendszer (folytatás) Dµt e−µt , t ≥ 0. FT (t) = P [ω ≤ t] = 1 − 1 + 1−ω Továbbá T = W + S. c−1
X λS P0 = 1 − − λS Πj−1 c j=1
1 1 − . j c
( Pn =
λSΠn−1 n, λSΠn−1 c,
n = 1, 2, . . . , c − 1, n = c, c + 1, . . . .
181
7.1.15. M/G/1 Prioritásos sorbanállási rendszer 22. táblázat. M/G/1 Sorbanállási rendszer (osztályok, prioritás nélkül) n osztály szerint csoportosítjuk az igényeket, ahol az i-edikbe tartozók λi , i = 1, 2, . . . , n paraméterű Poisson-eloszlás szerint érkeznek, és a kiszolgálási időkre E[Si ] = 1/µi , E[S2i ], E[Si3 ]. Minden igényt FCFS alapján szolgálunk ki. Nyilvánvalóan az összesített beérkezési folyamat Poisson-eloszlású lesz, melynek paramétere λ = λ1 + λ2 + . . . + λn . A kiszolgálási időkre λ2 λn λ1 E[S1 ] + E[S2 ] + . . . + E[Sn ], λ λ λ λ1 λ2 λn E[S 2 ] = E[S12 ] + E[S22 ] + . . . + E[Sn2 ], λ λ λ
S=
és E[S 3 ] =
λ2 λn λ1 E[S13 ] + E[S23 ] + . . . + E[Sn3 ], λ λ λ
A Pollaczek-formula alapján W =
λE[S 2 ] . 2(1 − a)
Osztályonként a rendszerben eltöltött átlagos idő T i = W + E[Si ],
i = 1, 2, . . . , n.
Az összesített átlagos tartózkodási időre T =
λ1 λ2 λn T 1 + T 2 + . . . + T n. λ λ λ
A sorbanállási idő szórásnégyzete D2 (W ) =
λE[S 3 ] λ2 (E[S 2 ])2 + . 3(1 − a) 4(1 − a)2
Osztályonként a rendszerben eltöltött idő szórásnégyzete D2 (Ti ) = D2 (W ) + D2 (Si ),
i = 1, 2, . . . , n.
T második momentuma osztályonként
182
22. táblázat. M/G/1 Sorbanállási rendszer (osztályok, prioritás nélkül) (folytatás) 2
E[Ti2 ] = D2 (Ti ) + T i ,
i = 1, 2, . . . , n.
Így az összesített második momentum E[T 2 ] =
λ2 λn λ1 E[T12 ] + E[T22 ] + . . . + E[Tn2 ], λ λ λ
és 2
D2 (T ) = E[T 2 ] − T . http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MG1NoPrio/MG1NoPrio.html
183
23. táblázat. M/G/1 Relatív prioritásos rendszer (ezt az elvet head-of-the-line-ként is ismerik (HOL)) Az n igényosztály közül az 1 csoportba tartozók a legfontosabbak, és az n-edikbe tartozók a legkevésbé. Az i-edik osztályba tartozó igények λi paraméterű Poisson-folyamatként érkeznek. Minden osztálynak saját kiszolgálási ideje van véges momentumokkal. Az igényeket relatív prioritásos elv szerint szolgálják ki. Az összesített beérkezési folyamat Poisson-eloszlású lesz az alábbi paraméterrel: λ = λ1 + λ2 + . . . + λn . A kiszolgálási idő első három momentuma az alábbi képlet szerint határozható meg λ1 λ2 λn E[S1 ] + E[S2 ] + . . . + E[Sn ], λ λ λ λ2 λn λ1 E[S 2 ] = E[S12 ] + E[S22 ] + . . . + E[Sn2 ], λ λ λ
S=
és E[S 3 ] =
λ1 λ2 λn E[S13 ] + E[S23 ] + . . . + E[Sn3 ], λ λ λ
Legyen ρj = λ1 E[S1 ] + λ2 E[S2 ] + . . . + λj E[Sj ],
j = 1, 2, . . . , n,
és vegyük észre, hogy ρn = ρ = λS. Az átlagos sorbanállási idők: W j = E[Wj ] = j = 1, 2, . . . , n,
λE[S 2 ] , 2(1 − ρj−1 )(1 − ρj ) ρ0 = 0.
Az átlagos sorhosszak Q j = λj · W j ,
j = 1, 2, . . . , n.
Az egyesített átlagos sorbanállási idő W =
λ1 λ2 λn E[W1 ] + E[W2 ] + . . . + E[Wn ]. λ λ λ
184
23. táblázat. M/G/1 Relatív prioritásos rendszer (folytatás) A rendszerben eltöltött átlagos idők T j = E[Tj ] = E[Wj ] + E[Sj ],
j = 1, 2, . . . , n,
és a rendszerben tartózkodó igények átlaga N j = λj · T j ,
j = 1, 2, . . . , n.
Az összesített átlagos tartózkodási idő T = W + S. Az összesített átlagos sorhossz Q = λ · W, és a rendszerben tartózkodó igények átlagos száma N = λ · T. Osztályonként a rendszerben eltöltött idő szórásnégyzete λE[S 3 ] D2 (Tj ) = D2 (Sj ) + 3(1 − ρj−1 )2 (1 − ρj ) j P 2 2 2 λE[S ] 2 λi E[Si ] − λE[S ] i=1 + 4(1 − ρj−1 )2 (1 − ρj )2 j−1 P λi E[Si2 ] λE[S 2 ] i=1 + , j = 1, 2, . . . , n. 2(1 − ρj−1 )3 (1 − ρj ) A rendszerben eltöltött idő szórásnégyzete D2 (T ) = +... +
λ1 2 λ2 2 2 [D (T1 ) + T 1 ] + [D2 (T2 ) + T 2 ] λ λ
λn 2 2 2 [D (Tn ) + T n ] − T . λ
Osztályonként a sorbanállási idő szórásnégyzete D2 (Wj ) = D2 (Tj ) − D2 (Sj ),
j = 1, 2, . . . , n.
185
23. táblázat. M/G/1 Relatív prioritásos rendszer (folytatás) 2
Ismert, hogy E[Wj2 ] = D2 (Wj ) + W j ,
j = 1, 2, . . . , n,
ezért E[W 2 ] =
λ2 λn λ1 E[W12 ] + E[W22 ] + . . . + E[Wn2 ]. λ λ λ
Végül 2
D2 (W ) = E[W 2 ] − W . http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MG1Relativ/MG1Relativ.html
186
24. táblázat. M/G/1 Abszolút prioritásos sorbanállási rendszer Az n igény-osztály közül az 1. csoportba tartozók a legfontosabbak, és az n-edikbe tartozók a legkevésbé. Az i-edik osztályba tartozó igények λi paraméterű Poisson folyamatként érkeznek. Minden osztálynak saját kiszolgálási ideje van véges momentumokkal, E[Si ] = 1/µi , E[Si2 ], E[Si3 ]. Az igényeket megszakításos prioritási elv szerint szolgálják ki, azaz ha j -dik osztályba tartozó igény kiszolgálása folyik, miközben i < j -dik osztályba tartozó igény beérkezik, akkor a kiszolgálás megszakad, és az i igény kiszolgálása kezdődik el. A megszakított igény a saját osztálybeli igények sorának az elejére áll, és ha legközelebb rákerül a sor, akkor a megszakítás helyétől folytatódik a kiszolgálás. Az összesített beérkezési folyamat Poisson-eloszlású lesz az alábbi paraméterrel λ = λ1 + λ2 + . . . + λn . A kiszolgálási idő első három momentuma az alábbi képlet szerint határozható meg: λ2 λn λ1 E[S1 ] + E[S2 ] + . . . + E[Sn ], λ λ λ λ1 λ2 λn E[S 2 ] = E[S12 ] + E[S22 ] + . . . + E[Sn2 ], λ λ λ λ2 λn λ1 E[S 3 ] = E[S13 ] + E[S23 ] + . . . + E[Sn3 ]. λ λ λ S=
Legyen ρj = λ1 E[S1 ] + λ2 E[S2 ] + . . . + λj E[Sj ],
j = 1, 2, . . . , n,
és vegyük észre, hogy ρn = ρ = λS. Osztályonként a rendszerben eltöltött átlagos idők j P λi E[Si2 ] 1 i=1 T j = E[Tj ] = E[Sj ] + , 1 − ρj−1 2(1 − ρj ) ρ0 = 0,
j = 1, 2, . . . , n.
A megfelelő sorbanállási idők W j = E[Tj ] − E[Sj ],
j = 1, 2, . . . , n.
A j-dik sor átlagos hossza
187
24. táblázat. M/G/1 Abszoluút prioritásos sorbanállási rendszer (folytatás) Q j = λj W j ,
j = 1, 2, . . . , n.
Az összesített átlagos sorbanállási idő, W , az alábbi formában adható meg: W =
λ1 λ2 λn E[W1 ] + E[W2 ] + . . . + E[Wn ]. λ λ λ
Osztályonként a rendszerben tartózkodó igények átlagos száma N j = λj W j ,
j = 1, 2, . . . , n.
A rendszerben való átlagos tartózkodási idő T =
λ1 λ2 λn T 1 + T 2 + . . . + T n = W + S. λ λ λ
A sorban tartózkodó igények átlagos száma Q = λ · W, és a rendszerben tartózkodó igények átlagos száma N = λ · T. Osztályonként a rendszerben eltöltött idő szórásnégyzete
D2 (Sj ) + D2 (Tj ) = (1 − ρj−1 )2 j P
λi E[Si3 ]
E[Sj ]
j−1 P
λi E[Si2 ]
i=1
(1 − ρj−1 )3 2 j P 2 λi E[Si ]
i=1 i=1 + 3(1 − ρj−1 )2 (1 − ρj ) 4(1 − ρj−1 )2 (1 − ρj )2 j−1 j P P 2 2 λi E[Si ] λi E[Si ] i=1 i=1 , ρ0 = 0, j = 1, 2, . . . , n. + 2(1 − ρj−1 )3 (1 − ρj )
+
Az összesített szórásnégyzet D2 (T ) = +... +
λ1 2 λ2 2 2 [D (T1 ) + T 1 ] + [D2 (T2 ) + T 2 ] λ λ
λn 2 2 2 [D (Tn ) + T n ] − T . λ
Osztályonként a sorbanállási idő szórásnégyzete D2 (Wj ) = D2 (Tj ) − D2 (Sj ),
j = 1, 2, . . . , n. 188
24. táblázat. M/G/1 Abszolút prioritásos sorbanállási rendszer (folytatás) Mivel, 2
E[Wj2 ] = D2 (Wj ) + W j ,
j = 1, 2, . . . , n,
így E[W 2 ] =
λ1 λ2 λn E[W12 ] + E[W22 ] + . . . + E[Wn2 ]. λ λ λ
Végül 2
D2 (W ) = E[W 2 ] − W . http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MG1Absolute/MG1Absolute.html
189
25. táblázat. M/G/1 Processzorosztásos sorbanállási rendszer Az igények λ paraméterű Poisson-folyamat szerint érkeznek. A kiszolgálási idő eloszlásáról feltesszük, hogy Cox-típusú, azaz sűrűségfüggvényének Laplace-transzformáltja racionális törtfüggvény. Az átlagos kiszolgálási időt jelöljük 1/µ- vel. A kiszolgálási elv legyen Processzor Sharing (processzorosztásos) amely azt jelenti, hogyha már n − 1 igény van a rendszerben, akkor az újonnan érkező (és az összes többi) csak µ/n intenitású kiszolgálást kap. Ekkor Pn = ρn (1 − ρ), n = 0, 1, . . . , ahol ρ = λ/µ. Továbbá N=
ρ , 1−ρ
E[T |S = t] =
t S , és T = . 1−ρ 1−ρ
Végül E[W |S = t] =
ρS ρt , és W = . 1−ρ 1−ρ
http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MG1Process/MG1Process.html
190
26. táblázat. M/G/c processzorosztásos sorbanállási rendszer Az igények λ paraméterű Poisson-folyamat szerint érkeznek. A kiszolgálási idő eloszlásáról feltesszük, hogy Cox-típusú, azaz sűrűségfüggvényének Laplace-transzformáltja racionális törtfüggvény. Az átlagos kiszolgálási időt jelöljük 1/µ -vel. Amikor a rendszerben tartózkodó igények száma N kisebb, mint c, akkor minden igényre jut egy saját kiszolgáló, vagyis a kiszolgálási intenzitás minden esetben µ. Amikor azonban N > c, akkor minden igény cµ/N kiszolgálási intenzitást kap. Meg lehet mutatni, hogy ebben az esetben az átlagokra vonatkozó szokásos stacionárius rendszerjellemzők megegyeznek az M/M/c rendszer jellemzőivel. Azonban a tartózkodási idő és várakozási idő eloszlásfüggvényét zárt alakban általában nem tudjuk megadni.
191
7.1.16. M/M/c Prioritásos rendszer 27. táblázat. M/M/c relatív prioritásos (HOL) sorbanállási rendszer Az n osztályba tartozó igények közül az i-dik osztálybeliek λi paraméterű Poissonfolyamat szerint érkeznek azzal a megszorítással, hogy mindegyik kiszolgálási ideje ugyanolyan paraméterű exponencionális eloszlású. Nyilvánvalóan az összesített beérkezési folyamat Poisson lesz, melynek paramétere λ = λ1 +λ2 +. . .+λn . A kiszolgáló kihasználtsága λ λS = , c cµ C[c, ρ]S W W1 = , c(1 − λ1 S/c)
a=
és igazak az alábbi összefüggések: C[c, ρ]S Wj = j−1 j , P P c 1− S λi /c 1 − S λi /c i=1
W j = W j + S,
i=1
j = 1, 2, . . . , n.
Q j = λj · W j ,
j = 1, 2, . . . , n.
N j = λj · T j ,
j = 1, 2, . . . , n.
W =
j = 2, . . . , n.
λn λ1 λ2 + + ... + . λ λ λ
Q = λ · W. T = W + S. N = λ · T. http://irh.inf.unideb.hu/user/jsztrik/education/03/HU/MMcPrio/MMcPrio.html
192
Irodalomjegyzék [1] Adan, I., and Resing, J. Queueing Theory. http://web2.uwindsor.ca/math/hlynka/qonline.html. [2] Allen, A. O. Probability, statistics, and queueing theory with computer science applications, 2nd ed. Academic Press, Inc., Boston, MA, 1990. [3] Anisimov, V., Zakusilo, O., and Donchenko, V. Elements of queueing theory and asymptotic analysis of systems. Visha Skola, Kiev, 1987. [4] Artalejo, J., and Gómez-Corral, A. Retrial queueing systems. Springer, Berlin, 2008. [5] Asztalos, D. Véges forrású tömegkiszolgálási modellek alkalmazása számítógépes rendszerekre. Alkalmazott Matemaika Lapok (1979), 89–101. [6] Begain, K., Bolch, G., and Herold, H. Practical perfromance modeling, Application of the MOSEL language. Wiley & Sons, New York, 2001. [7] Bolch, G., Greiner, S., de Meer, H., and Trivedi, K. Queueing networks and Markov chains, 2nd ed. Wiley & Sons, New York, 2006. [8] Bose, S. An introduction to queueing systems. Kluwer Academic/Plenum Publishers, New York, 2002. [9] Chee-Hock, N., and Boon-He, S. Queueing modelling fundamentals, 2nd ed. Wiley & Son, Chichester, 2002. [10] Cooper, R. Introduction to Queueing Theory, 3-rd Edition. CEE Press, Washington, 1990. http://web2.uwindsor.ca/math/hlynka/qonline.html. [11] Csige, L., and Tomkó, J. A gépkiszolgálási probléma exponenciális eloszlások esetén. Alkalmazott Matematikai Lapok (1982), 107–124. [12] Daigle, J. Queueing theory with applications to packet telecommunication. Springer, New York, 2005. [13] Daigle, J. N. Queueing theory for telecommunications. Addison-Wesley, Reading, MA, 1992. 193
[14] Dattatreya, G. Performance analysis of queuing and computer networks. CRC Press, Boca Raton, 2008. [15] Dshalalow, J. H. Frontiers in queueing : Models and applications in science and engineering. CRC Press., Boca Raton, 1997. [16] Falin, G., and Templeton, J. Retrial queues. Chapman and Hall, London, 1997. [17] Fazekas, I. Valószínűségszámítás. Kossuth Egyetemi Kiadó, Debrecen, 2000. [18] Franken, P., Konig, D., and Arndt, U. Schmidt, V. Queues and point processes. Academie Verlag, Berlin, 1981. [19] Gebali, F. Analysis of computer and communication networks. Springer, New York, 2008. [20] Gelenbe, E., and Mitrani, I. Analysis and synthesis of computer systems. Academic Press, London, 1980. [21] Gelenbe, E., and Pujolle, G. Introduction to queueing networks. Wiley & Sons, Chichester, 1987. [22] Gnedenko, B., Belyayev, Y., and Solovyev, A. Mathematical methods of reliability theory. Academic Press, New York, London, 1969. [23] Gnedenko, B., and Kovalenko, I. Introduction to queueing theory. Birkhaeuser, Boston, MA, 1991. [24] Gnyegyenko, B., and Beljajev, J.K.and Szolovjev, A. A megbízhatóságelmélet matematikai módszerei. Műszaki Könyvkiadó, Budapest, 1970. [25] Gross, D., Shortle, J., Thompson, J., and Harris, C. Fundamentals of queueing theory, 4th edition. John Wiley & Sons, New York, 2008. [26] Györfi, L., and Páli, I. Tömegkiszolgálás informatikai rendszerekben. Műegyetemi Kiadó, Budapest, 1996. [27] Haghighi, A., and Mishev, D. Queueing models in industry and business. Nova Science Publishers, Inc., New York, 2008. [28] Hall, R. W. Queueing methods for services and manufacturing. Prentice Hall, Englewood Cliffs, NJ, 1991. [29] Haribaskaran, G. Probability, queueing theory and reliability engineering. Laxmi Publications, Bangalore, 2006. [30] Haverkort, B. Performance of computer communication systems: A model-based approach. Wiley & Sons, New York, 1998. [31] Hlynka, M. Queueing Theory Page. http://web2.uwindsor.ca/math/hlynka/queue.html. 194
[32] Ivcsenko, G., Kastanov, V., and Kovalenko, I. Theory of queueing systems. Nauka, Moscow, 1982. [33] Jain, R. The art of computer systems performance analysis. Wiley & Sons, New York, 1991. [34] Jaiswal, N. Priority queues. Academic Press, New York, 1969. [35] Jereb, L., and Telek, M. Sorbanállásos rendszerek. Oktatási segédlet, BME Híradástechnikai Tanszék. http://webspn.hit.bme.hu/˜telek/notes/sokfelh.pdf. [36] Karlin, S., and Taylor, H. Sztochasztikus folyamatok. Gondolat Kiadó, Budapest, 1985. [37] Khintchine, A. Mathematical methods in the theory of queueing. Hafner, New York, 1969. [38] Kleinrock, L. Queueing systems. Vol. I. Theory. John Wiley & Sons, New York, 1975. [39] Kleinrock, L. Sorbanállás, kiszolgálás : Bevezetés a tömegkiszolgálási rendszerek elméletébe. Műszaki Kiadó, Budapest, 1975. [40] Kleinrock, L. Queueing systems. Vol. II: Computer applications. John Wiley & Sons, New York, 1976. [41] Kobayashi, H. Modeling and Analysis: An Introduction to System Performance Evaluation Methodology. Addison-Wesley, Reading, MA, 1978. [42] Kobayashi, H., and Mark, B. System modeling and analysis: Foundations of system performance evaluation. Pearson Education Inc., Upper Sadle River, 2008. [43] Korolyuk, V., and Korolyuk, V. Stochastic models of systems. Kluwer Academic Publishers, Dordrecht, London, 1999. [44] Kovalenko, I., Pegg, P., and Kuznetzov, N. Mathematical theory of reliability of time dependent systems with practical applications. Wiley & Sons, New York, 1997. [45] Kulkarni, V. Modeling, analysis, design, and control of stochastic systems. Springer, New York, 1999. [46] Lakatos, L., Szeidl, L., and Telek, M. Informatikai algoritmusok II. ELTE Eötvös Kiadó, 2005, ch. Tömegkiszolgálás, pp. 1298–1347. [47] Lavenberg, S., e. Computer performance modeling handbook. Academic Press, New York, 1983. [48] Mieghem, P. Performance analysis of communications networks and systems. Cambridge University Press, Cambridge, 2006. 195
[49] Nelson, R. Probability, stochastic processes, and queueing theory, The mathematics of computer performance modeling. Springer-Verlag, New York, 1995. [50] Ovcharov, L., and Wentzel, E. Applied Problems in Probability Theory. Mir Publishers, Moscow, 1986. [51] Prékopa, A. Valószínűségelmélet. Műszaki Könyvkiadó, Budapest, 1962. [52] Pósafalvi, A., and Sztrik, J. On the heterogeneous machine interference with limited server’s availability. European Journal of Operational Research 28 (1987), 321–328. [53] Pósafalvi, A., and Sztrik, J. A numerical approach to the repairman problem with two different types of machines. Journal of Operational Reseach Society 40 (1989), 797–803. [54] Ravichandran, N. Stochastic Methods in Reliability Theory. John Wiley and Sons, 1990. [55] Reimann, J. Valószínűségelmélet és matematikai statisztika mérnököknek. Tankönyvkiadó, Budapest, 1992. [56] Rényi, A. Valószínűségszámítás. Tankönyvkiadó, Budapest, 1973. [57] Ross, S. M. Introduction to Probability Models. Academic Press, Boston, 1989. [58] Saaty, T. Elements of queueing theory with applications. Dover Publications, Inc., New York, 1961. [59] Sahner, R., Trivedi, K., and Puliafito, A. Performance and reliability analysis of computer systems – An example-based approach using the SHARPE software package. Kluwer Academic Publisher, Boston, M.A., 1996. [60] Sauer, C., and Chandy, K. Computer systems performance modelling. Prentice Hall, Englewood Cliffs, N.J., 1981. [61] Stewart, W. Introduction to the numerical solution of Markov chains. Princeton University Press, Princeton, 1995. [62] Stewart, W. Probability, Markov chains, queues, and simulation. Princeton University Press, Princeton, 2009. ~ [63] Sztrik, J. On the finite-source G/m/r queues. European Journal of Operational Research 20 (1985), 261–268. ~ [64] Sztrik, J. On the G/M/r/F IF O machine interference model with state-dependent speeds. Journal of Operational Researc Society 39 (1988), 201–201. [65] Sztrik, J. Some contribution to the machine interference problem with heterogeneous machines. Journal of Information Processing and Cybernetics 24 (1988), 137–143. 196
[66] Sztrik, J. Bevezetés a sorbanállási elméletbe és alkalmazásaiba. Kossuth Egyetemi Kiadó, Debrecen, 2000. http://irh.inf.unideb.hu/user/jsztrik/education/eNotes.htm. [67] Sztrik, J. Kulcs a sorbanállási elmélethez és alkalmazásaihoz. Kossuth Egyetemi Kiadó, Debrecen, 2004. http://irh.inf.unideb.hu/user/jsztrik/education/eNotes.htm. [68] Sztrik, J. Gyakorlati sorbanállási elmélet. Oktatási segédlet, Debreceni Egyetem, Informatikai Kar, 2005. http://irh.inf.unideb.hu/user/jsztrik/education/09/index.html. [69] Sztrik, J. Informatikai rendszerek hatékonyságának elemzése. EKF Líceum Kiadó, Eger, 2007. [70] Takagi, H. Queueing analysis. A foundation of performance evaluation. Volume 1: Vacation and priority systems, part 1. North-Holland, Amsterdam, 1991. [71] Takagi, H. Queueing analysis. A foundation of performance evaluation. Volume 2: Finite Systems. North-Holland, Amsterdam, 1993. [72] Takagi, H. Queueing analysis. A foundation of performance evaluation. Volume 3: Discrete-Time Systems. North-Holland, Amsterdam, 1993. [73] Takács, L. Introduction to the theory of queues. Oxford University Press, New York, 1962. [74] Tijms, H. Stochastic Modelling and Analysis: A Computational Approach. Wiley & Sons, New York, 1986. [75] Tijms, H. A first course in stochastic models. Wiley & Son, Chichester, 2003. [76] Tomkó, J. Tartózkodási időproblémák Markov-láncokra. Alkalmazott Matematikai Lapok (1982), 91–106. [77] Trivedi, K. Probability and Statistics with Reliability, Queuing, and Computer Science Applications, 2-nd edition. Wiley & Son, New York, 2002. [78] Ushakov, I. A., and Harrison, R. A. Handbook of reliability engineering. Transl. from the Russian. Updated ed. John Wiley & Sons, New York, NY, 1994. [79] van Hoorn, M. Algorithms and approximations for queueing systems. Centrum voor Wiskunde en Informatica, Amsterdam, 1984. [80] Virtamo, J. Queueing Theory. http://www.netlab.tkk.fi/opetus/s383143/kalvot/english.shtml . [81] Wentzel, E., and Ovcharov, L. Applied problems in probabbility theory. Mir Publisher, Moscow, 1986. [82] Yashkov, S. Processor-sharing queues: some progress in analysis. Queueing Systems: Theory and Applications 2 (1987), 1–17.
197