J. Virtamo 38.3143 Jonoteoria / Jonoverkot 1 JONOVERKOT Useasta jonosta muodostuva verkko Queueing network Network of queues Esimerkiksi Asiakkaita siirtyy postin, pankin, kaupan jonoista toiseen Datapaketteja kulkee reititinverkon reitittimeltä toiselle Historiaa Burken teoreema, Burke (1957), Reich (1957) Jackson (1957, 1963): avoimet jonoverkot, tulomuotoinen ratkaisu Gordon ja Newell (1967): suljetut jonoverkot Baskett, Chandy, Muntz, Palacios (1975): jonotyypin yleistykset Reiser ja Lavenberg (1980, 1982): keskiarvoanalyysi, MVA
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 2 Jacksonin jonoverkko (avoin jonoverkko) Jacksonin avoin jonoverkko muodostuu M solmusta (jonosta) seuraavin oletuksin: Solmu i on FIFO-jono rajaton määrä odotuspaikkoja Palveluaika jonossa noudattaa jakaumaa Exp(µ i ) kussakin jonossa asiakkaan palveluaika saa arvon riippumatta ajasta muissa jonoissa huom. pakettiverkossa paketin lähetysaika todellisuudessa on sama kaikissa jonoissa (tai poikkeaa vain vakiotekijällä, linjanopeuden käänteisarvolla) tämä riippuvuus ei käytännössä kuitenkaan vaikuta merkittävästi järjestelmän käyttäytymiseen (ns. Kleinrockin riippumattomuusoletus) Poistuttuaan jonosta i asiakas valitsee seuraavan jonon j satunnaisesti todennäköisyydellä q i,j tai poistuu systeemistä todennäköisyydellä q i,d mallia voidaan laajentaa siten, että sidotut reitit ovat mahdollisia Verkko on avoin ulkopuolisille saapumisille lähteestä s saapuu asiakkaita Poisson-virtana intensiteetillä λ niistä osa q s,i saapuu jonoon i (intensiteetti λq s,i )
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 3 Jacksonin verkon solmu i s = source, ulkoinen lähde d = destination, nielu N i = asiakkaiden lukumäärä jonossa i q s, i q N i i, d 1 q 1, i i i i i q. i, 1 i... M q M, i Exp( i ) i q i, M Ilman komplikaatioita voitaisiin olettaa tilariippuva palvelunopeus µ i = µ i (N i ). Tämän avulla voitaisiin kuvata mm. usean palvelimen solmuja. Merkintöjen keventämiseksi seuraavassa oletetaan vakio µ i. Jacksonin verkko Verkon avoimuus edellyttää, että jokaisesta jonosta on ainakin yksi polku ( 0) nieluun d eli että jokainen verkkoon saapunut asiakas lopulta poistuu siitä todennäköisyydellä 1. lähde s q s, 1 q s, 2 q s, 3 3 3 3 q 3, 2 1 1 3 q 3, 4 2 2 1 q 1, 2 2 q 2, 4 1 q 1, d 2 q 2, d 1 q 1, 4 4 q 4, 1 nielu d 4 4
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 4 Virtojen säilymisyhtälö Merkitään λ i = keskimääräinen asiakasvirta solmun i läpi. Vaikka ulkoiset saapumisvirrat eri solmuihin ovat poissonisia, mikään ei takaa, että virrat verkon sisällä solmujen välillä olisivat myös poissonisia. Yleensä ne eivät olekaan. poikkeuksena tapaukset, joissa verkossa ei ole silmukoita eli asiakas ei koskaan palaa solmuun, jossa on jo vieraillut; tällöin poissonisuus seuraa Burken teoreemasta. Virta λ i on peräisin suoraan lähteestä tulevasta virrasta ja muista solmuista haarautuvista virroista. Säilymisehdot muodostavat lineaarisen yhtälöryhmän, josta λ i :t voidaan ratkaista. λ i = λq s,i + M λ j q j,i i = 1,..., M Vastaava yhtälö pätee nielulle d. Koska koko verkosta poistuvan virran täytyy olla yhtäsuuri kuin saapuva virta, pätee (q s,d = 0): λ = M λ j q j,d Esimerkki λ 1 = λ + qλ 1 1 1 q 1-q λ 1 = λ 1 q Huom. λ 1 ei ole poissoninen vaikka λ onkin.
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 5 Jacksonin teoreema Asiakkaiden lukumäärät N i verkon eri solmuissa, i = 1,..., M, ovat toisistaan riippumattomia. Jono i käyttäytyy ikään kuin saapumisvirta λ i olisi poissoninen. Tilavektori Verkon tilan määrää vektori N = (N 1,..., N M ). Sen mahdollisia arvoja merkitään n = (n 1,..., n M ). Verkko on tilassa n, kun N = n eli N 1 = n 1,..., N M = n M. Tilatodennäköisyys p(n) = P{N = n} Määritellään p(n) = 0, jos jokin n i < 0 Jacksonin teoreema p(n) = p 1 (n 1 ) p M (n M ) = M p i (n i ) missä p i (n i ) = (1 ρ i )ρ n i i ρ i = λ i /µ i Verkko käyttäytyy ikään kuin se muodostuisi joukosta riippumattomia M/M/1-jonoja. Tilatodennäköisyys on tulomuotoinen riippumattomuus. Jos jossain solmussa on paljon asiakkaita, siitä ei seuraa mitään sen suhteen paljonko esim. naapurisolmuissa on asiakkaita. Jos palvelunopeus on tilariippuva µ i (n i ), niin p i (n i ) = p i (0) n i λ n i i µ i (j) missä p i (0) määräytyy normiehdosta
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 6 Jacksonin teoreeman todistus Merkitään e i = (0,..., 0, }{{} 1, 0,..., 0). i:s alkio Tällöin on esimerkiksi p(n e i ) = p(n 1,..., n i 1, n i 1, n i+1,..., n M ) Nyt voidaan kirjoittaa globaali tasapainoehto verkon tilalle n (yksi yhtälö jokaista mahdollista tilaa n, n i 0 i, kohti): n 2 λ p(n) + M µ i 1 ni >0 p(n) = λ M + M + M q i,d µ i p(n + e i ) q s,i p(n e i ) q j,i µ j p(n + e j e i ) missä vasen puoli edustaa todennäköisyysvirtaa pois tilasta n (kun ollaan tilassa n ja verkkoon tulee mikä tahansa saapuminen tai mistä tahansa verkon jonosta tapahtuu poistuminen, siirrytään uuteen tilaan) ja oikea puoli virtaa tilaan n (vrt. kuvan siirtymäkaavio). n 1 jonoon 2 saapuu asiakas ulkopuolelta jonosta 2 poistuu asiakas ulkopuolelle jonoon 1 saapuu asiakas ulkopuolelta jonosta 1 poistuu asiakas ulkopuolelle asiakas siirtyy jonosta 2 jonoon 1 asiakas siirtyy jonosta 1 jonoon 2 Huom. Jälleen voitaisiin sallia tilariippuvuus µ i = µ i (n i ).
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 7 Jacksonin teoreeman todistus (jatkoa) Kirjoitetaan oikean puolen ensimmäisessä termissä oleva tekijä λq s,i toiseen muotoon virtojen säilymisehdon avulla: λq s,i = λ i M λ j q j,i. Yhtälö saa muodon λ p(n) + M µ i 1 ni >0 p(n) = + M + M λ i p(n e i ) M q i,d µ i p(n + e i ) q j,i µ j p(n + e j e i ) λ j q j,i p(n e i ) Sijoitetaan tähän Jacksonin teoreeman (väite) mukainen tulomuotoinen ratkaisu yritteenä ja osoitetaan, että yhtälö toteutuu. Kyseiselle tulomuotoiselle yritteelle pätee λ i p(n e i ) = µ i 1 ni >0 p(n) λ j p(n e i ) = µ j p(n e i + e j ) λ i p(n) = µ i p(n + e i ) Sijoitetaan nämä relaatiot tässä järjestyksessä oikean puolen kolmeen ensimmäiseen termiin.
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 8 Jacksonin teoreeman todistus (jatkoa) Yhtälö on nyt saatu muotoon λ p(n) + M µ i 1 ni >0 p(n) = + M + M µ i 1 ni >0 p(n) M q i,d λ i p(n) q j,i µ j p(n + e j e i ) q j,i µ j p(n + e j e i ) Yhtälössä menevät vastakkain vasemman puolen toinen ja oikean puolen ensimmäinen termi, samoin oikean puolen toinen ja neljäs termi. Jäljelle jää λ p(n) = M q i,d λ i p(n) = p(n) M q i,d λ i mikä toteutuu, koska verkkoon tuleva ja siitä lähtevä virta ovat yhtäsuuret, λ = M λ i q i,d. Siten on osoitettu, että Jacksonin teoreeman mukaiset tulomuotoiset tilatodennäköisyydet todellakin toteuttavat verkkoa kuvaavan Markovin prosessin globaalit tasapainoyhtälöt.
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 9 Esimerkki λ 1 = λ + λ 2 λ 2 = q λ 1 ρ 1 = λ 1 /µ 1, ρ 2 = λ 2 /µ 2 λ λ 1 = 1 q λ 2 = λ q 1 q p(n 1, n 2 ) = (1 ρ 1 )ρ n 1 1 (1 ρ 2 )ρ n 2 2 Keskimääräiset jononpituudet 1 CPU 1 I/O 2 1 2 2 =q 1 (1-q) 1 N 1 = ρ 1 1 ρ 1, N2 = ρ 2 1 ρ 2, N = N1 + N 1 = ρ 1 1 ρ 1 + ρ 2 1 ρ 2 Keskimääräinen aika systeemissä T = N λ = ρ 1 λ(1 ρ 1 ) + ρ 2 λ(1 ρ 2 ) = λ 1 /µ 1 λ(1 λ 1 /µ 1 ) + λ 2 /µ 2 λ(1 λ 2 /µ 2 ) = S 1 1 λs 1 + S 2 1 λs 2 Ekvivalentti systeemi CPU 1/S 1 I/O 1/S 2 missä S 1 = λ 1 µ 1 λ = 1 1 q 1 keskimääräinen CPU-aika µ 1 S 2 = λ 2 µ 2 λ = q 1 q 1 keskimääräinen I/O-aika µ 2
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 10 Jacksonin verkon keskiarvotuloksia Oletetaan tilasta riippumattomat palvelunopeudet µ i. Keskimääräinen asiakkaiden lukumäärä solmussa i Keskimääräinen viipymisaika solmussa i N i = ρ i 1 ρ i Keskimääräinen odotusaika solmussa i W i = T i 1 µ i = ρ i 1 1 ρ i µ i Solmuun i saapuneen asiakkaan keskimääräinen viipymisaika verkossa T i = N i λ i = 1 1 ρ i 1 µ i = 1 µ i λ i T i,d = T i + M q i,j Tj,d vrt. virtojen säilymisyhtälö Tästä yhtälöryhmästä (i = 1,..., M) voidaan T i,d :t ratkaista. Asiakkaan keskimääräinen viipymisaika verkossa (keskiarvo koko asiakaspopulaation yli) Littlen tuloksen perusteella T = N λ = 1 λ λ i µ i λ i
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 11 Optimaalinen kapasiteetin jako Halutaan minimoida keskimääräinen viipymisaika T verkossa tai, mikä on sama asia, keskimääräinen asiakkaiden lukumäärä N verkossa. Oletetaan, että kapasiteetit µ i ovat muuten vapaasti valittavissa, mutta niitä rajoittaa ehto (kustannusehto) M µ i = C. N = M λ i µ i λ i = min!, µ i = C Käytetään Lagrangen kerroinmenetelmää ja minimoidaan H = M λ i µ i λ i + x( M µ i C) parametrien µ i suhteen ja määrätään x siten, että minimipiste toteuttaa rajoitusehdon λ i H = µ i (µ i λ i ) + x = 0 µ 2 i = λ i + (λ i /x) 1/2 Sijoittamalla tämä ehtoyhtälöön, saadaan 1 x = λ j C j µ i = λ i + λj j j λi λj (C j λ j ) Ensin allokoidaan pakollinen kapasiteetti λ i ; ylijäämäraha jaetaan λ i :den suhteessa.
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 12 Avoimen verkon saapumislause (Random Observer Property, vrt. PASTA) Avoimessa jonoverkossa mihin tahansa solmuun saapuvan asiakkaan näkemät tilatodennäköisyydet (todennäköisyys, että systeemi on tilassa n juuri ennen saapumista) ovat samat kuin tasapainotodennäköisyydet p(n). Todistus. Tarkastellaan jonosta i jonoon j siirtyvää asiakasta. Sijoitetaan näiden jonojen väliin kuvitteellinen jono 0, jossa palvelunopeus µ 0 on hyvin suuri. Rajalla µ 0 lisätty jono ei mitenkään vaikuta systeemin käyttäytymiseen: jonosta i jonoon j siirtyvät asiakkat viipyvät vain häviävän pienen hetken lisätyssä välijonossa. i 0 j Lisätty jono kuitenkin mahdollistaa siirtyvän asiakkaan vangitsemisen. Siirtyminen tapahtuu juuri sinä lyhyenä hetkenä, jolloin jonossa 0 on asiakas eli kun N 0 (t) = 1. Siirtyvän asiakkaan näkemä verkon tilajakauma on muiden jonojen (muiden kuin jono 0) yhteisjakauma ehdolla N 0 = 1. Nyt käytetään hyväksi sitä, että myös laajennettu systeemi muodostaa Jacksonin jonoverkon ja sen tilajakauma on tulomuotoinen. Merkitään laajennetun systeemin tilavektoria n :lla eli n = (n 0, n 1,..., n M ). Pätee p (n ) = P{N = n } = p 0 (n 0 )p 1 (n 1 ) p M (n M ) = p 0 (n 0 )p(n). P{N 1 = n 1,..., N M = n M N 0 = 1} = P{N 0 = 1, N 1 = n 1,..., N M = n M } P{N 0 = 1} = p(n)
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 13 Suljettu jonoverkko (Gordonin ja Newellin verkko) Suljettu jonoverkko muodostuu M solmusta. Se eroaa avoimesta jonoverkosta siinä, että ulkoista lähdettä ja nielua ei ole. Verkon sisällä kiertää K:n asiakkaan vakiopopulaatio. Kukin solmu i muodostaa FIFO-jonon, jossa palveluaika arvotaan muista riippumatta jakaumasta Exp(µ i ). Jälleen voitaisiin sallia tilariippuvat palvelunopeudet µ i (n i ). Jonosta i poistuva asiakas valitsee solmun j seuraavaksi kohteeksi todennäköisyydellä q i,j. Eri solmujen läpi kulkevat asiakasvirrat λ i toteuttavat virtojen säilymisehdon λ i = M λ j q j,i i = 1,..., M 1 2 1 1 2 2 1 2 3 3 3 3 4 4 4 4 Nämä muodostavat homogeenisen lineaarisen yhtälöryhmän. Yksi yhtälö on muista lineaarisesti riippuva, ja ratkaisu on vakiotekijää vaille yksikäsitteisesti määrätty. Olkoon (ˆλ 1,..., ˆλ M ) yhtälöryhmän jokin ratkaisu. Yleinen ratkaisu on muotoa α (ˆλ 1,..., ˆλ M ), missä α on vakio. Se mitä α:n arvoa todelliset virrat vastaavat, jää toistaiseksi määräämättä. Asia selviää ns. keskiarvoanalyysin yhteydessä. Merkitään kyseistä arvoa ˆα:lla, ts. λ i = ˆαˆλ i. Merkitään ˆρ i = ˆλ i /µ i. Nämä suureet ovat vastaavasti verrannollisia jonojen todellisiin kuormiin ρ i = λ i /µ i, nimittäin ρ i = ˆαˆρ i.
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 14 Gordonin ja Newellin lause Suljetun jonoverkon tasapainotodennäköisyydet ovat p(n) = 1 M ˆρ n i i, G(K, M) kun i n i = K 0, kun i n i K missä G(K, M) = n: i n i =K M ˆρ n i i Todistus on samantapainen kuin avoimessa jonoverkossa. Yksityiskohdat sivuutetaan. Todennäköisyysjakauma on siis tässäkin tapauksessa tulomuotoinen alueessa i n i = K (mutta ei kaikkialla!). Huom. Vaikka tekijöissä ˆρ i on määräämätön kerroin, itse ratkaisu on täysin määrätty, koska sama tekijä korotettuna potenssiin K esiintyy sekä tulossa että nimittäjän normitekijässä. Suljetun jonoverkon saapumislause (Lavenberg) Suljetussa jonoverkossa, jossa on K asiakasta, mihin tahansa solmuun saapuvan asiakkaan näkemät tilatodennäköisyydet ovat samat kuin tasapainotodennäköisyydet p[k 1](n) verkossa, jossa on K 1 asiakasta (vrt. asiakkaan näkemä jakauma Engsetin järjestelmässä; mielivaltainen asiakas on ikään kuin ulkopuolisen tarkkailijan roolissa). Lause voidaan todistaa samalla tavalla apujonon avulla kuin avoimen jonoverkon tapauksessa. Yksityiskohdat sivuutetaan.
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 15 Keskiarvoanalyysi MVA, Mean Value Analysis (Reiser ja Lavenberg) Halutaan selvittää asiakkaiden keskimääräiset lukumäärät Ni [K] sekä viipymisajat T i [K] samoin kuin asiakasvirtojen λ i absoluuttiset tasot eri jonoissa. Analyysi perustuu keskeisesti edellä esitettyyn saapumislauseeseen. Laskenta tapahtuu rekursiivisesti lisäten askelittain asiakkaiden lukumäärää verkossa. Tämän vuoksi asiakkaiden kokonaismäärä merkitään eksplisiittisesti näkyviin hakasuluissa. Keskimääräiselle viipymisajalle jonossa i pätee T i [K] = 1 µ i }{{} oma palveluaika + N i [K] 1 µ i }{{} edessä olevien asiakkaiden palveluun kuluva aika missä N i [K] on jonoon i saapuvan asiakkaan keskimäärin näkemä miehitys jonossa. Saapumislauseen perusteella pätee N i [K] = N i [K 1] missä N i [K 1] on tavallinen tasapainojakaumasta laskettu miehitys. Siten on T i [K] = (1 + N i [K 1]) 1 µ i
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 16 Keskiarvoanalyysi (jatkoa) Keskimääräinen miehitys jonossa i on N i [K] = K ˆλ i T i [K] ˆλ j T j [K] Todistus. Todelliset asiakasvirrat ovat λ i = ˆαˆλ i. Laventamalla lauseke ˆα:lla ja soveltamalla Littlen lausetta nähdään K ˆλ i T i [K] ˆλ j T j [K] = K λ i [K] T i [K] λ j [K] T j [K] = K N i [K] N j [K] = K N i [K] K = N i [K] Soveltamalla Littlen lausetta toiseen suuntaan saadaan todellinen asiakasvirta jonon i läpi: λ i [K] = N i [K] T i [K] = K ˆλi ˆλ j T j [K]
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 17 MVA-algoritmi Tulokset voidaan koota seuraavaksi rekursiiviseksi laskentamenetelmäksi. Rekursion alku: N i [0] = 0 Kun verkko on tyhjä, kaikki keskiarvot ovat nollia. Rekursioaskel: T i [K] = (1 + N i [K 1]) 1 µ i N i [K] = K λ i [K] = N i [K] T i [K] ˆλ i T i [K] ˆλ j T j [K] Keskimmäisessä kaavassa ˆλ i :t ovat mikä tahansa virtausyhtälöiden λ i = j λ j q j,i ratkaisu.
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 18 Esimerkki 1. Syklinen verkko... µ 1 = µ 2 = = µ M = µ Virtausyhtälöiden eräs ratkaisu on: ˆλ 1 = ˆλ 2 = = ˆλ M = 1 Koska kaikki jonot ovat samanlaisia, voidaan indeksit jättää pois. Rekursioyhtälöt ovat nyt T[K] = (1 + N[K 1]) 1 µ N[K] = K/M λ[k] = N[K]/ T[K] Lähtien alkuarvosta N[0] = 0 ratkaistaan keskiarvot suuremmille populaatioille T[1] = 1 T[2] = M+1 1 T[3] = M+2 1 µ M µ M µ N[1] = 1 N[2] = 2 N[2] = 3... N[K] = K M M M M λ[1] = 1 M µ λ[2] = 2 M+1 µ λ[2] = 3 M+2 µ λ[k] = Kun K M niin λ[k] K M µ (kierrokseen kuluva aika on M/µ, K kiertäjää). T[K] = M+K 1 M 1 µ K M+K 1 µ Kun K M niin λ[k] µ (kaikki jonot täynnä; asiakkaita lähtee keskim. 1/µ väliajoin).
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 19 Esimerkki 2. 2/3 1/3 1 2 K = 3 Virtausyhtälöiden eräs ratkaisu on: ˆλ 1 = 2, ˆλ 2 = 1 Lähtien alkuarvoista N 1 [0] = N 2 [0] = 0 ratkaistaan keskiarvot suuremmille populaatioille K = 1 T 1 [1] = 1 µ N 1 [1] = 1 λ 1 [1] = 2 3 µ 2/µ 2/µ+1/µ = 2 3 T 2 [1] = 1 µ N 2 [1] = 1 λ 2 [1] = 1 3 µ 1/µ 2/µ+1/µ = 1 3 K = 2 T 1 [2] = (1 + 2 3 ) 1 µ = 5 3 N 1 [2] = 2 λ 1 [2] = 6 7 µ 1 µ 2 5/3 2 5/3+1 4/3 = 10 7 T 2 [2] = (1 + 1 3 ) 1 µ = 4 3 N 2 [2] = 2 λ 2 [2] = 3 7 µ 1 µ 1 4/3 2 5/3+1 4/3 = 4 7 K = 3 T 1 [3] = (1 + 10 7 ) 1 µ = 17 7 N 1 [3] = 3 λ 1 [3] = 14 15 µ 1 µ 2 17/7 2 17/7+1 11/7 = 34 15 T 2 [3] = (1 + 4 7 ) 1 µ = 11 7 N 2 [3] = 3 λ 2 [3] = 7 15 µ 1 µ 1 11/7 2 17/7+1 11/7 = 11 15
J. Virtamo 38.3143 Jonoteoria / Jonoverkot 20 Nortonin teoreema Jonoverkoille voidaan johtaa samantapainen Nortonin teoreema kuin mitä käytetään lineaaristen piirien analyysissä. Jonoverkkojen tapauksessa teoreema voidaan todistaa käyttäen hyväksi verkon tunnettua tasapainojakaumaa. Kun ollaan kiinnostuneita vain verkon jonkun osan, esim. jonon i käyttäytymisestä, muu osa verkkoa voidaan korvata ekvivalentilla jonolla. N-n N asiakasta koko verkossa. N n asiakasta jonossa i. n asiakasta muussa osassa verkkoa. T(n) Lasketaan läpäisy (virta) T(n) oikosuljetulle systeemille asiakkaiden lukumäärän n funktiona. n =T(n) n N-n Muun verkon korvaavalla ekvivalentilla jonolla on tilariippuva palvelunopeus T(n). Jono i käyttäytyy samoin kuin alkuperäisessä verkossa.