8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v partenze Vi sono diverse stazioni in cui una parte meccanica deve venire pulita, verniciata, lucidata, asciugata, ecc. 1 Esempio: linea con riciclo arrivi dall’esterno 1 2 partenze riciclo Vi sono due macchine in cascata. La prima esegue una certa operazione e la seconda verifica che tale operazione sia stata eseguita correttamente. Nel caso in cui vi sia qualche imperfezione nella lavorazione, questa deve essere eseguita nuovamente. 2 Le reti di code vengono distinte in reti di code aperte Vi sono arrivi dall’esterno e vi sono parti che vengono instradate al di fuori del sistema. reti di code chiuse Il sistema è isolato: non vi sono né arrivi dall’esterno né parti che vengono instradate al di fuori del sistema. 3 Esempio: rete di code aperta 1 2 3 Esempio: rete di code chiusa 1 2 4 Come visto in precedenza la teoria delle code consente di calcolare in modo sistematico le grandezze caratteristiche a regime delle risorse ergodiche nel caso in cui sia i tempi di inter-arrivo che i tempi di servizio sono esponenziali. Tali risultati non sono in genere applicabili alle reti di code in cui gli arrivi in alcune risorse sono strettamente legati alle uscite delle altre risorse e non godono quindi necessariamente della proprietà di markovianeità. 5 Esiste tuttavia un importante teorema relativo alle code M/M/m che consente di utilizzare nello studio delle reti di code M/M/m i risultati visti in precedenza. Teorema di Burke: In una risorsa M/M/m ergodica e a regime, il processo di uscita è un processo poissoniano caratterizzato dallo stesso parametro del processo di ingresso. 6 Esempio: linea tandem a due stati con risorse M/M/1 1 2 La risorsa 2 vede in ingresso degli arrivi poissoniani che sono l’uscita dalla risorsa 1. Ogni singola risorsa può venire studiata separatamente. Numero medio di utenti nelle singole risorse a regime x1 ρ1 (1 ρ1 ) x2 ρ2 (1 ρ2 ) 7 Numero medio di utenti nella rete a regime x x1 x2 ρ1 ρ2 (1 ρ1 ) (1 ρ2 ) Tempo medio di attraversamento della rete a regime 1 2 1 1 μ 1 (1 ρ1 ) μ 2 (1 ρ2 ) 8 Reti di Code Markoviane Aperte Sono costituite da v risorse M/M/m. La i-esima risorsa ha tasso di servizio i e tasso di ingresso complessivo i . Il processo degli arrivi dall’esterno è poissoniano per ciascuna risorsa. Indichiamo con iin quello relativo alla i-esima risorsa. All’uscita dalla i-esima risorsa il cliente viene instradato alla risorsa j-esima con probabilità rij oppure viene instradato all’esterno con probabilità ri0. Chiaramente per ogni i, risulta v rij 1 j 0 9 Esempio: rete aperta composta da tre risorse M/M/1 1 1in v=3, 1 0.5 0.5 0.5 2 2in 1in = 2in = 7, Valgono inoltre le seguenti relazioni: 2 0.5 3 0.5 3 0.5 3in 3in = 14 λ 1 λ 1in 0.5 λ 3 in λ λ 2 2 0.5 λ 1 λ 3 λ 3in 0.5 λ 2 10 In generale, data una rete aperta markoviana con v risorse, possiamo scrivere v equazioni del tipo in λ i λ i v rji λ j j1 Equazioni di traffico della rete. Le probabilità rij vengono dette probabilità di instradamento o di routing. 11 Introducendo i vettori riga λ λ 1 λ v e definendo in λ in λ 1 r11 r1v R r rvv v1 λv in Matrice di routing le equazioni di traffico possono essere riscritte in forma matriciale come λ λ in λ R 12 da cui risulta che λ λ in (I R) -1 Per quanto riguarda l’ergodicità di una rete aperta vale il seguente Teorema: Una rete aperta è ergodica se e solo se è ergodica ogni singola risorsa. Si dimostra che se una rete è ergodica la matrice (I-R) è non singolare (condizione necessaria per l’ergodicità della rete). 13 Essendo tale condizione solo necessaria, può aversi che det(I-R) 0 senza che la rete sia ergodica. Esempio 1 R 0 0 0 1 1 - 1 I - R 0 1 2 det(I R) 0 Tale sistema non è però ergodico per ogni valore di , 1 e 2. Ad esempio non lo è se > 1 oppure > 2 . 14 Definiamo stato di una rete di code con v risorse, un vettore riga x con v componenti, la cui i-esima componente x(i) rappresenta il numero di utenti nella i-esima risorsa. x x(1) x(v) La probabilità di stato di una rete di code è definita come Π(x1 , , xv ) Pr(x(1) x1 , , x(v) xv ) 15 Teorema di Jackson: In una rete aperta di code M/M/m, ergodica e a regime 1. la probabilità che vi siano xi utenti nella i-esima risorsa può ricavarsi come se la risorsa fosse isolata e avesse tasso di arrivo i, dove i è soluzione di λ λ in (I R) -1 Πi si calcola con le formule viste per le code isolate. 2. la probabilità che la rete sia nello stato x x1 xv è Π(x1 , , xv ) Π1 (x1 ) Πv (xv ) 16 Le risorse sono pertanto stocasticamente indipendenti. Si dice anche che le reti di code M/M/m aperte ed ergodiche godono della forma prodotto. Se una rete è ergodica vale ancora la Legge di Little 17 Legge di Little in grande Sia in il tasso medio degli arrivi a regime nella rete e iin il tasso medio degli arrivi a regime nella i-esima risorsa v in in λ λi i1 Sia x il numero medio di utenti a regime nella rete e xi il numero medio di utenti a regime nella i-esima risorsa v x xi i1 x λ in dove indica il tempo medio di attraversamento dell’intera rete di code. 18 Esempio: rete aperta composta da tre risorse M/M/1 1 1 1in 0.5 0.5 0.5 2 2 2in 1in = 2in = 7, 0 0.5 0 R 0 0 0.5 0 0.5 0 0.5 3 0.5 3 0.5 3in 3in = 14 8/7 4/7 2/7 (I - R) 2/7 8/7 4/7 4/7 2/7 8/7 -1 λ 18 16 22 19 Siano 1 = 20, 2 = 32, allora 1 = 9/10, 3 = 33 2 = 1/2, 3 = 2/3. Inoltre Π(x1 , x2 , x3 ) Π1 (x1 ) Π2 (x2 ) Πv (xv ) e poiché vale la forma prodotto x1 x2 Π(x1 , x2, x3 ) (1 ρ1 )ρ1 (1 ρ2 )ρ2 (1 ρ3 )ρ3 x3 20 ρ3 ρ1 ρ2 x x1 x2 x3 12 (1 ρ1 ) (1 ρ2 ) (1 ρ3 ) 1in = 1in + 2in + 3in = 7 + 7 + 14 = 28 x 12 λ in 28 Tempo medio di attraversamento dell’intera rete. 21 Reti di Code Markoviane Chiuse Non vi sono arrivi dall’esterno, pertanto iin = 0, per ogni i = 1, … , v. Non vi sono partenze verso l’esterno, ossia ri0 = 0, per ogni i = 1, … , v. Il numero di clienti all’interno del sistema rimane costante. Lo spazio di stato di una rete chiusa con v risorse e n utenti è finito e si denota con N v,n. 22 Esempio: v=2, n=3. N v,n = { (3,0), (2,1), (1,2), (0,3) } (v n 1)! v n 1 card(N v,n) n n! (v 1)! 4! card(N 2,3) 4 3! 1! 23 Studiando le reti di code aperte Markoviane abbiamo visto che, se queste sono ergodiche, possono essere studiate esaminando le singole risorse singolarmente poiché in virtù del teorema di Jackson le singole risorse sono stocasticamente indipendenti. Nelle reti chiuse invece questo non è più vero e le risorse non sono più indipendenti. Infatti: v xi n i1 ossia il numero di utenti nella rete è costante. 24 Una possibilità per studiare una rete di code Markoviane chiuse consiste nell’associare ad essa una particolare catena di Markov a tempo continuo. Sia x [ x1 xk xj xv ] il generico stato della rete. Costruiamo un grafo con tanti vertici quanti sono gli stati della rete. [ x1 xk 1 xj 1 xv ] k rkj [ x1 xk xj xv ] 25 La frequenza con cui un utente passa dalla k-esima alla j-esima risorsa è pari a k rkj dove • rkj rappresenta la probabilità che un utente che esce dalla k-esima risorsa vada alla j-esima, • k rappresenta il tasso delle partenze dalla k-esima risorsa quando in essa vi sono xk utenti. 26 Esempio 1-p 1 v=2, n=3 2 card(N 2,3) p 4 La rete può trovarsi in 4 diversi stati. La prima risorsa ha un solo servente, la seconda ne ha 2 (m1=1, m2=2). 27 x1 Catena di Markov associata alla rete di code chiusa 1 3,0 p 2 1 x4 2,1 x2 1 2 p 2 0,3 1,2 2 p 2 x3 Poiché il grafo associato a tale CMTC ammette un’unica componente ergodica possiamo concludere che la rete è ergodica. Nello studio di questa rete possiamo quindi applicare i risultati visti per le CMTC. 28 Sia 1 = 10, 2 = 6, p = 0.5 0 10 10 0 13 0 10 Q 3 6 10 - 16 0 0 6 6 0 Πl Q 0 Π 1 i l,i 27 Πl 517 90 517 150 517 250 517 Distribuzione limite 29 Alternativamente possiamo basarci sulle equazioni di traffico della rete: v λ i rji λ j j1 che in forma matriciale possono essere scritte come λ λ R dove R è la matrice di routing che gode della seguente proprietà La matrice R associata ad una rete di code chiusa ha sempre un autovalore = 1. 30 Teorema: Una rete di code markoviane chiusa è ergodica se e solo se: • l’autovalore = 1 di R è semplice. Questo teorema è molto importante perché ci permette di stabilire se una rete è ergodica semplicemente calcolando gli autovalori della matrice R che ha dimensioni pari al numero di risorse. Se invece associamo alla rete una CMTC e applichiamo il criterio degli autovalori dobbiamo determinare gli autovalori di Q che ha dimensioni pari al numero di stati. 31 Esempio 1-p 1 1 R 0 p 1 - p R -λ I -pλ 2 p 1 1 - p -λ det(R -λ I) (λ - 1)(λ p) λ 1,2 1 p sempre ergodica 32 Vediamo ora come calcolare le probabilità di stato a regime utilizzando le equazioni di traffico della rete. Diamo prima le seguenti definizioni preliminari. • Sia λ~ soluzione di λ λ R λ~i ρi μi i 1, , v coefficiente di traffico della i-esima risorsa • i(xi) è una funzione che dipende dal numero di serventi della i-esima risorsa 33 Se la i-esima risorsa è a servente singolo β i (xi ) ρixi Se la i-esima risorsa ha mi serventi ρixi x! i β i (xi ) xi ρ i mi! mixi mi se xi mi se xi mi 34 Teorema di Gordon e Newell: In una rete di code markoviane chiusa ed ergodica, la distribuzione di probabilità di stato a regime è 1 v Π(x1 , x2 , , xv ) Πβ i (xi ) C i1 dove C è una costante di normalizzazione che si determina imponendo che [x1 ,x2 ,,xv ]Nv,n Π(x1 , x2 , , xv ) 1 35 Osservazioni 1) La probabilità di stato a regime è anche nel caso delle reti chiuse nella forma prodotto. Tuttavia in questo caso le variabili di stato aleatorie xi non sono indipendenti e quindi non è possibile scrivere la probabilità come prodotto delle v probabilità marginali. 2) La determinazione della costante di normalizzazione C richiede l’enumerazione di tutti i possibili stati della rete e risulta pertanto non agevole poiché la cardinalità dello spazio di stato risulta molto elevata anche per piccoli valori di n e v. 36 Esempio 1-p 1 2 p Sia n=3, 1 = 10, 2 = 6, p = 0.5. 1 0 1 R 0 p 1 - p 0.5 0.5 1 ρ1 10 1 λ~ 2 1 ρ2 3 37 β 1 (x1 ) ρ1 x1 ρ2 x2 x2 β 2 (x2 ) ρ2 2x2 1 se x2 2 se x2 2 β 1 (0) 1 β 1 (1) 1/10 β 1 (2) 1/100 β 1 (3) 1/1000 β 2 (0) 1 β 2 (1) 1/3 β 3 (2) 1/18 β 2 (3) 1/108 β1 (3) β2 (0) 1 β1 (2) β2 (1) 1 Π(3,0) Π(2,1) C 1000C C 300C β1 (1) β2 (2) 1 β1 (0) β2 (3) 1 Π(1,2) Π(0,3) C 180C C 108C 38 Π(3,0) Π(2,1) Π(1,2) Π(0,3) 1 156 C 8147 Π(3,0) 27 517 Π(2,1) 90 517 150 Π(1,2) 517 Π(0,3) 250 517 Tale distribuzione coincide con quella trovata associando una CMTC alla rete. 39