1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di...

26
SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 61 1.5.3 Sistemi M/M/s/K Consideriamo ora sistemi in cui c’` e un limite K (capacit` a del sistema limitata) sul numero di utenti che il sistema pu`o contenere contemporaneamente. Natu- ralmente, poich´ e s ` e il numero dei serventi, K s ` e la capacit`a massima della coda. Ad ogni utente che arriva nel sistema quando la coda ` e piena ` e negato l’accesso definitivamente (cliente perso). Questa situazione si pu`o interpretare come un processo di nascita e morte in cui il coefficiente di natalit`a ` e nullo in corrispondenza di certi istanti di tempo, ovvero nei casi in cui risulta n K. Si ha, quindi, λ n = { λ per n =0, 1,...,K 1 0 per n K. Ovviamente si avr` a p n = 0 per ogni n>K perch´ e non ci possono essere pi` u di K utenti nel sistema; inoltre, il sistema raggiunge condizioni di stazionariet`a anche se la condizione ρ< 1 non ` e verificata in quanto si ha λ n = 0 per n K. Da un punto di vista pratico, questa situazione di capacit`a limitata corrisponde ad avere spazi fisici limitati per l’attesa. Un’altra interpretazione riguarda la situazione in cui i clienti in arrivo al sistema vedono troppi utenti (K) davanti a loro e non entrano nel sistema rinunciando definitivamente al servizio; questa situazione ` e nota con il nome di balking (rinuncia). Sistemi M/M/1/K Consideriamo prima il caso con un singolo servente. In questo caso si ha Sistemi M/M/1/K λ n = { λ per n =0, 1,...,K 1 0 per n K, , µ n = µ per n =1, 2,...,K. Segue immediatamente che risulta Π n = ( λ µ ) n = ρ n per n =1,...,K 0 per n>K e quindi per ρ ̸= 1 si ottiene p 0 = 1 K n=0 ρ n = 1 1 ρ K+1 1 ρ = 1 ρ 1 ρ K+1 ed inoltre p n = ρ n p 0 = ρ n ( 1 ρ 1 ρ K+1 ) per n =0, 1,...,K 0 per n > K,

Transcript of 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di...

Page 1: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 61

1.5.3 Sistemi M/M/s/K

Consideriamo ora sistemi in cui c’e un limite K (capacita del sistema limitata)

sul numero di utenti che il sistema puo contenere contemporaneamente. Natu-

ralmente, poiche s e il numero dei serventi, K − s e la capacita massima della

coda. Ad ogni utente che arriva nel sistema quando la coda e piena e negato

l’accesso definitivamente (cliente perso). Questa situazione si puo interpretare

come un processo di nascita e morte in cui il coefficiente di natalita e nullo in

corrispondenza di certi istanti di tempo, ovvero nei casi in cui risulta n ≥ K. Si

ha, quindi,

λn =

{λ per n = 0, 1, . . . ,K − 1

0 per n ≥ K.

Ovviamente si avra pn = 0 per ogni n > K perche non ci possono essere piu di K

utenti nel sistema; inoltre, il sistema raggiunge condizioni di stazionarieta anche

se la condizione ρ < 1 non e verificata in quanto si ha λn = 0 per n ≥ K.

Da un punto di vista pratico, questa situazione di capacita limitata corrisponde

ad avere spazi fisici limitati per l’attesa. Un’altra interpretazione riguarda la

situazione in cui i clienti in arrivo al sistema vedono troppi utenti (K) davanti

a loro e non entrano nel sistema rinunciando definitivamente al servizio; questa

situazione e nota con il nome di balking (rinuncia).

Sistemi M/M/1/K

Consideriamo prima il caso con un singolo servente. In questo caso si ha Sistemi

M/M/1/Kλn =

{λ per n = 0, 1, . . . ,K − 1

0 per n ≥ K,, µn = µ per n = 1, 2, . . . ,K.

Segue immediatamente che risulta

Πn =

µ

)n

= ρn per n = 1, . . . ,K

0 per n > K

e quindi per ρ = 1 si ottiene

p0 =1

K∑n=0

ρn=

1

1− ρK+1

1− ρ

=1− ρ

1− ρK+1

ed inoltre

pn =

ρnp0 = ρn

(1− ρ

1− ρK+1

)per n = 0, 1, . . . ,K

0 per n > K,

Page 2: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

62 TEORIA DELLE CODE

mentre per ρ = 1, per n = 0, 1, . . . ,K si ha pn =1

K + 1.

Possiamo ora calcolare il valore di N . Infatti risulta

N =K∑

n=0

npn =1− ρ

1− ρK+1

K∑n=0

nρn

=1− ρ

1− ρK+1ρ

K∑n=0

dρn

dρ=

1− ρ

1− ρK+1ρd

(1− ρK+1

1− ρ

)

1− ρ− (K + 1)ρK+1

1− ρK+1. (1.5.17)

Si osservi che, ovviamente, se ρ < 1, al tendere di K all’infinito, il valore di N

appena ottenuto tende a ρ/(1−ρ) che infatti e il valore di N nel caso di capacita

del sistema infinita, ovvero il caso di sistemi M/M/1.

Dall’espressione di N si puo facilmente determinare N q come

N q = N − (1− p0).

Si vuole ora applicare il Teorema di Little per ottenere il valori di T e T q. Per

fare cio, poiche λn non e costante, e necessario calcolare la frequenza media

effettiva degli arrivi λ data dalla (1.5.5). Infatti, nel caso dei sistemi di code

M/M/1/K che stiamo trattando, λ non rappresenta la frequenza media effettiva

degli arrivi perche tiene conto anche degli arrivi che non entrano nel sistema

(perche lo trovano nello stato K). Ora, la probabilita che un utente non possa

entrare nel sistema e uguale alla probabilita che nel sistema ci siano K utenti,

ovvero pK ; quindi la probabilita che un utente accede al sistema e 1−pK e quindi,

per la Proposizione 1.3.6 sulla proprieta dei processi di Poisson disaggregati, la

frequenza media effettiva degli arrivi in questo caso risulta pari a (si veda anche

l’Osservazione 1.3.7)

λ = λ(1− pK). (1.5.18)

D’altra parte, applicando la (1.5.5) si ottiene direttamente la (1.5.18).

La probabilita pK e detta fattore di perdita, in quanto rappresenta la frazione diFattore di

perdita clienti che va perduta perche non entra nel sistema. Definendo ϵ = 1 − pK la

(1.5.18) puo essere riscritta

λ = ϵλ, con ϵ < 1.

Questa relazione mette bene in evidenza che soltanto una frazione di potenziali

clienti entra effettivamente nel sistema, mentre la rimanente parte dei clienti viene

persa.

Sempre nel caso singolo servente (s = 1) la frequenza media effettivi degli arrivi

λ puo essere facilmente ottenuta notando che risulta λ/µ = 1−p0 da cui si ricava

λ = µ(1− p0). (1.5.19)

Page 3: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 63

Una semplice verifica mostra che nel caso che stiamo trattando, queste due

espressioni per λ (la (1.5.18) e la (1.5.19)) ovviamente coincidono, ovvero vale

µ(1− p0) = λ(1− pk).

Osservazione 1.5.13 Per quanto riguarda il raggiungimento delle condizioni di

stazionarieta, come abbiamo gia detto, non e richiesto che ρ = λ/µ < 1. Il fatto

che in un sistema con capacita limitata la frequenza media degli arrivi (λ) possa

superare la frequenza media di completamento dei servizi (ovvero λ > µ) e dovuto

ad una proprieta detta di autoregolazione di un sistema che, escludendo un certo

numero di clienti, porta la frequenza effettiva degli arrivi ad essere minore di

quella del completamento dei servizi.

Esempio 1.5.14 Una stazione di servizio ha un’unica pompa di benzina ed un unico addetto.Le automobili arrivano alla stazione di servizio per rifornirsi secondo un processo di Poisson aduna frequenza media di 10 l’ora. Il tempo necessario per servire un’automobile e distribuitoesponenzialmente con un valor medio pari a 2 minuti. La stazione di servizio puo contenere alpiu 4 automobili e sulla strada vige un divieto di fermata, per cui non e consentito attenderefuori della stazione.Determinare:

1. il numero medio di automobili presenti nella stazione di servizio;

2. la probabilita che un’automobile non possa effettuare il rifornimento;

3. il tempo medio di attesa nella stazione di servizio prima di ottenere il servizio.

La stazione di servizio puo essere vista come un sistema di code M/M/1/4, in cui gli utenti sonole automobili e il servente e l’addetto alla pompa di benzina. Assumendo come unita di tempol’ora, si ha λ = 10, µ = 30, ρ = 1/3 e K = 4.

1. Dalla (1.5.17) si ottiene N = 0.4793;

2. la probabilita che un’automobile non possa effettuare il rifornimento e data da p4 chesi puo ricavare come p4 = ρ4p0 = 1/34p0. E necessario, quindi, il calcolo di p0 =(1− 1/3)/(1− 1/35) = 0.6694. Risulta quindi p4 = 0.008264;

3. E necessario determinare λ = (1− p4)λ = 9.9173 per ottenere T = N/λ = 0.04840 da cuiT q = T − 1/µ = 0.015, ovvero il tempo medio di attesa nella stazione di servizio primadi ottenere il servizio e di circa 54 secondi.

Page 4: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

64 TEORIA DELLE CODE

Sistemi M/M/s/K multiservente

Consideriamo ora un sistema M/M/s/K multiservente, ovvero s > 1, supponendoSistemi

M/M/s/K che risulti s ≤ K. Questo caso si tratta in maniera analoga al caso M/M/s gia

visto ponendo

λn =

{λ per n = 0, 1, . . . ,K − 1

0 per n ≥ K,

µn =

{nµ per n = 1, 2, . . . , s− 1

sµ per s ≤ n ≤ K.

Si ottengono quindi i seguenti valori per Πn:

Πn =

1

n!

µ

)n

per n = 1, 2, . . . , s− 1

1

s!

µ

)s ( λ

)n−s

=1

s!sn−s

µ

)n

per n = s, s+ 1, . . . ,K

0 per n > K.

dal quale si ottiene

pn =

1

n!

µ

)n

p0, per n = 1, 2, . . . , s− 1

1

s!sn−s

µ

)n

p0, per n = s, s+ 1, . . . ,K

0 per n > K.

dove il valore di p0 discende immediatamente dal caso gia trattato di sistemi

M/M/s tenendo conto che Πn = 0 per n > K e quindi

p0 =1

s−1∑n=0

1

n!

µ

)n

+1

s!

µ

)s K∑n=s

)n−s.

Analogamente al caso di un sistema di code M/M/s, si puo ottenere la seguente

espressione per N q:

N q =ρ

s!(1− ρ)2

µ

)s

p0[1− ρK−s − (K − s)ρK−s(1− ρ)

].

Page 5: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 65

Come nel caso M/M/1/K, applicando il Teorema di Little si possono ottenere

i valori di T q, T ad N . Alternativamente, N puo essere anche ottenuto come

segue. Poiche dalla (1.2.22) si ha

N q =∞∑n=s

(n− s)pn =∞∑n=s

npn − s

(1−

s−1∑n=0

pn

),

allora

N =s−1∑n=0

npn +∞∑n=s

npn =s−1∑n=0

npn +N q + s

(1−

s−1∑n=0

pn

).

Concludiamo il paragrafo considerando il caso in cui risulta K = s, ovvero la

capacita massima del sistema uguaglia il numero dei serventi e quindi la coda ha

capacita nulla. Questo significa che, non esistendo la coda, un utente che arriva

quando tutti i serventi sono occupati non entra nel sistema ed e “perso”. Questo

modello e molto utilizzato nella telefonia; infatti se una rete telefonica ha s linee

ed un utente chiama quando tutte le linee sono occupate, riceve il segnale di

occupato e non puo entrare nel sistema costituito dalla rete telefonica. Si tratta

di un sistema di code dove, di fatto, la coda non esiste ed e noto come Erlang Erlang loss

system

K = s

loss system perche studiato dal gia citato A.K. Erlang.

La probabilita che un utente che arriva trova tutti gli s serventi occupati e quindi

e perso puo essere facilmente calcolata in quanto essa e uguale alla probabilita

pK che nel sistema ci siano gia K utenti, che e data da

pK =1

s!

µ

)s 1s∑

n=0

1

n!

µ

)n .

Questa formula e nota come formula di Erlang B.

Esercizio 1.5.15 Un porto possiede un terminal cargo al quale arrivano navi porta-containerper le operazioni di carico-scarico che avvengono attraverso apposite gru. Attualmente il termi-nal dispone di una sola gru e quindi il carico-scarico avviene una nave alla volta. Quando unanave arriva e la gru e gia impegnata in operazioni di carico-scarico, essa attende il proprio turnosecondo una disciplina FIFO in una fila di attesa che supponiamo illimitata. Le navi arrivanoal terminal secondo la distribuzione di Poisson con media 3 al giorno e il tempo che una gruimpiega per il carico-scarico di una nave e distribuito esponenzialmente con media 4 ore.

a) Descrivere un sistema a coda che puo rappresentare la situazione descritta specificandodettagliatamente tutte le sue componenti;

b) determinare il numero medio di navi che sono in attesa di effettuare il carico-scarico;

c) determinare il tempo medio che intercorre tra l’arrivo di una nave al terminal e la suafuoriuscita dal terminal stesso dopo il carico-scarico;

d) determinare come e distribuito il numero totale delle navi presenti nel terminal.

Page 6: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

66 TEORIA DELLE CODE

Supponiamo, ora, che lo spazio all’interno del terminal dove le navi attendono il loro turnoprima delle operazioni di carico-scarico sia limitato e non permetta lo stazionamento di piu diquattro navi; le eventuali ulteriori navi che arrivano vengono dirottate presso un altro terminal.

e) descrivere un sistema a coda che rappresenta bene la nuova situazione;

f) spiegare dettagliatamente come si puo ricondurre questo sistema ad un processo di nascitae morte;

g) calcolare il numero medio di navi presenti nel terminal e il tempo medio di attesa in coda;

h) calcolare la probabilita che una nave ha di non poter entrare nel terminal considerato,ovvero di essere dirottata ad altro terminal.

Page 7: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 67

1.5.4 Sistemi M/M/s/ · /U

Si vuole ora considerare il caso in cui la popolazione sia finita, il numero dei

potenziali utenti e finito e pari a U . Naturalmente, se n e il numero degli utenti

presenti nel sistema, i potenziali clienti sono U − n.

Un esempio tipico di questa situazione si ha in un reparto manutenzioni di un

industria. In questo caso, un certo numero di macchine deve essere tenuto in

manutenzione. Tali macchine costituiscono la popolazione finita: ciascuna di esse

entra nel sistema costituito dal reparto manutenzioni quando deve essere riparata

e ne fuoriesce, una volta riparata, andando di nuovo a far parte della popolazione

dei potenziali clienti in quanto potra rientrare nel sistema nel momento in cui si

guasta di nuovo. Un modello che si presta bene a rappresentare una situazione

di questo tipo assume che il tempo che la macchina e al di fuori del sistema

(ovvero il tempo che trascorre da quando la macchina esce dal sistema a quando

rientra) e distribuito esponenzialmente di parametro λ. Quando ci sono n utenti

nel sistema, e quindi U − n utenti sono fuori del sistema, ad un certo istante di

tempo la distribuzione di probabilita del tempo rimanente fino al prossimo arrivo

al sistema coincide con la distribuzione di probabilita del piu piccolo dei tempi

rimanenti per l’ingresso al sistema tra tutti gli utenti che sono fuori del sistema

che sono U − n. Per la Proprieta E2 (assenza di memoria) e la Proprieta E3,

questa distribuzione di probabilita e esponenziale di parametro (U −n)λ. Quindi

anche questo sistema di code puo essere rappresentato mediante un processo

di nascita e morte con coefficiente di natalita pari a λn = (U − n)λ per n =

0, 1, . . . , U − 1 e λn = 0 per n ≥ U in quanto nel sistema non possono esserci

piu di U utenti. Un tale sistema, poiche risulta λn = 0 per n > U , raggiunge

condizioni di stazionarieta anche se ρ ≥ 1.

Sistemi M/M/1/ · /UConsideriamo ora il caso singolo servente, ovvero s = 1. Per rappresentare questo Sistema

M/M/1/·/Ucaso con un processo di nascita e morte e sufficiente prendere

λn =

{(U − n)λ per n = 0, 1, . . . , U − 1

0 per n ≥ U,

µn = µ per n = 1, 2, . . .

Il diagramma di transizione di stato in questo caso e riportato in Figura 1.5.2.

Si ottiene immediatamente

Πn =

U(U − 1)(U − 2) · · · (U − n+ 1)

µ

)n

=U !

(U − n)!

µ

)n

per n ≤ U

0 per n > U.

Page 8: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

68 TEORIA DELLE CODE

0 1 …

λ)1( −U λ)1( +−nU λ

µ µ

λU

…1−n n 1−U U

µ µ

Fig. 1.5.2 Diagramma di transizione di stato per un sistema M/M/1/ · /U

Risulta quindi

p0 =1

U∑n=0

U !

(U − n)!

µ

)n(1.5.20)

ed inoltre

pn =

U !

(U − n)!

µ

)n

p0 per n = 0, 1, . . . , U

0 per n > U.

Calcoliamo ora i valori delle misure di prestazione iniziando da N . Utilizzando

la (1.5.20) si ha

N =U∑

n=0

npn =U∑

n=0

nU !

(U − n)!

µ

)n

p0

=U∑

n=0

(U − U + n)U !

(U − n)!

µ

)n

p0

= Up0

U∑n=0

U !

(U − n)!

µ

)n

−U−1∑n=0

U !

(U − n− 1)!

µ

)n

p0

= U −U∑

n=1

U !

(U − n)!

µ

)n−1

p0

= U − µ

λ

U∑n=1

U !

(U − n)!

µ

)n

p0

= U − µ

λ

U∑n=1

pn = U − µ

λ(1− p0).

Page 9: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 69

Ora, per applicare il Teorema di Little e necessario determinare il valore della

frequenza media effettiva degli arrivi λ data da

λ =∞∑n=0

λnpn =U∑

n=0

(U − n)λpn = λUU∑

n=0

pn − λU∑

n=0

npn = λ(U −N)

e che analogamente al caso di sistemi M/M/1/K si puo scrivere nella forma

µ(1− p0). Quindi di ha

T =N

λ=

N

µ(1− p0)=

U

µ(1− p0)− 1

λ

N q = N − (1− p0) = U − µ

λ(1− p0)− (1− p0) = U − µ+ λ

λ(1− p0)

T q = T − 1

µ=

U

µ(1− p0)− 1

λ− 1

µ.

Sistemi M/M/s/·/U multiservente

Consideriamo, ora il caso di sistemi M/M/s/·/U multiservente, ovvero con s > 1. Sistemi

M/M/s/·/UAnche in questo caso e possibile rappresentare il sistema con un processo di

nascita e morte con i seguenti coefficienti di natalita e di mortalita:

λn =

{(U − n)λ per n = 0, 1, . . . , U − 1

0 per n ≥ U

µn =

{nµ per n = 1, 2, . . . , s− 1

sµ per n = s, s+ 1, . . .

Si ha

Πn =

U !

(U − n)!n!

µ

)n

per n = 1, 2, . . . , s− 1

U !

(U − n)!s!sn−s

µ

)n

per n = s, s+ 1, . . . , U

0 per n > U.

dal quale si ottiene

pn =

U !

(U − n)!n!

µ

)n

p0, per n = 1, 2, . . . , s− 1

U !

(U − n)!s!sn−s

µ

)n

p0, per n = s, s+ 1, . . . , U

0 per n > U.

Page 10: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

70 TEORIA DELLE CODE

dove

p0 =1

s−1∑n=0

U !

(U − n)!n!

µ

)n

+U∑

n=s

U !

(U − n)!s!sn−s

µ

)n.

Per quanto riguarda le misure di prestazione, risulta ovviamente

N q =U∑

n=s

(n− s)pn

e non si dispone di una forma compatta per l’espressione della N q; per quanto

riguarda N si ha

N =s−1∑n=0

npn +N q + s

(1−

s−1∑n=0

pn

).

I valori di T e di T q si ricavano come nel caso del singolo servente. Vista la

difficolta di calcolo di questi valori di prestazioni, sono disponibili tavole che

riportano i valori numerici per questa tipologia di sistema di code sia a singolo

servente sia multiservente.

Esercizio 1.5.16 In un’azienda ci sono 5 operatori addetti alla gestione amministrativa dell’azien-da stessa. Essi operano indipendentemente, e possono avvalersi, uno alla volta, della consulenzadi un esperto contabile. In media, il tempo che trascorre dalla conclusione di una consulenzarichiesta da un operatore fino alla richiesta di consulenza successiva e distribuito esponenzial-mente con media 7 ore. La durata della consulenza puo variare anche in maniera significativa,in quanto l’esperto puo aver bisogno di tempi diversi prima di poter dare una risposta al que-sito posto da un operatore; si assuma che tali tempi siano distribuiti esponenzialmente conmedia 1 ora. Inoltre, l’esperto che sta lavorando su un quesito posto da un operatore, nonpuo interrompere il suo lavoro e puo inziare una nuova consulenza solo dopo aver terminato laprecedente.

a) Descrivere un sistema di code che rappresenti la situazione descritta.

b) Descrivere come si puo ricondurre questa situazione ad un processo di nascita e morte.

Inoltre, determinare:

c) quanti operatori, in media, sono in attesa di poter avere la consulenza dell’esperto, ovveroin attesa che l’esperto inizi a lavorare al proprio quesito;

d) quanto tempo, in media, un operatore aspetta quando ha deciso di richiedere una con-sulenza prima di poter sottoporre il suo quesito all’esperto;

e) quanto tempo, in media, passa tra la richiesta di consulenza da parte di un operatore el’ottenimento della risposta al questito sottoposto all’esperto;

f) il valore della frequenza media effettiva con la quale gli operatori chiedono la consulenzaall’esperto, spiegando il suo significato;

g) la probabilita che l’esperto e inoperoso;

h) la probabilita che ad un operatore che necessiti di una consulenza, sia richiesto di aspettareun tempo non nullo prima che l’esperto inizi a lavorare al suo quesito.

Page 11: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 71

1.5.5 Sistemi con velocita di servizio e frequenza di arrivo dipendenti dallo stato

Fino ad ora nello studio dei vari modelli di code, si e sempre assunto che la

velocita media del servizio µ e costante e non dipende dal numero degli utenti

presenti nel sistema. Tuttavia, nelle situazioni reali questo puo non essere sempre

vero, specialmente se i serventi sono delle persone fisiche che e possibile tendano a

lavorare piu in fretta di quanto fanno normalmente se vedono la fila d’attesa molto

lunga. Ovvero, c’e un incremento della velocita media di servizio in conseguenza

della presenza di molti utenti in coda.

Un’altra situazione che potrebbe presentarsi quando la coda e lunga, consiste in

un decremento della frequenza media degli arrivi indotto dal sistema stesso che

nella pratica potrebbe essere realizzato dirottando altrove utenti quando la coda

e molto lunga. Vediamo come e possibile costruire modelli che tengano conto di

queste situazioni.

Caso singolo servente

Iniziamo considerando un sistema di code con servente singolo. Supponiamo

dapprima che la sola velocita di servizio sia dipendente dallo stato. Per tener Velocita di

servizio

dipendente

dallo stato

conto del fatto che tale velocita puo cambiare al variare dello stato, denotiamo

con µ1 la velocita media di servizio in condizioni normali, ovvero con un solo

utente nel sistema (coda vuota) e definiamo µn come segue:

µn = ncµ1, per n = 1, 2, . . . , (1.5.21)

dove c e una costante positiva.

Assumiamo che gli arrivi siano poissoniani di parametro λ e i tempi di servizio

siano distribuiti esponenzialmente di parametro µn dato dalla (1.5.21). Si possono

applicare i risultati sui processi di nascita e morte con λn = λ, tenendo conto che

la condizione per l’esistenza dello stato stazionario e soddisfatta per ogni c > 0.

Si ottiene

Πn =1

(n!)c

µ1

)n

, n = 1, 2, . . .

da cui si ha

pn =1

(n!)c

µ1

)n

p0

con

p0 =1

∞∑n=0

1

(n!)c

µ1

)n

dalle quale si possono ottenere i valori delle misure di prestazione. Tuttavia non

sono disponibili espressioni analitiche delle serie che compaiono nelle formule, per

Page 12: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

72 TEORIA DELLE CODE

cui sono stati tabulati valori approssimati per p0 ed N per diversi valori di c e

λ/µ1 troncando le serie a somme finite.

Un interessante caso particolare si ha in corrispondenza della scelta c = 1. In

questo caso si ha µn = nµ e

p0 = e− λ

µ1 , pn =1

n!

µ1

)n

e− λ

µ1 .

Riprenderemo in esame questo caso nel succesivo paragrafo 1.5.6.

Esaminiamo ora la situazione in cui la sola frequenza di arrivo dipende dalloFrequenza di

arrivo

dipendente

dallo stato

stato. Supponiamo quindi di avere una decrescita della frequenza media degli

arrivi, ad esempio in presenza di una coda molto lunga. Questo caso e anche

detto ad “arrivi rallentati” in quanto prevede il rallentamento progressivo degli

arrivi in rapporto al numero dei clienti presenti nel sistema. Un modello che puo

rappresentare bene questa situazione si ottiene assumendo che i tempi di servizio

siano distribuiti esponenzialmente di parametro costante µ e che gli arrivi siano

poissoniani con parametro non costante e dato da

λn =1

(n+ 1)bλ0 per n = 0, 1, . . . ,

dove λ0 e la frequenza media di arrivo in condizioni normali, ovvero con la coda

vuota, e b e una costante positiva. Analogamente al caso precedente della velocita

di servizio dipendente dallo stato, si possono applicare i risultati sui processi

di nascita e morte tenendo conto che la condizione per l’esistenza dello stato

stazionario e soddisfatta per ogni b > 0, ottenendo

Πn =1

(n!)b

(λ0

µ

)n

, n = 1, 2, . . .

da cui si ha

pn =1

(n!)b

(λ0

µ

)n

p0

con

p0 =1

∞∑n=0

1

(n!)b

(λ0

µ

)n

dalle quale si possono ottenere i valori delle misure di prestazione. Anche in

questo caso un interessante caso particolare si ha in corrispondenza della scelta

b = 1.

Page 13: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 73

Un modello generale si ottiene combinando i due modelli ora discussi ovvero

ponendo

λn =λ0

(n+ 1)b

µn = naµ1.

Analogamente ai casi precedenti si ha

Πn =1

(n!)a+b

(λ0

µ1

)n

, n = 1, 2, . . .

da cui si ottiene

pn =1

(n!)a+b

(λ0

µ1

)n

p0

con

p0 =1

∞∑n=0

1

(n!)a+b

(λ0

µ1

)n .

Quindi si hanno gli stessi risultati gia ottenuti nel primo dei due casi considerati,

sostituendo c con a+ b e λ/µ1 con λ0/µ1 e si possono utilizzare i valori tabulati

per determinare p0 ed N .

Caso multiservente

Passiamo ora al caso di piu serventi considerando direttamente l’ultimo dei mo-

delli trattati nel caso singolo servente, ovvero quello piu generale ottenuto come Caso

multi-

servente

combinazione del modello che tiene conto dell’aumento della velocita media di

servizio e del modello che tiene conto della diminuzione della frequenza media

di arrivo. Nel caso in cui si hanno s > 1 serventi, la variazione di λn e di µn

dipendera da n/s, ovvero dal numero di utenti per servente e quindi di ha

λn =

λ0 per n ≤ s− 1

λ0(n+ 1

s

)bper n ≥ s

µn =

nµ1 per n ≤ s(n

s

)a

sµ1 per n > s

Page 14: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

74 TEORIA DELLE CODE

da cui

Πn =

1

n!

(λ0

µ1

)n

per n = 1, . . . s

1

n!

(λ0

µ1

)n 1

s!(n!/s!)cs(1−c)(n−s)per n = s+ 1, . . .

dove c = a + b. I valori di p0, N , N q sono stati tabulati per diversi valori di c,

di λ0, di µ1 e s. Sono stati inoltre realizzati grafici che riportano i valori di p0e di N al variare di λ0/(sµ1) e che possono risultare molto utili per determinare

valori approssimati delle misure di prestazioni.

Esempio 1.5.17 Si consideri di nuovo il problema della gestione di un pronto soccorso di unospedale esaminato nell’Esempio 1.5.9. Un modello piu aderente alla realta di quelli visti finoad ora per questo problema dovrebbe infatti considerare il fatto che il tempo che un medicoimpiega per curare un pazienze che arriva al pronto soccorso, potrebbe tendere realisticamentea diminuire all’aumentare del numero dei pazienti che sono in fila di attesa. Questo perche insituazioni di affollamento il medico incarica un infermiere di completare il trattamento e passaad un nuovo paziente. Supponiamo, in questa nuova ottica, che il tempo che il medico passain media a curare un paziente sia di 24 minuti se non c’e nessun altro paziente che aspetta,mentre questo tempo diventa di 12 minuti se ci sono 5 o piu pazienti in coda (ovvero 6 utentinel sistema). Quindi si ha µ1 = 5/2 e µ6 = 5. Da cui, poiche assumiamo µ6 = 6cµ1 si hac = 0.386. Poiche lo scopo e sempre quello di confrontare le due alternative date da un solomedico (s = 1) e due medici (s = 2), vogliamo ricavare le misure di prestazione di questo sistemain corrispondenza di questi due valori di s. Innanzitutto osserviamo che

λ0

sµ1={0.8 per s = 10.4 per s = 2.

Dai valori tabulati o dai grafici si ricavano i seguenti valori per p0 e N :

• per s = 1, p0 = 0.367 e N = 1.251;

• per s = 2, p0 = 0.440 e N = 0.864.

Calcoliamo i valori di Nq, T e T q nei due casi:

• per s = 1 si ottieneNq = N−(1−p0) = 0.618, T = Nλ = 0.6255 ore e T q = Nq/λ = 0.309ore;

• per s = 2 si ottiene p1 = (λ0/µ1)p0 = 0.352, Nq = N − p1 − 2(1 − p0 − p1) = 0.096,T = N/λ = 0.432 ore e T q = Nq/λ = 0.048 ore.

Si puo inoltre calcolare la probabilita di attendere in coda un tempo non nullo, ovvero P (T q > 0);

• per s = 1 si ha P (T q > 0) = 1− p0 = 0.633;

• per s = 2 si ha P (T q > 0) = 1− p0 − p1 = 0.208.

Anche dall’analisi dei risultati ottenuti con questo nuovo modello si deduce che l’utilizzo di unsolo medico non permette di avere un servizio efficiente nel pronto soccorso.

Page 15: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 75

1.5.6 Sistemi M/M/∞

Consideriamo, ora, un altro modello di sistemi di code che presenti arrivi poisso-

niani di parametro λ e tempi di servizio distribuiti esponenzialmente con parame-

tro µ, assumendo di avere infiniti serventi. Questo modello teorico corrisponde

al caso in cui un servente e immediatamente disponibile all’arrivo di un utente.

Risulta utile a studiare situazioni in cui un sistema presenta un servizio “self

service”, ovvero gli utenti che arrivano si servono da soli senza dover aspettare.

Tali sistemi sono frequenti nella realta e possono essere rappresentanti anch’essi

attraverso un processo di nascita e morte con

λn = λ per n = 0, 1, . . .

µn = nµ per n = 1, 2, . . .

Si ottiene

Πn =1

n!

µ

)n

n = 1, 2, . . .

e la condizione di esistenza dello stato stazionario e verificata per qualsiasi valore

di λ e µ. Si tratta, quindi, di un caso particolare di sistema con velocita di servizio

dipende dallo stato esaminato nel paragrafo precedente; possiamo facilmente os-

servare che quindi un sistema in cui la velocita di servizio dipende linearmente

dallo stato si comporta come un sistema con servente immediatamente disponi-

bile.

Naturalmente si ha

p0 =1

∞∑n=0

1

n!

µ

)n = e−λ

µ ,

pn =1

n!

µ

)n

e−λ

µ .

Quindi, in condizioni di stazionarieta, il numero degli utenti presenti nel sistema

e distribuito secondo Poisson di parametro λ/µ e quindi risulta

N =λ

µ

ed inoltre, ovviamente, N q = 0 e T q = 0, in quanto non sono previste attese in

coda. Segue che

T = T q +1

µ=

1

µ,

ovvero il valor medio del tempo di permanenza nel sistema coincide con il valore

atteso del tempo di servizio 1/µ.

Page 16: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

76 TEORIA DELLE CODE

1.6 SISTEMI A CODA CON DISTRIBUZIONI NON ESPONENZIALI

Fino ad ora abbiamo considerato modelli di code basati su processi di nascita e

morte, con tempi di interarrivo e tempi di servizio distribuiti esponenzialmente e

abbiamo analizzato le importanti proprieta di tali modelli e il loro efficace uso nel

rappresentare situazioni reali. Tuttavia, esistono casi reali in cui le assunzioni fino

ad ora fatte non sono soddisfatte. Ad esempio, sappiamo che gli arrivi secondo

Poisson approssimano bene gli arrivi casuali che rappresentano una ragionevole

assunzione in moltissime situazioni; tuttavia in alcuni casi, si possono invece

avere situazioni di arrivi programmati e non piu casuali. Analogamente, non sono

infrequenti situazioni in cui i tempi di servizio sono regolati da schemi prestabiliti

che non sono approssimati bene da una distribuzione esponenziale.

Per queste ragioni, in questo paragrafo verrano esaminati modelli di code che

utilizzano distribuzioni diverse da quella esponenziale. L’analisi di questi modelli

risulta, in genere, molto piu difficile dell’analisi compiuta fino ad ora sui sistemi

basati su distribuzioni esponenziali in quanto il processo corrispondente ad un

tale modello non e piu, in generale, un processo di nascite e morte.

Inizieremo questa trattazione rimuovendo la sola assunzione di avere una dis-

tribuzione esponenziale dei tempi di servizio e quindi considerando modelli gen-

erali M/G/s e la loro particolarizzazione ai modelli M/D/s e M/Ek/s. Successi-

vamente considereremo modelli che non abbiano arrivi poissoniani.

1.6.1 Sistemi M/G/1

Consideriamo sistemi di code in cui gli arrivi sono di tipo poissoniano e i tempi di

servizio siano indipendenti, identicamente distribuiti, supponendo che non ci sia

alcuna assunzione sulla distribuzione di probabilita di tali tempi di servizio tsi .

Osserviamo innanzitutto che la proprieta PASTA vista nel paragrafo 1.5.1 valida

per ogni sistema con arrivi poissoniani, ovviamente, continua a valere anche nel

caso che stiamo esaminando.

Passiamo ora allo studio analitico dei sistemi M/G/1. Esistono diversi metodi di

analisi; utilizzeremo, nel seguito, quello basato sui tempi residui del servizio. As-

sumeremo solamente di conoscere la media 1/µ e la varianza σ2 della distribuzione

dei tempi di servizio.

Nonostante non sia stata fatta alcuna assunzione sulla distribuzione dei tempi di

servizio, esiste un risultato generale che fornisce il valore per il tempo medio di

attesa nella coda T q. Tale risultato e noto come formula di Pollaczek–KintchineFormula di

Pollaczek–

Kintchine

ed esprime la T q in funzione del momento secondo del tempo di servizio E((tsi )

2).

Naturalmente, vale

E((tsi )

2)= V ar(tsi ) + [E(tsi )]

2 = σ2 + 1/µ2. (1.6.1)

Riportiamo tale formula nel teorema che segue.

Page 17: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA CON DISTRIBUZIONI NON ESPONENZIALI 77

Teorema 1.6.1 Si consideri un sistema M/G/1 in condizioni di stazionarieta.

Sia λ la frequenza media degli arrivi e siano 1/µ e σ2 rispettivamente la media

e la varianza dei tempi di servizio. Allora si ha

T q = λσ2 + 1/µ2

2(1− ρ).

Dimostrazione: Supponiamo che la disciplina della coda sia di tipo FIFO. In-

dichiamo con Ri il tempo residuo al completamento del servizio visto dall’i-esimo

utente quando arriva (ovvero, se un utente j sta usufruendo del servizio quando

arriva l’utente i arriva, Ri e il tempo necessario affinche sia completato il servizio

sull’utente j). Indichiamo, inoltre, con nqi il numero degli utenti trovati nella

coda dall’i-esimo utente quando arriva.

Naturalmente risulta

tqi = Ri +i−1∑

j=i−nqi

tsj . (1.6.2)

Prendendo il valore atteso6 ad entrambi i membri della (1.6.2), si ha

E(tqi ) = E(Ri) + E(tsj)E(nqi ) = E(Ri) +

1

µE(nq

i ). (1.6.3)

Si osservi che la Ri e la nqi sono quantita viste dall’utente che arriva, ma, poiche

gli arrivi sono poissoniani, tali quantita coincidono con le corripsondenti quantita

viste da un osservatore esterno che osserva il sistema in un istante arbitrario.

Passando al limite per i → ∞ nella (1.6.3), assumendo che questi limiti esistano,

si ha

T q = R+1

µN q, (1.6.4)

dove R e il tempo residuo medio (a regime) definito da R = limi→∞

E(Ri). Ora,

poiche risulta N q = λT q, dalla (1.6.4) si ha

T q = R+λ

µT q

da cui si ottiene

T q =R

1− ρ. (1.6.5)

6Si utilizza un noto risultato di teoria della probabilita secondo il quale, avendo X1, . . . , Xm variabilialeatorie indipendendenti, identicamente distribuite, con media comune E(X) ed m e una variabilealeatoria che puo assumere valori 0, 1, . . ., allora

E(X1 + · · ·+Xm) = E(X)E(m)

Page 18: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

78 TEORIA DELLE CODE

)(τR

st1

st1st2

st2

τt

Fig. 1.6.1 Grafico del tempo residuo

Per completare la dimostrazione rimane da calcolare il valore di R. Effettueremo

questo calcolo con l’ausilio di un grafico. Riportiamo, infatti, in Figura 1.6.1 il

grafico del tempo residuo del servizio R(τ) in funzione del tempo τ , ovvero il

tempo che rimane per il completamento del servizio del cliente che sta usufru-

endo del servizio al tempo τ , assumendo R(0) = 0. Ovviamente, quando un

nuovo servizio di durata tsi inizia, R(τ) ha valore tsi , poi decresce linearmente.

Consideriamo, ora, un istante di tempo t per il quale risulti R(t) = 0 e indichi-

amo con D(t) il numero di arrivi (ovvero di partenze) nell’intervallo [0, t]. La

media temporale di R(τ) nell’intervallo [0, t] e data da

1

t

∫ t

0R(τ)dτ.

Poiche

∫ t

0R(τ)dτ rappresenta l’area della superficie racchiusa tra la funzione

R(τ) e l’asse delle ascisse, tale area e anche uguale alla somma delle aree dei

triangoli, ovvero da

D(t)∑i=1

1

2(tsi )

2. Risulta quindi

1

t

∫ t

0R(τ)dτ =

1

t

D(t)∑i=1

1

2(tsi )

2. (1.6.6)

Page 19: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA CON DISTRIBUZIONI NON ESPONENZIALI 79

Ora, moltiplicando e dividendo per D(t) al secondo membro della (1.6.6) si ha

1

t

∫ t

0R(τ)dτ =

1

2

D(t)

t

D(t)∑i=1

(tsi )2

D(t)(1.6.7)

e passando al limite per t → ∞ nella (1.6.7) (assumendo che i limiti esistano) si

ha

limt→∞

1

t

∫ t

0R(τ)dτ =

1

2limt→∞

D(t)

tlimt→∞

D(t)∑i=1

(tsi )2

D(t). (1.6.8)

Ora, poiche per t sufficientemente grande vale l’uguaglianza tra media temporale

e valore atteso, si ha

limt→∞

1

t

∫ t

0R(τ)dτ = lim

i→∞E(Ri) = R,

ed inoltre

limt→∞

D(t)

t= λ.

Infine, per la legge forte dei grandi numeri, si ha

limt→∞

D(t)∑i=1

(tsi )2

D(t)= E

((tsi )

2).

Quindi la (1.6.8) diventa

R =1

2λE

((tsi )

2)

e sostituendo questo valore di R ora ottenuto nella (1.6.5), utilizzando la (1.6.1)

la dimostrazione e completata.

Osservazione 1.6.1 Abbiamo derivato la formula di Pollaczek–Kintchine as-

sumendo che la disciplina della coda sia di tipo FIFO, ma la formula rimane

valida in generale comunque si scelga la disciplina della coda purche essa sia in-

dipendente dal tempo di servizio richiesto. Non e invece valida se l’ordine con

cui si accede al servizio dipende dal tempo si servizio.

Una volta determinato il valore di T q dalla formula di Pollaczek–Kintchine, si

possono determinare i valori delle altre misure di prestazione, ovvero

N q = λT q =λ2σ2 + ρ2

2(1− ρ)

N = N q + ρ =λ2σ2 + ρ2

2(1− ρ)+ ρ

T =N

λ=

λσ2 + λ/µ2

2(1− ρ)+

1

µ.

Page 20: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

80 TEORIA DELLE CODE

Osservazione 1.6.2 Se consideriamo un sistema di code M/M/1 come caso par-

ticolare di un sistema M/G/1, si ha σ2 = 1/µ2 e quindi l’applicazione della

formula di Pollaczek–Kintchine fornisce per T q il valore T q = λ/[µ(µ − λ)] che

naturalmente coincide con l’espressione di T q gia determinata nel caso di sistema

M/M/1.

Osservazione 1.6.3 Osservando l’espressione di T q, N q ed N si vede che a

parita di λ e µ, queste grandezze aumentano all’aumentare della varianza del

tempo di servizio σ2. Da questo punto di vista, la situazione ideale (ovvero

quella che minimizza queste grandezze) si otterrebbe con σ2 = 0 che si ha con

tempi di servizio costanti, ovvero per sistemi di tipo M/D/1. Si tenga presente

che, a parita di valore atteso, si puo intervenire sui tempi di servizio per renderli

piu regolari possibile (ovvero rendendo la varianza piccola). Questo e molto

importante perche mostra che la “regolarita” del servizio assume una grande

importanza da questo punto di vista, e che quindi non e sufficiente considerare

la velocita media del servizio.

La grande flessibilita dei modelli M/G/1 li rende molto utili, ma il prezzo da pa-

gare per questa loro generalita sta nel fatto che, purtroppo, non sono disponibili,

nel caso generale, risultati per sistemi multiservente, ovvero per sistemi M/G/s

con s > 1.

Nel seguito esaminiamo due casi particolari importanti: i sistemi M/D/s e i

sistemi M/Ek/s.

Sistemi M/D/s

I sistemi di code M/D/s assumono tempi di servizio costanti; essi forniscono unSistemi

M/D/s buon modello per situazioni in cui il servizio e effettuato sempre attraverso una

medesima procedura. Naturalmente risulta σ2 = 0.

Per quanto riguarda il caso singolo servente (s = 1), i valori delle misure di

prestazione si ottengono dal caso generale di sistemi M/G/1 ponendo σ2 = 0. In

particolare, si avra:

T q =1

2

λ

µ(µ− λ)

N q =1

2

ρ2

1− ρ

N =ρ2

2(1− ρ)+ ρ

T =λ/µ2

2(1− ρ)+

1

µ.

Soffermandoci ad osservare i valori di T q e di N q si vede che essi risultano pari

esattamente alla meta dei valori corrispondenti per un sistema di code M/M/1

Page 21: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

SISTEMI A CODA CON DISTRIBUZIONI NON ESPONENZIALI 81

(dove σ2 = 1/µ2). Questo evidenzia il fatto che una diminuzione di σ2 porta ad

un notevole miglioramento (diminuzione) di T q e di N q.

Per quanto riguarda il caso multiservente, (s > 1) esiste un metodo per deter-

minare la distribuzione di probabilita del numero degli utenti nel sistema, in

condizioni di stazionarieta, ma esso esula dallo scopo di queste note perche molto

tecnico e particolare. Esistono anche in questo caso risultati tabulati e grafici

dell’andamento di N in funzione di ρ = λ/(sµ).

Sistemi M/Ek/s

In termini di deviazione standard (σ), i sistemi M/D/s e M/M/s rappresentano Sistemi

M/Ek/sdue situazioni estreme: i primi assumono che non ci siano variazioni nei tempi di

servizio, (infatti σ = 0), mentre i secondi assumono tempi di servizio distribuiti

esponenzialmente con una variazione che puo essere anche molto grande (σ =

1/µ). Tra questi due casi estremi si colloca una distribuzione importante per la

quale risulta 0 < σ < 1/µ e che rappresenta bene i tempi di servizio in molte

situazioni reali: si tratta della distribuzione di Erlang (Ek) di parametri k e µ a

media 1/µ, la cui densita di probabilita e data da

f(t) =(µk)k

(k − 1)!tk−1e−kµt, t ≥ 0.

Una tale distribuzione di probabilita ha varianza pari a 1/(kµ2) e deviazione

standard σ pari a 1/(√kµ) e quindi se i tempi di servizio seguono questa dis-

tribuzione, il parametro k rappresenta una sorta di “grado di variabilita” dei

tempi di servizio.

Richiamiamo il fatto che la sua importanza deriva da due punti fondamentali:

• e una famiglia di distribuzioni a due parametri e quindi con scelte opportune

si riesce ad approssimare bene un tempo di servizio reale ed inoltre per

k = 1 si ottiene la distribuzione esponenziale e per k → ∞ essa tende alla

distribuzione degenere (σ → 0);

• dalla Proprieta E5 della distribuzione esponenziale, si ha che la somma di k

variabili indipendenti, identicamente distribuite esponenzialmente ciascuna

con media 1/(kµ), ha distribuzione di Erlang Ek. Quindi se un servizio si

compone di k operazioni successive a ciascuna delle quali e associato un

tempo di servizio distribuito esponenzialmente con media 1/(kµ), allora il

tempo di servizio complessivo segue la distribuzione di Erlang Ek.

Per quanto riguarda il caso singolo servente (s = 1) dalle formule generali per

un sistema M/G/1 si ottengono i valori delle misure di prestazione per sistemi

M/Ek/1 ponendo σ2 = 1/(kµ2), ovvero

T q =1 + k

2k

λ

µ(µ− λ)

Page 22: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

82 TEORIA DELLE CODE

N q =1 + k

2k

λ2

µ(µ− λ)

T = T q +1

µ=

1 + k

2k

λ

µ(µ− λ)+

1

µ

N = λT =1 + k

2k

λ2

µ(µ− λ)+

λ

µ.

Per quanto riguarda il caso multiservente (s > 1), non e possibile ottenere ana-

liticamente la distribuzione di probabilita del numero degli utenti presenti nel sis-

tema in condizioni di stazionarieta. Tuttavia, anche in questo caso sono disponi-

bili valori tabulati e grafici di N al variare di ρ = 1/(sµ).

1.6.2 Sistemi con arrivi non poissoniani

Concludiamo questo paragrafo con alcuni cenni ai sistemi di code che non presen-

tano arrivi secondo Poisson. Infatti, come abbiamo gia visto per quanto riguarda

i tempi di servizio, anche il processo degli arrivi potrebbe non essere casuale,

ma essere programmato in una qualche forma. Possiamo pertanto considerare

modelli dei seguenti tipi:

• GI/M/s : non impongono restrizioni sul processo degli arrivi;

• D/M/s : gli arrivi sono ad intervalli regolari;

• Ek/M/s : gli arrivi seguono la distribuzione di Erlang Ek.

Per tutti i tre tipi ora menzionati si e assunto che i tempi di servizio sono dis-

tribuiti esponenzialmente. Tuttavia e possibile considerare anche modelli ancora

piu generali come Em/Ek/s, Ek/D/s, D/Ek/s.

La trattazione di questi modelli esula dallo scopo di queste note e pertanto essi

non verranno trattati.

Page 23: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

MODELLI DI CODE CON DISCIPLINA DELLA CODA BASATA SU CRITERI DI PRIORITA 83

1.7 MODELLI DI CODE CON DISCIPLINA DELLA CODA BASATA SU

CRITERI DI PRIORITA

Nella realta si possono presentare situazioni in cui in un sistema di servizio la

disciplina della coda e basata su criteri di priorita, ovvero l’ordine rispetto al quale

gli utenti in coda vengono selezionati e basato sulla priorita ad essi assegnata.

Situazioni reali in cui questo puo accadere sono molteplici: si pensi, ad esempio,

all’esigenza in un pronto soccorso di intervenire prima sui pazienti piu gravi,

oppure a situazioni in cui utenti “importanti” hanno la precedenza su altri.

L’analisi e piuttosto complicata e in questo paragrafo ci limiteremo a consider-

are modelli nei quali si assume che, per ogni classe di priorita, gli arrivi siano

poissoniani e che i tempi di servizio siano esponenziali; inoltre, per semplicita,

assumeremo che il valore atteso del tempo di servizio e lo stesso per ogni classe

di priorita, mentre la frequenza media degli arrivi puo differire a seconda delle

classi di priorita. Indicheremo, inoltre, con nc il numero delle classi di priorita,

intendendo che la classe 1 e quella con la piu alta priorita; la selezione dalla coda

avviene scegliendo un utente nella classe di priorita piu alta e, all’interno della

classe, con il criterio FIFO.

Esistono due tipologie di questi sistemi di code:

• sistemi con priorita con interruzione del servizio (priorita con diritto di

prelazione),

• sistemi con priorita senza interruzione del servizio (priorita senza diritto di

prelazione).

Nel caso di sistemi con interruzione del servizio puo accadere che ad un utente Priorita

interrut-

tiva

sia interrotto il servizio (facendolo ritornare in coda) per l’arrivo nel sistema di

un’altro utente con priorita superiore rispetto a quella dell’utente che sta usufru-

endo del servizio, ovvero il servente e tenuto ad iniziare immediatamente il servizio

al nuovo utente con priorita piu elevata. Al termine del servizio, verra effettuata

un’altra selezione dalla coda. Se l’utente prescelto e uno di quelli ai quali era

stato precedentemente interrotto il servizio, ci sono due possibilita: viene ese-

guita soltanto la parte mancante per il completamento del servizio (preemptive

resume systems), oppure il servizio deve ricominciare dall’inizio (preemptive re-

peat systems). Poiche il tempo di servizio e distribuito esponenzialmente, da un

punto di vista probabilistico, non e rilevante che il servizio interrotto riprenda dal

punto in cui era cessato oppure dall’inizio per la proprieta di assenza di memoria

della distribuzione esponenziale.

Nel caso di sistemi con priorita senza interruzione del servizio il servizio non puo Priorita

non inter-

ruttiva

essere interrotto, ma deve essere portato a termine.

Per entrambi i modelli la distinzione tra i clienti in differenti classi non influenza

la distribuzione degli arrivi di tutti gli utenti, ovvero degli arrivi aggregati senza

Page 24: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

84 TEORIA DELLE CODE

tenere conto delle classi; infatti, per la Proposizione 1.3.6, un processo risultante

dall’aggregazione di processi di Poisson e ancora un processo di Poisson. Inoltre,

poiche tutti i tempi di servizio sono distribuiti esponenzialmente, i due modelli

(con priorita con o senza interruzione del servizio) sono identici al modello M/M/s

fatta eccezione per l’ordine in cui vengono serviti gli utenti, e quindi continuano

a valere le espressioni per N , N q, T e T q ottenute per quel modello. Si osservi,

pero, che T q potrebbe non essere piu il valore atteso del tempo passato in coda

se il servizio viene interrotto con conseguente ulteriore permanenza in coda.

Inoltre cambia la distribuzione dei tempi di attesa che era stata ottenuta in rifer-

imento ad una disciplina di selezione dalla coda di tipo FIFO. Con la disciplina

della coda basata su criteri di priorita, questa distribuzione ha una varianza piu

grande perche i tempi di attesa degli utenti in classi di priorita alta tendono ad

essere piu brevi di quelli con una disciplina di tipo FIFO, mentre quelli degli

utenti in classi di priorita piu basse tendono ad essere piu lunghi. Analogamente,

l’insieme degli utenti presenti nel sistema tendera ad essere per la maggior parte

composto da utenti delle classi di priorita piu basse, in accordo con lo spirito

dei sistemi di code con priorita, ovvero con l’intento di migliorare le misure di

prestazione per gli utenti delle classi di priorita piu alte a scapito, eventualmente,

delle prestazioni per gli utenti nelle classi piu basse.

Per analizzare sistemi di questo tipo dobbiamo introdurre misure di prestazione

relative ad ogni classe; faremo cio inserendo un pedice alle notazioni gia adottate

per indicarne la classe di riferimento; quindi Tk indichera il valore atteso del

tempo passato nel sistema dagli utenti della k-esima classe di priorita e notazioni

analoghe si adotteranno per Nk, Tqk e N q

k .

Consideriamo un sistema con s serventi supponendo che velocita media di servizio

sia pari a µ indipendente dalla classe di priorita, mentre per quanto riguarda il

processo degli arrivi, indicheremo con λi, i = 1, . . . , nc, la frequenza media di

arrivo per gli utenti della classe i-esima. Per la Proposizione 1.3.6 dei processi

di Poisson, aggregando i vari processi di arrivo, ovvero non distinguendo tra le

classi di priorita, si ottiene ancora un processo di Poisson di parametro

λ =nc∑i=1

λi.

Inoltre si assume che∑k

i=1 λi < sµ in modo che la classe di priorita k-esima possa

raggiungere condizioni di stazionarieta.

Si riportano di seguito le espressioni delle misure di prestazione (relative a cias-

cuna classe di priorita) nelle due tipologie di sistemi di code con disciplina della

coda basata su criteri di priorita.

Sistemi con priorita senza interruzione del servizio

Consideriamo il caso in cui non sono consentite interruzioni di un servizio. In

Page 25: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

MODELLI DI CODE CON DISCIPLINA DELLA CODA BASATA SU CRITERI DI PRIORITA 85

questo caso, l’espressione per T qk e la seguente

T qk =

1

abk−1bk, k = 1, . . . , nc,

dove

a = s!sµ− λ(λ

µ

)s

s−1∑j=0

1

j!

µ

)j

+ sµ,

b0 = 1, bk = 1−

k∑i=1

λi

sµ. (1.7.1)

Ad ogni singola classe di priorita si applica il Teorema di Little e si ha

N qk = λkT

qk , k = 1, . . . , nc.

Risulta inoltre

Tk = T qk +

1

µ

Nk = λkTk.

Sistemi con priorita con interruzione del servizio

Consideriamo ora un sistema in cui si prevede l’interruzione di un servizio per

l’arrivo di un utente con priorita piu alta di quella dell’utente che sta usufruendo

del servizio.

Nel caso si singolo servente, ovvero s = 1, si ha la seguente espressione per Tk:

Tk =

1

µ

bk−1bk, k = 1, . . . , nc,

dove le bk sono gia state definite in (1.7.1).

Nel caso multiservente, ovvero s > 1, per determinare Tk si usa una procedura

iterativa che illustriamo di seguito. Tale procedura e basata sul fatto che i tempi

di permanenza nel sistema per gli utenti di una certa classe di priorita non sono

influenzati dalla presenza di utenti nelle classi di priorita piu basse. Quindi il

valore di T1 sara lo stesso per ogni valore di λ2, λ3, . . . , λnc, e quindi anche per

λ2 = λ3 = · · · = λnc = 0. Questo vuol dire che T1 deve essere uguale al valore

T corrispondente ad una sola classe per un sistema M/M/s con λ = λ1 e quindi

si puo calcolare facilmente. Calcolato T1, si prendono in considerazione le prime

due classi di priorita, la prima e la seconda. Anche in questo caso i tempi di

permanenza nel sistema dei clienti di queste due classi non sono influenzati dagli

Page 26: 1.5.3 Sistemi M/M/s Kroma/didattica/SSS10-11/parteE.pdf · del sistema infinita, ovvero il caso di sistemi M/M/1. ... secondo una disciplina FIFO in una fila di attesa che supponiamo

86 TEORIA DELLE CODE

utenti nelle classi inferiori che quindi possono essere ignorati. Sia T1,2 il valore

atteso del tempo di permanenza nel sistema per gli utenti che arrivano e che

appartengono alle due classi che stiamo considerando; la probabilita che essi

appartengano alla prima classe e p1 = λ1/(λ1 + λ2), mentre la probabilita che

appartengano alla seconda classe e p2 = λ2/(λ1 + λ2). Si ha quindi

T1,2 = p1T1 + p2T2. (1.7.2)

Ora, poche i valori attesi dei tempi sono uguali per ogni disciplina della coda,

il valore di T1,2 deve essere uguale al valore di T per un sistema M/M/s con

λ = λ1+λ2 e quindi si puo calcolare facilmente. Noti T1,2 e T1, si ricava T2 dalla

(1.7.2). Analogamente, si itera il procedimento alle prime tre classi: si indica

con T1,3 il valore atteso del tempo di permanenza del sistema per gli utenti delle

prime tre classi di priorita; la probabilita che essi appartengano rispettivamente

alla prima, alla seconda e alla terza classe e p1 = λ1/(λ1 + λ2 + λ3), p2 =

λ2/(λ1 + λ2 + λ3) e p3 = λ3/(λ1 + λ2 + λ3), da cui

T1,3 = p1T1 + p2T2 + p3T3. (1.7.3)

Inoltre T1,3 deve essere uguale al valore di T per un sistema M/M/s con λ =

λ1 + λ2 + λ3 e quindi si ricava facilmente il suo valore. Noti T1, T2 e T1,3 dalla

(1.7.3) si ricava T3. Iterando il procedimento si ottengono i valori di Tk, per

k = 1, 2, . . . , nc.

In entrambi i casi (singolo e multiservente) una volta determinata T k, per ogni

k = 1, , . . . nc si ricavano.

Nk = λkTk

T qk = Tk −

1

µ

N qk = λkT

qk .