Reti di code Reti di code aperte Metodo di risoluzione di un generico esercizio: 1) Solitamente come prima cosa da fare quando viene dato un esercizio bisogna calcolarsi i lambda effettivi (scrivendo il sistema di equazioni e risolvendolo). Ricordo che il generico lambda effettivo della stazione j-esima si calcola come: 2) Calcolo i vari di ciascuna stazione che servono sia per calcolare l sia per calcolare i tempi (ne parlerò successivamente). Il della j-esima stazione si calcola con la seguente formula: 3) Come terzo passo bisogna accertarsi che sia verificata la condizione di stazionarietà. Sia nelle reti aperte che nelle reti chiuse il sistema è stazionario se. In particolar modo nelle reti aperte poiché è dato dalla somma dei lambda esterni ( ) e è dato dal minimo tra gli la disequazione diventa: Ma poiché:!" #$% Sostituendo ottengo: Che diventa: Semplifico ambo i membri per ed ottengo: 1 Dunque: Perciò per ciascun lambda effettivo verifico che questo sia minore della sua rispettiva velocità di servizio moltiplicata per i suoi serventi.
In caso abbia lambda effettivi parametrici (cioè dipendenti da ) allora otterrò che la condizione di stazionarietà è verificata dalla disequazione: ' dove C è un numero. Cioè ho un sistema stazionario per tutti i lambda che scelgo minori di C. A questo punto so che lambda massimo è proprio pari a C, perciò l oltre ad essere il minimo tra i vari può anche essere calcolato in quest altro modo, infatti è proprio uguale a lambda massimo (moltiplicato per il numero di entrate nel sistema), cioè se ho ( frecce entranti nel sistema dall esterno con parametro allora: ( )*)+ In sostanza ( è lo stesso coefficiente che trovo davanti il lambda parametrico dell. Solitamente in caso di lambda parametrico viene data un equazione, ad esempio viene detto il sistema lavora ad un terzo della sua produttività massima ciò significa che, -. quindi calcolandosi l con uno dei due modi visti sopra sapendo che dipende da si ottiene un equazione dove lambda è l unica incognita. Una volta risolta l equazione e trovato un valore per lambda si procede alla sostituzione del lambda nelle formule dei lambda effettivi per ottenere un valore numerico. 4) A questo punto si procede rispondendo alla domanda. Se viene chiesto l di una stazione specifica questo è: Se viene chiesto di una specifica stazione ho: Se viene chiesto un valore atteso, come ad esempio quello del tempo medio speso in coda dal cliente, rispetto ad una specifica stazione, si usano le formule relative alla stazione (M/M/1 se è monoservente, M/M/S in caso contrario o M/M/1/K). Se si calcola il valore atteso di tempi bisogna sempre ricordarsi di moltiplicare per. Quindi, ad esempio, il tempo medio speso in coda da un cliente nella stazione j è pari a: / 0 Se chiede un valore atteso riguardante l intero sistema esso si calcola sommando i valori attesi delle singole stazioni (e moltiplicati per se si tratta di tempi). Ad esempio il tempo medio speso in coda da un cliente nell intero sistema è dato da: / 0 / 0 Se viene chiesta la probabilità che un sistema si trovi in un determinato stato si procede utilizzando il teorema di Jackson. La cui tesi è: 1,3,456 15 6 7 135 6. 145 In questo caso ho supposto di avere 3 macchine. Quindi Jackson mi dice che le probabilità che nel sistema ci siano x clienti nella macchina 1, y clienti nella macchina 2, z clienti nella macchina 3 è
pari al prodotto delle singole probabilità (NOTA: gli 6 8( 9 in Jackson corrispondono a delle probabilità, in Gordon a dei tempi). Quindi mi calcolo le singole probabilità e ne faccio il prodotto. Per calcolare le probabilità mi devo ricordare che: 1 = ; (!? @ 6 105 CD ( E 6 8( 9 H < 1 ; :! F? @ 6 105 CD ( G 6 105 sarebbe I J e si calcola in maniera diversa in base al sistema nel quale ci troviamo, ad esempio per i sistemi M/M/1 corrisponde a: I J?1K @ Reti di code chiuse 1) Analogamente a come facevo con i lambda effettivi nelle reti aperte nelle reti chiuse come prima cosa mi calcolo i di ciascuna stazione. Obbligatoriamente un deve essere noto, quindi se non specificato, di default il relativo alla stazione di carico/scarico si pone pari ad 1 e facendo il sistema di equazione ci si ricava il valore numerico degli altri. 2) A questo punto mi calcolo gli di ciascuna stazione, dove non indica il throughput ma il tempo medio speso dal cliente in quella stazione ed è dato da: 3) Una volta che ho calcolato i vari posso fare la tabella per calcolarmi il G(M,N). Prima di tutto mi calcolo i vari 6 8( 9 usando Gordon (questi numeri li dovrò inserire nella tabella). Quindi per ogni stazione calcolo: 6 105,6 115,6 125,,6 1N5 dove k è il numero di clienti (che in una rete chiusa è un numero che viene dato nel testo del problema). In Gordon ricordo che gli 6 8( 9 non sono probabilità come in Jackson ma tempi, e si calcolano similmente in questo modo: 1 = ; (! CD ( E 6 8( 9 H < 1 ; :! F CD ( G 6 105 per definizione fa 1.
Una volta che me li sono calcolati costruisco la tabella. Come prima riga scrivo le macchine ponendo per ultima la macchina su cui il problema mi chiede di calcolarne qualcosa (ad esempio se l esercizio mi chiede di calcolare la lunghezza della coda della stazione j quest ultima la metto per ultima). La prima colonna rappresenta la prima macchina, la seconda le prime due macchine e l n-esima colonna rappresenta le prime n macchine. Nella prima colonna posiziono uno sotto l altro il numero di clienti, cioè costruisco mettendo nella prima riga 0, nella seconda 1 e così via fino a raggiungere il numero di clienti indicato dall esercizio. Una volta che ho questa tabella la riempio usando gli 6 8( 9 calcolati prima. Per la prima colonna (contenente i valori veri e propri, quindi non mi riferisco a quella dove abbiamo scritto il numero crescente di clienti) copio pari pari uno appresso all altro i valori di 6 8( 9 riferiti alla prima macchina. Nelle altre colonne, invece, quando devo inserire un elemento prendo l elemento della stessa riga ma della colonna precedente e lo moltiplico per 6 105 poi lo sommo con il prodotto dato tra l elemento della riga precedente (sempre della colonna prima) e tra 6 115 poi lo sommo con gli altri valori che sono prodotti fra gli elementi della colonna prima ma ogni volta salgo di una riga moltiplicati per un indice crescente fino a che non arrivo alla prima riga (cioè sono tornato all inizio della tabella). Il risultato sarà il valore da inserire. 4) A questo punto ci possono essere varie domande, comunque al 99% per procedere occorrerà calcolarsi il throughput ovvero che in una stazione chiusa è dato da: O1P,QK15 O1P, Q5 Invece l si calcola sempre allo stesso modo delle reti aperte (ovviamente non usando il metodo del lambda massimo poiché non ce li abbiamo nelle reti chiuse, quindi usando l altro metodo). 5) Se viene chiesto l di una stazione specifica questo è dato da: Se viene chiesto un qualsiasi valore atteso (in genere sempre riferito ad una stazione specifica) si utilizzano le leggi di Little. Nelle reti chiuse l unica cosa che ci possiamo calcolare direttamente è N, tutti gli altri valori attesi si ricavano usando le formule di Little basandosi su N. N si calcola nel seguente modo: Q 1 8( 192 8( 293 8( 394 8( 49 N 8( N9 Nelle leggi di Little bisogna prestare attenzione perchè non esiste, quindi il delle leggi di little diventa uguale a Dove N è pari all N iniziale dato come parametro. L N dato all inizio indica il numero di clienti che circolano, ma non so quanti clienti in media ho nella stazione j, è per questo che mi serve calcolarlo. Quindi sommo N volte facendo ogni volta dei prodotti tra dei coefficienti che vanno da 1 a N e delle probabilità.
La probabilità singola 1N5, cioè la probabilità di avere k clienti nella macchina j, si calcola come: 1N56 1N5 O1PK1,QKN5 O1P, Q5 Se viene chiesto di calcolare la probabilità di uno stato 1,3,45 si applica Gordon la cui tesi dice che: 1,3,45 6 15 6 7 135 6. 145 O1P, Q5 Anche in questo caso ho fatto finta che le macchine fossero 3. Le singole 6 8( 9 sono tempi e perciò li normalizzo con la costante facendoli diventare probabilità. Se viene chiesto un valore atteso riguardante l intero sistema si utilizzano le seguenti formule: / / Q / / / 0 / 0 Q K Se viene chiesto un valore atteso riguardante una specifica stazione prima si calcola N di quella stazione, poi si trovano gli altri valori o con Little o con le seguenti formule: / Q / / 0 Q K Attenzione: Queste formule sono i tempi effettivi (cioè già moltiplicati per il visit-count). Dimostrazione: / / / 0 / 0 / K 1 Q K 1 Q K 1 Moltiplico ambo i membri per il visit count: / 0 Q K Q K In maniera analoga si dimostrano le formule per gli altri tempi.
Esercizi Svolti Esercizio 1
Soluzione 1 Dati: Q 4,/ 3 VW(,/ 7 2 VW(,. 50 I Y, 3, 7. 1 Domande: / 0.?( 14,1,25?/ 0? Svolgimento: Come prima cosa mi calcolo i. Dato che il centro di riferimento è la stazione 1 allora 1 Scrivo il sistema di equazioni: 7 0,3.. 0,4. 7 Risolvendo ottengo: 1, 7 2,. 3,33 A questo punto mi calcolo gli di ciascuna stazione (bisogna prestare attenzione al fatto che \ ): 1 \ 0 3 7 2 24. 3,33 0,833 4. era espresso in pezzi ora, perciò l ho diviso per 60 trasformandolo in pezzi al minuto poiché devo lavorare con la stessa unità di misura. Ora mi calcolo i vari 6 8( 9 usando Gordon: 6 1051 6 1153 6 125 1 2! 37 4,5 6 135 1 1 3! 3. 4,5 6 145 4,5 3! 3^F. 3^ 6 7 1051 6 7 1154 6 7 12516 6 7 13564 6 7 145256 6. 1051 6. 1154 6. 12516 6. 13564 6. 145256 Ora costruisco la tabella (mettendo per ultima la macchina di cui ci chiede il valore atteso ossia la 3): 1 1,2 1,2,3 0 1 1 1 1 3 7 11 2 4,5 32,5 76,5 3 4,5 134,5 440,5 4 4,5 542,5 2304,5 O11,153 O12,15347 O13,157411 O11,254,5 O12,254,53 41 1632,5 O13,2532,57 41 1676,5 O12,354,54,5 43 1664134,5 O13,35134,532,5 47 1664440,5 O12,454,54,5 44,5 163 64256542,5 O13,45542,5134,5 432,5 167 642562304,5
Quindi a questo punto so che: O1P,QK15 O1P, Q5 440,5 2304,5 0,19 Ora mi calcolo / 0. grazie alle leggi di Little: / / 0 1 / 0 /K 1 Sapendo che: Q / / Q, Ottengo: / 0. Q.. K 1. Però non mi devo dimenticare di moltiplicare per il. perciò la vera formula è: / 0. b Q.. K 1. c. Perciò prima mi devo calcolare Q. nel seguente modo: Q. 1 1152 1253 1354 145 1156. 115 O1PK1,QKd5 O1P, Q5 1256. 125 O12,25 O13,45 16 32,5 2304,5 0,23 1356. 135 O12,15 O13,45 64 7 2304,5 0,19 1456. 145 O12,05 O13,45 0,11 Dunque: Q. 1,7 4 O12,35 134,5 4 O13,45 2304,5 0,23 Sostituendolo nella formula precedentemente trovata ottengo: 1,7 / 0. b 3,33 0,19 K 1 0,833 c 3,334,95 Alternativamente: / 0. Q. K. 1,7 0,19 K44,95
Procedo ora con la scrittura dell equazione di equilibrio per lo stato 14,1,25 prestando attenzione a mantenere l ordine che ho dato alle macchine quando ho costruito la tabella, ciò significa (in questo caso) che 4 clienti li do alla macchina 1, 1 cliente lo do alla macchina 2, 2 clienti li do alla macchina 3. Se ad esempio come ultima macchina nella tabella avessi messo la 2, allora i 2 clienti li avrei dovuti assegnare alla macchina 2 e 1 cliente alla macchina 3. e 13 7 0,6. 5 14,1,25 f 3 15,0,25 7 14,2,150,3. 14,0,350,4. 14,1,250,3. 13,1,35 Ora mi calcolo / 0 dell intero sistema con le leggi di Little sapendo che i clienti medi nel sistema sono 4: / 0 Q K 4 0,19 K1344510
Esercizio 2
Soluzione 2 Dati:. 2 7, 20 I VW(, 7 30I VW(,. 15I VW(,^ 25I VW(,. 3,, - 7 Domande: / 0?( 10,3,4,25?,? Svolgimento: Mi calcolo i lambda effettivi che saranno parametrici, infatti 7 e. 2. Già so che: 3 Scrivo il sistema di equazioni: 0,1 7 7 0,4.. 20,2. 0,5 ^ 0,5 0,4. 0,1 7 Ottengo quindi: 0,2 7 2. 2,63 ^ 1,35 Verifico le condizioni di stazionarietà: 0,2 1 20 100 7 7 7 2 1 30 15... 2,63 3 15 17,11 ^ ^^ 1,35 1 25 18,52 Poiché devono essere verificate tutte contemporaneamente prendo la condizione più stringente cioè: 15 A questo punto so che: )*)+ 15 e quindi: 3 )*)+ 45 Sostituendo nell equazione data mi trovo il valore di : 2 3 45 2 45 6 7,5 Quindi ora lo sostituisco nei lambda effettivi ottenendo: 1,5 7 15. 19,73 ^ 10,13 3 22,5 Un altro modo per calcolarsi consisteva nel fare il minimo tra i vari, perciò ora mi calcolo i : 0,2 3 0,2 3 0,067
7 2 3 0,67. 2,63 3 0,877 ^ 1,35 3 0,45 Calcolo l x teorico: VW(g 1 20 0,067 ; 1 30 0,67 ; 3 15 0,877 ; 1 25 ivw(j298,5; 44,78; 51,31; 55,56k44,78 45 0,45 Calcoliamo ora / 0 dell intero sistema che è dato da: / 0 / 0 Quindi prima mi calcolo i / 0 di ogni singola stazione: Per le stazioni 1,2,4 uso la formula dei sistemi M/M/1: / 0 / 0m / 0n 1 K K 1 1 20K1,5 K 1 20 0,004 1 30K15 K 1 30 0,033 1 25K10,13 K 1 25 0,027 Per la stazione 3 uso la formula dei sistemi M/M/S: Da Little so che: o.. / 0p / 0p o.. o. me lo calcolo con la formula riportata nell esercizio usando. e. al posto di e. Quindi risulta: I J 0,26 e quindi o. 0,14 / 0. 0,14 19,73 0,00693 / 0 0,067 0,0040,67 0,0330,877 0,006930,45 0,0270,04 Calcolo l equazione di equilibrio: e 1 7. 7 3. 0,8^5 10,3,4,25 f 7 10,2,4,25. 10,3,3,250,8 7 10,4,4,25^10,3,4,350,5 11,3,3,25 0,2. 310,3,4,250,4. 310,3,5,150,4. 310,2,5,250,1 7 10,4,4,150,5 11,3,4,15 Per aumentare la produttività teorica devo aumentare il del collo di bottiglia fino a raggiungere il secondo collo di bottiglia, perciò: 7 7 7 51,31
7 151,31 0,67534,38 Con 7 sto indicando il valore del nuovo quindi deve aumentare di: 7 K 7 34,38K304,38 Per aumentare la produttività reale devo aumentare il cioè la frequenza degli arrivi tenendo conto che la produttività reale non deve superare quella teorica.
Esercizio 3
Soluzione 3 Dati: / q /. 3 VW(,/ 4 VW(, 7 14,25I Y 0,24I VW(,. 3,Q 4 Domande: 12,2,05?/ 0?1r 45? Svolgimento: Per comodità chiamo la stazione r con il nome di stazione 3 e ho riordinato le macchine nel seguente modo: 1,2,3 ovvero con la stazione di carico scarico per ultima, è per questo che ho scambiato i posti nella probabilità di avere un determinato stato, poiché la macchina di scarico/carico l ho messa per ultima e dato che a essa erano associati 0 clienti per comodità e per non sbagliarmi ho scritto 0 all ultimo posto. Mi calcolo i :. 1 0,5. 7 0,2 7 0,9 0,5. Ottengo: 0,5 7 1,19. 1 Calcolo i vari : 0,5 42 7 1,19 0,24 5. 1 33 Mi calcolo gli 6 1( 5: 6 1051 6 1152 6 1254 6 1358 6 14516 6 7 1051 6 7 1155 6 7 12525 6 7 135125 6 7 145625 6. 1051 6. 1153 6. 125 1 2! 37 4,5 6. 135 1 1 3! 3. 4,5 6. 145 4,5 3! 3^F. 3^ Faccio la tabella: 1 1,2 1,2,3 0 1 1 1 1 2 7 10 2 4 39 64,5 3 8 203 356 4 16 1031 1851,5 O12,15257 O13,157310 O12,2542 52539 O13,25397 34,564,5 O12,3584 52 25125203 O13,3520339 37 4,54,5356 O12,45168 54 252 1256251031 O13,451031203 339 4,57 4,54,51851,5
Rispondo ora alla prima domanda. Gordon mi dice: 12,2,05 6 125 6 7 125 6. 105 O1P, Q5 Sapendo che: / 0 Q K E che: O1P,QK15 O1P, Q5 Allora: 356 1851,5 0,192 / 0 4 0,192 K1253510,83 4 25 1 1851,5 0,054 La probabilità che nella stazione 3 ci siano 4 clienti è pari a: 1(. 456. 145 O1PK1,QKN5 O1P, Q5 4,5 O12,05 O13,45 4,5 1 1851,5 0,00243
Esercizio 4
Soluzione 4 Dati: 4I Y 0,067I VW(, 10I VW(, 7 20I VW(,. 30I VW(,^ 8I VW(,^ 4 Domande:??13,0,5,25?/? Svolgimento: Poiché la produttività reale coincide con la somma dei lambda esterni: 0,067 Per la produttività teorica mi calcolo i lambda effettivi: 0,0670,1 7 7 0,4.. 0,2. 0,5 ^ 0,1 7 0,4. Ottenendo: 0,0687 7 0,017. 0,043 ^ 0,0189 Poiché ogni lambda effettivo è minore del corrispondente allora il sistema è stazionario. Ora mi calcolo i visit count: 0,0687 0,067 1 7 7 0,017 0,067 0,254. 0,043 0,067 0,64 ^ 0,0189 0,067 0,282 Adesso posso procedere al calcolo della produttività teorica: VW(g 1 10 1 ; 1 20 0,254 ; 1 30 0,64 ; 4 8 ivw(j10; 78,74; 46,88; 113,48k10 0,282 Grazie a Jackson so che: 13,0,5,256 135 6 7 105 6. 155 6^125 Per le macchine 1,2,3 ho che: 6 135?. @?1K @0,000000322 6 7 105? J 7 @?1K 7 @1 7 7 6. 155? s. @?1K. @6 10 Fs.. poiché monoserventi.
Invece per calcolare 6^125 uso: 6^125 1?^ n @ 6^105 (^! ^ Dove al posto di 6^105 devo usare la formula I J data nel formulario. Quindi facendo i calcoli si ottiene: 6^1050,998 6^1250,000002784 Dunque ottengo: 13,0,5,255,38 10 F7t Per calcolarmi il tempo speso da un cliente nell intero sistema mi faccio prima il calcolo di / di ciascuna stazione moltiplicato per e li sommo. Per le prime tre stazioni poiché sono di tipo M/M/1 ho: / 1 K 1 10K0,0687 0,1 / 7 Per la stazione 4 grazie a Little so: 1 20K0,017 0,05 /. 1 30K0,043 0,033 /^ o^ ^ 1 ^ o^ me lo calcolo usando le formule dei sistemi M/M/S. Facendo i calcoli ottengo che: o^ 7,66 10 Fu /^ 0,125 / 1 0,10,254 0,050,64 0,0330,282 0,1250,17 Software per la risoluzione di reti di code: http://autolab.altervista.org/