dispensa unica SSS

196
Facolt ` a di Ingegneria Corso di Laurea in Ingegneria Gestionale Sistemi di Servizio e Simulazione Massimo Roma Dipartimento di Informatica e Sistemistica “A. Ruberti” [email protected] http://www.dis.uniroma1.it/ e roma anno accademico 2009-10

Transcript of dispensa unica SSS

Page 1: dispensa unica SSS

Facolta di Ingegneria

Corso di Laurea in Ingegneria Gestionale

Sistemi di Servizio e Simulazione

Massimo Roma

Dipartimento di Informatica e Sistemistica “A. Ruberti”

[email protected]://www.dis.uniroma1.it/˜roma

anno accademico 2009-10

Page 2: dispensa unica SSS
Page 3: dispensa unica SSS

Prefazione

Queste note sono redatte in via prelimiare ad uso degli studenti del corso di “Sis-temi di Servizio e Simulazione” del Corso di Laurea in Ingegneria Gestionale e delCorso di Laurea Magistrale in Ingegneria Gestionale della Facolta di Ingegneriadella SAPIENZA, Universita di Roma.La trattazione e divisa in due parti: nella prima parte viene affrontato lo studioanalitico della Teoria delle code con particolare attenzione ai modelli basati suprocessi di nascita e morte; la seconda parte fornisce le basi della Simulazione.Le metodologie della simulazione saranno studiate in termini generali e con rife-rimenti specifici ai sistemi di servizio.Poiche il corso e destinato a studenti che per la prima volta nel loro curricu-lum affrontano queste tematiche, la trattazione, pur mantenendo un adeguatorigore formale, e (per quanto possibile) semplificata nell’esposizione degli argo-menti e nella formulazione degli esempi. Un’integrazione con gli ulteriori esempied esercizi svolti durante le lezioni e indispensabile, cosı come e auspicabile unapprofondimento con “casi di studio” reali.Prerequisiti essenziali per una buona comprensione di queste note sono unaconoscenza di base del calcolo differenziale e degli aspetti modellistici di basedella Ricerca Operativa. Si assumeranno inoltre come noti i concetti base delCalcolo delle Probabilita e della Statistica, con particolare riferimento alla teoriagenerale della probabilita, alle variabili aleatorie, alle distribuzioni di probabilitadi uso frequente, alle leggi di convergenza e alle basi dell’inferenza statistica (ele-menti di statistica inferenziale saranno comunque riportati in queste note).Al termine di ciascuna delle due parti e riportata una bibliografia essenziale.Molte utili informazioni sulla Teoria delle code sono disponibili sul sito

iii

Page 4: dispensa unica SSS

iv PREFAZIONE

http://web2.uwindsor.ca/math/hlynka/queue.html

mentre il sito

http://www.informs-cs.org

riporta informazioni complete su molti aspetti della simulazione.

Page 5: dispensa unica SSS

Introduzione

Un sistema puo essere definito come una collezione di entita (macchine, persone,etc.) che agiscono e interagiscono per il raggiungimento di uno scopo. Per stu-diare “scientificamente” un sistema, viene di solito costruito un modello che eutilizzato per tentare di comprendere il comportamento del sistema stesso. L’usodi modelli come strumento efficace per la soluzione di problemi di decisione eoggi ampiamente diffuso. Un modello puo rappresentare situazioni provenientidal mondo reale, anche molto complesse e anche influenzate da fenomeni di naturaaleatoria. Di fondamentale importanza e di uso ormai consolidato sono i modellimatematici (analitici) che rappresentano la realta attraverso variabili e relazionilogico–matematiche e che descrivono in modo semplificato, ma sempre rigoroso,i fenomeni del mondo reale che si vogliono considerare. E questo il caso deimodelli di Programmazione Matematica caratterizzati dalla definizione esplicitadi una funzione obiettivo da massimizzare o minimizzare e da un insieme pre-fissato al quale devono appartenere le variabili1. I modelli matematici sono ingrado di rappresentare moltissime e diverse realta del mondo reale, e permettonodi ottenere efficientemente una soluzione ottima del problema considerato, o co-munque soluzioni molto buone. Tuttavia in alcuni casi le situazioni in esame sonotalmente complesse e le dimensioni talmente elevate da rendere difficile o troppocostoso l’uso di modelli analitici. In questo caso, uno strumento valido ed efficaceper l’analisi dei problemi e rappresentato dalla simulazione, ovvero dall’utilizzo diun calcolatore per costruire un modello (modello di simulazione) che permetta di

1Lo studente ha acquisito una buona familiarita con modelli di questo tipo nei corsi di Ricerca Operativa

v

Page 6: dispensa unica SSS

vi INTRODUZIONE

“replicare” le caratteristiche del problema reale in esame. Questi modelli hannola differenza fondamentale rispetto ai modelli analitici di utilizzare il calcolatorenon solo come strumento di calcolo, ma anche come strumento per rappresentarele realta in esame. Questo significa che se, ad esempio, in un modello di pro-grammazione matematica c’e una corrispondenza tra relazioni del modo reale erelazioni matematiche, in un modello di simulazione c’e corrispondenza funzionaletra elementi della realta e l’“oggetto” (struttura dati, sottoprogramma, etc.) chene svolte le funzioni.La simulazione, oltre ad essere alternativa all’uso di modelli analitici, gioca unruolo di fondamentale importanza all’interno dell’approccio modellistico per lasoluzione di un problema di decisione, per i seguenti due importanti aspetti:

• permette di effettuare la validazione del modello matematico in alterna-tiva alla sperimentazione diretta che spesso risulta impraticabile o troppocostosa;

• permette di analizzare e studiare modelli stocastici, ovvero modelli in cuialcune grandezze sono influenzate da fenomeni di natura aleatoria.

In questo contesto, questo corso ha un duplice scopo: da un lato vuole ampliare laconoscenza dei modelli analitici introducendo i cosiddetti modelli di file d’attesa,che sono uno strumento essenziale per analizzare un’importante classe di sistemistocastici, i sistemi di servizio, che sono strutture molto diffuse nella vita realecaratterizzate dall’arrivo casuale di utenti ciascuno dei quali richiede un servizio,con la possibilita di formazioni di una coda (o fila) di utenti in attesa. Dall’altro,il corso vuole fornire le basi della simulazione come tecnica che permette di studi-are gli effetti di eventuali interventi su una realta gia esistente, oppure di valutarediverse scelte progettuali di una realta ancora da costruire. Le tecniche di simu-lazione saranno studiate in termini generali e, in particolare, riferite ai sistemi diservizio che hanno nella simulazione un importante strumento di analisi.

Page 7: dispensa unica SSS

1Teoria delle code

L’esperienza quotidiana ci mette in continuo rapporto con la necessita di richiederel’erogazione di un servizio a soggetti o enti con la possibilita che si crei una fila(o coda) in attesa di essere serviti. Questo accade perche il servizio richiedeun certo tempo per essere espletato e perche l’arrivo di coloro che richiedono ilservizio e casuale. Una struttura di questo tipo, ovvero con arrivo casuale diclienti che richiedono lo svolgimento di un servizio viene chiamato Sistema diServizio. Esempi di sistemi di servizio sono molto numerosi anche nella realtaquotidiana come i distributori di benzina, gli sportelli degli uffici postali o dellebanche, le casse di un supermercato; esempi di situazioni di code per ottenereun servizio sono anche gli aerei in attesa del decollo o dell’atterraggio, le partiin attesa di essere lavorate all’interno di un impianto di produzione, i computerin un sistema di comunicazione in attesa di ricevere o trasmettere dati e moltealtre. Tuttavia, dover aspettare non e solo fonte di disagio personale, ma se siconsidera l’ammontare totale delle ore che un popolo di una nazione spreca inattesa in code esso e un importante fattore della qualita della vita e dell’economiadella nazione. L’impatto degli eccessivi tempi di attesa va anche oltre la sempliceattesa di persone che sono in fila: in un impianto di produzione una macchinain avaria che e in attesa di essere riparata causa una perdita nella produzione;ritardi in una rete di telecomunicazioni dovute a linee sature puo causare malfunzionamenti; aerei in attesa del decollo possono seriamente alterare gli oraridei voli con conseguenti disguidi per le compagnie aeree e per i passeggeri.La teoria delle code (o file d’attesa) studia i fenomeni di attesa che si possonoverificare quando si richiede un servizio. Come si e visto negli esempi precedenti,i suoi i campi di applicazione oltre ad essere quelli legati alla vita quotidiana,riguardano anche i sistemi di elaborazione, i sistemi di trasmissione dati, i sistemi

1

Page 8: dispensa unica SSS

2 TEORIA DELLE CODE

flessibili di lavorazione, i sistemi di trasporto e molti altri. Quindi oltre chemigliorare la qualita della vita delle persone, la teoria delle code trova applicazionenel settore industriale, dei servizi e moltissimi altri.Dal punto di vista storico, la formulazione del primo problema di teoria dellecode risale al 1908, quando A.K. Erlang, un ingegnere impiegato presso la DanishTelephone Company di Copenaghen, ritenuto il fondatore della teoria delle code,voleva studiare come dimensionare centrali telefoniche allo scopo di manteneread un valore ragionevolmente basso il numero delle chiamate che non potevanoessere connesse (chiamate perse) perche il centralino era occupato.

Page 9: dispensa unica SSS

GENERALITA 3

1.1 GENERALITA

Un Sistema di Servizio (o sistema di code) e una struttura caratterizzata dall’arrivocasuale di utenti detti clienti ciascuno dei quali richiede lo svolgimento di un’ope- Sistema di

Serviziorazione che viene detta servizio. L’operazione e svolta da un’unita che viene dettaservente (server) (o stazione di servizio) che puo servire un utente alla volta.Poiche gli arrivi degli utenti che richiedono il servizio e casuale e poiche il temponecessario per espletare il servizio dal parte del servente e non nullo, si possonoverificare situazioni temporanee in cui il servente non ha la possibilita di soddis-fare immediatamente le richieste con conseguente generazione di una fila o codadi clienti in attesa di essere serviti.Il servente puo essere uno solo (singolo canale) oppure ci puo essere piu di unservente. Gli utenti che arrivano al sistema attendono in fila se tutti i serventisono impegnati, poi vengono serviti ed infine lasciano il sistema. Si tenga contodel fatto che, di solito, chi gestisce il servizio ricava un utile dall’effettuazione delservizio stesso, e quindi si adoperera affinche i clienti non vengano scoraggiati daattese eccessive rinunciando al servizio o rivolgendosi altrove, overo non fornendoalcun utile al gestore; d’altra parte, il gestore per ovviare a questo inconvenientepotrebbe aumentare il numero dei serventi, ma questo implica un aumento deicosti ed inoltre l’aumento degli operatori addetti al servizio potrebbe non essereassolutamente conveniente se questi, tranne nei momenti di maggiore richiesta,rimangono inattivi per lunghi periodi.Lo scopo della teoria della code e quello di valutare alcune grandezze (misuredi prestazione) sulle quali basarsi per dimensionare il sistema di servizio. Essepossono essere la lunghezza media della coda, il numero medio di utenti presentinel sistema, la durata media del tempo passato nella coda. Ovvero, deve poterfornire una risposta a domande tipiche riguardanti misure di prestazione del sis-tema, fra le quali: quanto tempo un cliente si prevede che aspetti in fila primadi essere servito ? Qual e la probabilita che un cliente aspetti piu di un tempoprefissato prima di essere servito ? Qual e l’utilizzazione che ci si aspetta deiserventi e il tempo che essi sono occupati ? Qual e la probabilita che la codasuperi una certa lunghezza ?Sistemi con tipologie abbastanza semplici possono essere analizzati analitica-mente, ma quando le tipologie sono piu complicate come, ad esempio, piu codepresenti nel sistema, relative ad operazioni diverse, effettuate da serventi diversi, etali che tutte le operazioni devono essere effettuate affinche il servizio richiesto siaespletato, un’analisi analitica non e sempre possibile e l’utilizzo della simulazionee in questo caso indispensabile per l’analisi delle prestazioni del sistema.

Page 10: dispensa unica SSS

4 TEORIA DELLE CODE

1.1.1 Esempi reali di sistemi di code

La descrizione fino ad ora fornita di un sistema di servizio (sistema di code)potrebbe sembrare abbastanza astratta e applicabile solamente ad alcuni casiparticolari. Al contrario, i sistemi di code presentano un vasto campo di appli-cazione in differenti contesti. Riportiamo di seguito alcune situazioni in cui lateoria delle code puo essere applicata con successo.

• Sistemi di servizi commerciali.Nell’esperienza quotidiana ci sono molte situazioni in cui clienti ricevono unservizio da una organizzazione commerciale con frequente formazione di filad’attesa; esempi sono le casse di un supermercato, gli uffici postali, l’ingressoad un museo, le biglietterie ferroviarie, l’anagrafe, gli uffici commercialipubblici aperti al pubblico e moltissimi altri.

• Sistemi di servizi sociali.Anche nell’espletamento dei servizi sociali in molte situazioni la formazionedi file d’attesa e spesso inevitabile. Ad esempio, i servizi ospedalieri (servizioradiografico, laboratorio di analisi cliniche, visite specialistiche), il servizioambulatoriale del medico di base, oppure, in generale, uffici pubblici cheforniscono un servizio sociale. Anche il sistema giudiziario puo essere vistocome un sistema di code in cui le corti sono i serventi e gli utenti sono iprocessi in attesa di essere celebrati. Il sistema legislativo e un sistema difile d’attesa dove i progetti di legge in attesa di essere discussi rappresentanogli utenti del sistema.

• Sistemi di trasporto.I sistemi di trasporto rappresentano un’importante classe di sistemi rapp-resentabili mediante sistemi di code. Si pensi, ad esempio, agli autoveicoliin attesa ai caselli autostradali o ai semafori, agli autocarri o alle navi inattesa di essere caricati o scaricati, agli aerei in attesa di decollare o at-terrare. Un altro esempio puo essere rappresentato dai parcheggi per auto,dove i serventi sono gli spazi per il parcheggio. Altri casi sono rappresentatidai taxi, dagli ascensori, dalle autopompe dei vigili del fuoco.

• Sistemi di produzione.Nei sistemi industriali molto spesso si creano situazioni di attesa da parte dicomponenti che devono essere lavorati da linee di produzione. Altri esempisono rappresentati dai centri di assemblaggio o dai sistemi di manutenzionein cui gli operai rappresentano i serventi e le macchine da sottoporre amanutenzione i clienti.

• Sistemi di comunicazione.Nelle reti di comunicazioni, ad esempio quelle di trasmissione dati, pacchettidi dati vengono trasmessi lungo le connessioni da un nodo al successivo con

Page 11: dispensa unica SSS

GENERALITA 5

possibilita di attesa (buffering) quando la domanda in ingresso eccede la ca-pacita. Situazioni di attesa possono anche verificarsi nel calcolo parallelo incui piu calcolatori connessi effettuano elaborazioni in parallelo con necessitadi scambiarsi dati. Altri esempi sono rappresentati dai call–center, dove glioperatori rappresentano i serventi e gli utenti sono coloro che chiamano eche possono essere messi in attesa fino al momento in cui c’e un operatoredisponibile.

Naturalmente ogni lista di casi reali non puo essere esaustiva, ma gli esempiriportati rappresentano situazioni caratteristiche e dovrebbero suggerire il fattoche i sistemi di code pervadono la vita reale in molti e diversi settori della societa.

1.1.2 Componenti di un sistema di servizio

Da un punto di vista fisico, un sistema di servizio e composto da un insieme (nonvuoto) di serventi, da un insieme (non vuoto) di aree di attesa (chiamate anchebuffer) che accolgono i clienti in attesa di essere serviti.Un sistema di servizio puo essere schematizzato nelle seguenti componenti carat-teristiche:

• Popolazione

I potenziali clienti fanno parte della cosiddetta popolazione degli utenti (oinput source). I clienti di una popolazione sono indistinguibili e la carat- Popolazione

degli utentiteristica principale di una popolazione e la dimensione, che rappresenta ilnumero totale dei distinti potenziali clienti che richiedono un servizio. Sipuo assumere che la dimensione sia finita o infinita. Per semplicita di ana-lisi, spesso si assumera che la dimensione sia infinita anche quando essa efinita purche sufficientemente grande. Il caso finito e piu difficile da trattareperche il numero dei clienti nel sistema influenza il numero dei clienti chesono al di fuori del sistema. Tuttavia l’assunzione di popolazione finita enecessaria in alcuni casi.

• Numero dei serventi

In un sistema di code deve essere noto il numero dei serventi che indichiamo Numero deiserventi scon s. Infatti, in generale, vi possono essere uno o piu serventi e nel caso in

cui vi sono piu serventi e necessario distinguere se lavorano “in parallelo”o “in serie”.

• Schema di arrivo

In un sistema di code deve essere specificato lo schema di arrivo che de-scrive il modo secondo il quale i clienti si presentano a richiedere il servizio.Esso e definito in termini di intervalli di tempo tra due arrivi successivi diclienti nel sistema (tempo di interarrivo). Questo schema puo essere deter-ministico oppure puo essere rappresentato da una variabile aleatoria che,

Page 12: dispensa unica SSS

6 TEORIA DELLE CODE

in riferimento all’i-esimo cliente che entra nel sistema, indichiamo con tai ,ovvero tai rappresenta il tempo che intercorre tra l’arrivo del cliente (i− 1)-Tempo di

interarrivo tai esimo e il cliente i-esimo. Degli intertempi di arrivo si suppone nota ladistribuzione di probabilita.Altri due aspetti meno comuni possono anche presentarsi: la rinuncia diun utente in arrivo in conseguenza del fatto che la coda e troppo lunga(balking); l’arrivo degli utenti in gruppo.

• Schema di servizio

Lo schema di servizio descrive il modo secondo il quale ciascun serventeeroga il servizio. Esso e specificato in termini del tempo di servizio, ovveroTempo di

servizio tsi del tempo necessario ad un servente per “servire” un utente. Il tempo diservizio puo essere deterministico, ma piu spesso esso e una variabile aleato-ria che, in riferimento al cliente i-esimo indichiamo con tsi . Dei tempi diservizio si suppone nota la distribuzione di probabilita.Un’assunzione comune e che, nel caso di piu serventi, essi operano con ilmedesimo schema di servizio, ovvero il tempo di servizio ha la stessa dis-tribuzione di probabilita. Esiste anche la possibilita di avere i clienti servitida una sequenza di serventi, ovvero un cliente per essere completamentoservito richiede l’intervento di piu serventi in successione.

• Capacita del sistema

Il valore massimo che puo assumere la variabile associata al numero diutenti presenti nel sistema si definisce capacita del sistema, e corrispondeCapacita

del sistema al numero massimo di utenti che possono essere contemporaneamente nelsistema, comprendendo sia gli utenti in attesa in coda, sia quelli che stannofruendo del servizio.

• Disciplina della coda

La disciplina della coda specifica l’ordine rispetto al quale gli utenti vengonoserviti. Le piu comunemente usate sono basate sui seguenti criteri: FIFOCriteri

FIFO,LIFO,SIRO

(“first in first out”)1 che corrisponde al servizio degli utenti nell’ordine incui arrivano; LIFO (“last in first out”)2 che corrisponde a servire per primol’ultimo cliente arrivato; SIRO (“service in random order”) che consistenel servire gli utenti scegliendoli a caso; infine, possono esistere criteri dipriorita (PRI) che consistono nel classificare gli utenti in base a classi dipriorita, servendo per primi quelli della classe di priorita piu alta.Indichiamo con tqi la variabile aleatoria rappresentante il tempo passatoTempo in

coda tqi dall’i-esimo utente nella coda prima di iniziare ad usufruire del servizio.

1Anche indicato con FCFS (“first came first served”)2Anche indicato con LCLS (“last came last served”)

Page 13: dispensa unica SSS

GENERALITA 7

Il processo base che avviene in un sistema di code e il seguente: clienti cherichiedono un servizio sono generati nel tempo dalla popolazione, entrano nelsistema e raggiungono la coda. Ad un certo momento, un cliente viene selezionatodalla coda secondo la disciplina della coda. Il servizio richiesto e effettuato da un Tempo di

permanenzanel sistema

servente e successivamente a cio il cliente lascia il sistema. Quindi se indichiamocon twi il tempo passato complessivamente dall’i-esimo utente nel sistema si ha

twi = tqi + tsi . (1.1.1)

Rappresentazioni schematiche di sistemi di code sono riportati nella Figura 1.1.1e nella Figura 1.1.2.

Coda

Serventi

Popolazione

Fig. 1.1.1 Schema di un sistema di code con una sola coda e tre serventi in parallelo

Coda

Serventi

Popolazione

Coda

Fig. 1.1.2 Schema di un sistema di code con due code e quattro serventi in parallelo

Page 14: dispensa unica SSS

8 TEORIA DELLE CODE

Naturalmente un servente non deve essere necessariamente un singolo individuo,ma puo essere costituito da un gruppo di persone che lavorano simultaneamenteper il cliente (si pensi, ad esempio, agli operai di un officina di riparazione chelavorano contemporaneamente per effettuare riparazioni ad apparati in avaria).Inoltre, i serventi non devono essere necessariamente delle persone: infatti, inmolti casi sono macchine, dispositivi elettronici, etc. Analogamente, un clientenon deve essere necessariamente un individuo, ma puo essere un articolo in attesadi essere lavorato da una macchina oppure un automobile in attesa di essererevisionata, etc.Nel trattare la teoria delle code, un’assunzione che di solito viene fatta e che noiassumeremo sempre soddisfatta riguarda il fatto che gli intertempi di arrivo taisono indipendenti e identicamente distribuiti e che anche i tempi di servizio tsisono indipendenti e identicamente distribuiti.

1.1.3 Notazione di Kendall

E stata definita una notazione per indicare sinteticamente le caratteristiche prin-cipali di un sistema di servizio (o di code); la notazione, chiamata notazione diKendall, consiste in sigle separate dal simbolo /, del tipo

A/B/s/c/p/Z

dove

A rappresenta lo schema di arrivo, ovvero la distribuzione di probabilita degliintertempi di arrivo;

B rappresenta lo schema di servizio, ovvero la distribuzione di probabilita deitempi di servizio;

s rappresenta il numero di serventi ;

c rappresenta la capacita del sistema;

p rappresenta la dimensione della popolazione;

Z rappresenta la disciplina della coda.

Le ultime tre componenti possono non essere specificate, assumendo, i seguentivalori di default: in mancanza della componente c si assume che la capacitadel sistema sia infinita; se non e specificata la componente p si assume che lapopolazione sia infinita; se non e presente la componente Z si assume che ladisciplina della coda sia FIFO.Le componenti s, c e p sono numeri interi non negativi. Per quanto riguarda ledistribuzioni di probabilita dello schema di arrivo e di servizio, quelle che vengonopiu frequentemente assunte sono la distribuzione esponenziale, la distribuzione

Page 15: dispensa unica SSS

GENERALITA 9

costante (degenere) o tempi deterministici, la distribuzione di Erlang di ordine k.Queste vengono indicate in termini delle componenti A e B, nel seguente modo:

M indica la distribuzione esponenziale;

D indica la distribuzione costante (degenere) o tempi deterministici;

Ek indica la distribuzione di Erlang di ordine k;

G indica una distribuzione generica che, per quanto riguarda gli intertempidi arrivo, puo essere sostituita dalla sigla GI ad indicare un distribuzionegenerica di eventi indipendenti.

Molto frequente e l’uso di notazioni del tipo M/M/1 (ovvero con solamente tresigle) che, come abbiamo gia detto, corrisponde ad avere la capacita del sistemainfinita, la popolazione infinita e la disciplina della coda basata sul criterio FIFO(ovvero corrisponderebbe a scrivere M/M/1/∞/∞/FIFO); tale modello M/M/1assume che sia gli intertempi di arrivo, sia i tempi di servizio hanno distribuzioneesponenziale e che e presente un solo servente. La notazione M/G/1 indica, adesempio, un modello con intertempi di arrivo distribuiti esponenzialmente e nonpone nessuna specificazione sulla distribuzione dei tempi di servizio.

Page 16: dispensa unica SSS

10 TEORIA DELLE CODE

1.2 PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI

Le problematiche di interesse nello studio di un sistema di code riguardano leprestazioni del sistema. In particolare, il gestore o il progettista di un sistemadi servizio vuole dimensionare il sistema in modo da ottimizzarne le prestazioni.Naturalmente, ci sono due punti di vista: i clienti vorranno minimizzare i tempidi attesa, mentre il gestore del sistema di servizio sara interessato a sfruttare almeglio le risorse del sistema stesso, cioe i serventi, in modo da minimizzare i suoicosti o massimizzare i suoi profitti; da parte del gestore c’e comunque sempreda prendere in considerazione il costo indiretto dovuto all’eventuale mancatoguadagno dovuto al fatto che, se i tempi di attesa sono troppo lunghi, gli utentipotrebbero rinunciare al servizio e rivolgersi altrove.Si e quindi interessati a determinare le distribuzioni di probabilita di alcunevariabili aleatorie che caratterizzano le prestazioni del sistema in relazione allacoda di utenti che si forma. Una volta note queste distribuzioni si puo risalireai costi che ne conseguono, ovvero il costo del personale e delle attrezzature delsistema di servizio da parte del gestore o il costo del tempo passato in attesa daparte dei clienti.Salvo diversa specificazione, in presenza di piu serventi, assumeremo sempre chegli s serventi lavorino in parallelo.

1.2.1 Definizioni e notazioni standard

Introdurremo ora alcune definizioni e notazioni standard che vengono di solitoadottate nell’analisi delle prestazione di un sistema di code e che utilizzeremo nelseguito.

Si definisce frequenza media degli arrivi dei clienti nel sistema il numero medio diFrequenzamedia degliarrivi

arrivi di utenti nell’unita di tempo. Indicheremo con λ la frequenza media degliarrivi.

Si definisce velocita di servizio il numero medio di utenti per il quali e espletatoVelocita diservizio il servizio nell’unita di tempo. Indicheremo con µ la velocita di servizio.

Si definisce fattore di utilizzazione dei serventi ρ il rapporto tra la frequenza mediaFattore diutilizzazionedei serventi

degli arrivi e la velocita del servizio moltiplicata per il numero dei serventi, ovvero

ρ =λ

sµ,

che rappresenta la frazione di tempo che i serventi sono occupati, in quanto talerapporto e la frazione della capacita di servizio che ha il sistema (sµ) che eutilizzata in media dai clienti che arrivano (λ).

Page 17: dispensa unica SSS

PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI 11

Per quanto riguarda la frequenza media degli arrivi λ e la velocita del servizio µ,indicati con E(tai ) e E(tsi ) i valori attesi delle variabili aleatorie tai e tsi si ha

λ =1

E(tai )e µ =

1E(tsi )

.

Naturalmente, sia λ sia µ potrebbero non essere costanti al variare del numero diutenti presenti nel sistema. In questi casi, se k denota il numero di utenti presentinel sistema, verranno denotate con λk e µk.

Esempio 1.2.1 Supponiamo che in un sistema di servizio l’intervallo di tempo tra due arrivisuccessivi di clienti (tempi di interarrivo) siano rispettivamente 3′, 7′, 4′, 10′ e 6′ come illustratonella Figura 1.2.1. Quindi nei 30 minuti presi in esame abbiamo un tempo medio di interarrivopari a 6 minuti. Percio il numero medio di arrivi di utenti nell’unita di tempo e di 5 in 30 minuti,ovvero 0.16666 al minuto, quindi λ = 0.1666 utenti al minuto. Analogamente se il numero mediodi utenti per il quali e espletato il servizio e pari a 4 al minuto, ovvero µ = 4, allora il tempomedio di servizio e 1/4 di minuto.

30’

3’ 7’ 4’ 10’ 6’

1 2 3 4 5

Fig. 1.2.1 Schema degli arrivi dell’Esempio 1.2.1

Si definisce stato di un sistema a coda al tempo t il numero di clienti presenti nel Stato di unsistema dicode n(t)

sistema ed e quindi dato dalla somma del numero dei clienti che sono nella fila diattesa e il numero dei serventi attivi. Indicheremo con n(t) lo stato del sistemaa coda al tempo t.

Si definisce lunghezza della coda al tempo t il numero di clienti che sono in attesa Lunghezzadella codanq(t)

del servizio, ovvero nella fila d’attesa. Indicheremo con nq(t) la lunghezza dellacoda al tempo t.

Per quanto riguarda la lunghezza della coda nq(t), essa naturalmente dipende das e da n(t) ed in particolare vale

nq(t) ={

0 se n(t) ≤ s

n(t)− s se n(t) > s.

Page 18: dispensa unica SSS

12 TEORIA DELLE CODE

1.2.2 Misure di prestazione

Nell’analisi di un sistema di servizio vengono prese in considerazione alcunegrandezze fondamentali come misure di prestazione. Nella maggior parte deicasi di interesse si e interessati a valutare queste grandezze assumendo che il sis-tema abbia raggiunto una situazione di regime e cio avviene quando il sistemae stato in funzione per un tempo sufficientemente grande. Infatti, quando unsistema ha iniziato da poco ad essere operativo, lo stato del sistema sara forte-mente influenzato dallo stato iniziale e dal tempo che e trascorso dall’attivazionedel sistema stesso. In questo caso il sistema e detto in condizioni transitorie.Condizioni

transitorie Tuttavia, in molti casi, trascorso un tempo sufficientemente grande, il sistemadiviene indipendente dallo stato iniziale e si dice che il sistema ha raggiunto con-dizioni stazionarie o equilibrio (steady–state). Si osservi subito che questo nonCondizioni

stazionarie puo accadere se risulta ρ ≥ 1 nel qual caso lo stato del sistema cresce indefiniti-vamente nel tempo. Per un sistema in condizioni stazionarie la distribuzione diprobabilita dello stato del sistema rimane la stessa nel tempo.La teoria delle code analizza principalmente sistemi in condizioni di stazionarieta;il caso di sistema in condizioni transitorie e piu difficile da analizzare analitica-mente e, anche se esistono alcuni risultati validi in questo caso, essi non verranoconsiderati. Per effettuare l’analisi di un sistema in condizioni di stazionarieta sifa uso delle seguenti quantita fondamentali:

pk : probabilita che k utenti siano presenti nel sistema

N : numero medio degli utenti nel sistema

N q : numero medio degli utenti nella coda

T : tempo medio passato da un utente nel sistema

T q : tempo medio passato da un utente nella coda.

Esaminiamo, ora, come queste quantita possono essere definite formalmente,chiarendo il loro significato.

Innanzitutto si osservi che nel definire le grandezze che caratterizzano i sistemidi code, non si ha a che fare solamente con variabili aleatorie, ma con processistocastici in quanto e presente una dipendenza da un parametro. Ovvero, formal-mente, {n(t)} e {nq(t)} sono processi stocastici a tempo continuo e le famiglie divariabili aleatorie {twi } e {tqi } sono processi stocastici a tempo discreto.Inoltre, anche la probabilita che nel sistema siano presenti k utenti dipende daltempo, ovvero si deve definire pk(t) la probabilita che lo stato del sistema altempo t sia k. Ora, dalla definizione di valore atteso di una variabile aleatoriadiscreta si ricava immediatamente

E(n(t)) =∞∑

k=0

kpk(t) (1.2.1)

Page 19: dispensa unica SSS

PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI 13

E(nq(t)) =∞∑

k=s+1

(k − s)pk(t). (1.2.2)

Se inoltre indichiamo con ftwi(t) e ftqi

(t) rispettivamente le densita di probabilitadelle variabili aleatorie continue twi (tempo passato nel sistema) e tqi (tempo pas-sato nella coda), si ha

E(twi ) =∫ ∞

0t ftwi

(t)dt (1.2.3)

E(tqi ) =∫ ∞

0t ftqi

(t)dt. (1.2.4)

Siamo interessati ai casi in cui, per valori di t molto grandi, le probabilita pk(t)rimangano intorno ad un valore. La maggior parte dei sistemi di code di interesseraggiungono una situazione di equilibrio, indipendentemente dalla stato iniziale.Assumeremo, quindi, che esista il seguente limite

limt→∞ pk(t) = pk, k = 0, 1, . . . ,

dove pk si intende come la probabilita limite che il sistema contenga k utenti inun istante arbitrariamente grande. Questo, ovviamente, non significa che avendoassunto che pk non dipenda piu dal tempo il sistema rimanga sempre in questasituazione limite. Le probabilita pk devono essere interpretate come probabilita alungo termine, ovvero descrivono bene la probabilita che siano presenti k in unsistema che ha raggiunto condizioni stazionarie.

A questo punto siamo in grado di definire N il numero medio di utenti presentinel sistema come

N = limt→∞E(n(t)) =

∞∑

k=0

kpk. (1.2.5)

Considerazioni analoghe valgono per la definizione di N q il numero medio diutenti in coda, ovvero

N q = limt→∞E(nq(t)) =

∞∑

k=s+1

(k − s)pk.

Per quanto riguarda il tempo di permanenza nel sistema, twi che definisce il tempoche l’i-esimo utente passa nel sistema (tempo in coda e tempo del servizio),tipicamente il valore atteso E(twi ), al tendere di i all’infinito, tende ad un valoredi equilibrio che denotiamo con T , ovvero definiamo

T = limi→∞

E(twi ).

Un discorso analogo vale per il tempo tqi passato in coda da ciascun utente, ovverodefiniamo

T q = limi→∞

E(tqi ).

Page 20: dispensa unica SSS

14 TEORIA DELLE CODE

Forniamo, ora, una interpretazione grafica delle quantita appena definite. A talescopo, consideriamo, un intervallo prefissato [0, t] e siano a(t) e b(t) rispettiva-mente il numero totale degli utenti arrivati nel sistema e il numero totale degliutenti serviti e quindi usciti dal sistema in funzione del tempo t. Per semplicita,ci riferiremo ad un sistema con un singolo servente e con disciplina della codaFIFO, ma i risultati che otterremo sono validi (e facilmente ottenibili) per qualsi-asi tipo di sistema di code. Consideriamo i diagrammi di a(t) e b(t) nell’intervalloprefissato [0, t] riportati nella Figura 1.2.2, assumendo che n(0) = 0.

1

2

3

4

5

6

7

8

a(t)

b(t)

t

n(t)

wt2

wt1

t 1 t 2

Fig. 1.2.2 Illustrazione di una coda

Ad ogni istante di tempo t, ovviamente risulta n(t) = a(t)− b(t). Relativamenteall’intervallo [0, t] possiamo considerare le seguenti medie temporali

Nt =1t

∫ t

0n(τ)dτ (1.2.6)

Tt =1

a(t)

a(t)∑

i=1

twi (1.2.7)

λt =a(t)t

. (1.2.8)

Nt rappresenta la media di n(t) nell’intervallo [0, t]; Tt rappresenta il tempo mediodi permanenza di un utente nel sistema ottenuto come rapporto tra somma deitempi di permanenza di ciascun utente nel sistema e il numero totale a(t) diutenti arrivati nel sistema al tempo t; λt rappresenta la frequenza media degliarrivi, ovvero il numero di arrivi nell’unita di tempo.

Page 21: dispensa unica SSS

PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI 15

La maggior parte dei sistemi a coda di interesse sono ergodici nel senso che valeinoltre la seguente uguaglianza3

limt→∞Nt = lim

t→∞E(n(t)) (1.2.9)

con probabilita 1. Ovvero, per t sufficientemente grande, vale l’uguaglianza trala media temporale Nt e il valore atteso N . Analogamente, vale anche

limt→∞Tt = lim

i→∞E(twi ) (1.2.10)

con probabilita 1.Si osservi che le (1.2.9) e (1.2.10) rappresentano uguaglianze tra medie temporalia lungo termine rappresentate da limt→∞Nt e da limt→∞ Tt e medie stocastichedate dai valori attesi.

Ripetendo questi ragionamenti relativamente ai soli utenti in coda, analogamentead N nella (1.2.9) si puo ottenere N q come

limt→∞N q

t = limt→∞E(nq(t)) (1.2.11)

e analogamente a T nella (1.2.10) si puo ottenere T q come

limt→∞T q

t = limi→∞

E(tqi ), (1.2.12)

dove N qt e T q

t sono definiti in maniera analoga a Nt e Tt.

Per quanto riguarda la frequenza media degli arrivi nell’intervallo [0, t] suppor-remo che valga

λ = limt→∞λt = lim

t→∞E (a(t))

t, (1.2.13)

avendo assunto che tali limiti esistano.

1.2.3 Relazioni fondamentali

Esistono importanti relazioni che legano le quantita , N , T e N q, T q in un sistemadi code in condizioni stazionarie. La prima relazione che analizziamo e uno deirisultati piu generali e utile della teoria delle code. E nota come teorema di Teorema di

LittleLittle dal nome di J. D. C. Little che per primo nel 1961 ne diede una formu-lazione rigorosa. Successivamente ci sono stati numerosi tentativi di semplificarela dimostrazione di questo risultato. Nel 1974 S. Stidham ne ha fornito una di-mostrazione semplice e rigorosa in ipotesi del tutto generali. Tale risultato, anchedetto formula (o legge) di Little e il seguente:

3Non viene fornita una rigorosa giustificazione matematica delle assunzioni che seguono in quanto sareb-bero richiesti strumenti matematici tecnici che vanno oltre lo scopo di queste note

Page 22: dispensa unica SSS

16 TEORIA DELLE CODE

Teorema 1.2.1 In un sistema a coda in condizioni stazionarie vale la seguenterelazione

N = λT (1.2.14)

Dimostrazione: Forniamo una giustificazione per via grafica di questa formulaassumendo che ogni cliente e servito nell’ordine in cui arriva (FIFO); una giusti-ficazione simile puo essere fornita nel caso generale in cui l’ordine dei servizi earbitrario (per ogni approfondimento si veda il paragrafo 5.2 di [Cooper, 1981]).Consideriamo i diagrammi di a(t) (numero totale degli utenti arrivati nel sistemaal tempo t) e di b(t) (numero totale degli utenti serviti e quindi usciti dal sistemaal tempo t) riportati nella Figura 1.2.2 nell’intervallo prefissato [0, t]. L’arearacchiusa tra i due diagrammi e data da

∫ t

0n(τ)dτ (1.2.15)

o, equivalentemente dab(t)∑

i=1

twi +a(t)∑

i=b(t)+1

(t− ti). (1.2.16)

Quest’ultima espressione dell’area rappresenta anche la somma dei tempi di per-manenza nel sistema di tutti gli utenti fino al tempo t dove il primo termineconsidera i tempi degli utenti entrati e usciti dal sistema prima del tempo t, men-tre il secondo termine considera i tempi degli utenti che al tempo t sono entratinel sistema ma non ancora usciti.Uguagliando e dividendo per t la (1.2.15) e la (1.2.16) si ha

∫ t

0n(τ)dτ

t=

b(t)∑

i=1

twi +a(t)∑

i=b(t)+1

(t− ti)

t. (1.2.17)

Moltiplicando e dividendo per a(t) il secondo membro della (1.2.17) si ha

∫ t

0n(τ)dτ

t=

a(t)t

b(t)∑

i=1

twi +a(t)∑

i=b(t)+1

(t− ti)

a(t). (1.2.18)

Ora, definendo Tt =

b(t)∑

i=1

twi +a(t)∑

i=b(t)+1

(t− ti)

/a(t), la (1.2.18) puo essere

riscritta nella formaNt = λtTt. (1.2.19)

Page 23: dispensa unica SSS

PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI 17

Si osservi ora che la Tt definita in (1.2.7) e la Tt differiscono per il solo fatto cheTt include il tempo totale passato nel sistema da tutti gli utenti arrivati da 1fino a b(t), ma non considera il tempo passato nel sistema dopo il tempo t perquegli utenti che sono ancora nel sistema al tempo t; infatti questo tempo risultainvece conteggiato nella Tt. Siamo ora interessati a passare al limite per t → ∞nella (1.2.18). A questo scopo osserviamo che assumendo che Nt tenda ad unvalore N finito, la differenza tra Tt e Tt puo essere trascurata in quanto moltopiccola rispetto alla somma dei tempi degli utenti arrivati da 1 fino a b(t). Quindi,passando al limite per t → ∞ nella (1.2.18), utilizzando la (1.2.9), la (1.2.10) ela (1.2.13) si ottiene N = λT che la formula di Little (1.2.14).

Osservazione 1.2.2 Si osservi che nella dimostrazione del Teorema di Little sie fatto uso solamente delle quantita Nt, Tt e λt e del fatto che limt→∞Nt = N ,limt→∞ Tt = T e limt→∞ λt = λ. Questo significa che il teorema continua a valereanche se le uguaglianza tra medie temporali e medie stocastiche date dalle (1.2.9)e (1.2.10) non dovessero valere. In questo caso, pero, le quantita N e T possonosolamente essere interpretate come medie temporali a lungo termine e non comevalori attesi delle corrispondenti variabili aleatorie.

Osservazione 1.2.3 E importante ribadire che la formula di Little ha una va-lidita del tutto generale ed in particolare si osservi che:

• e indipendente dalle distribuzioni di probabilita dei tempi di interarrivo edei tempi di servizio (sistemi G/G/s).

• e indipendente dalla disciplina del servizio (la dimostrazione si riferisce alsolo caso di disciplina FIFO solo per semplicita);

• e valida per sistemi in condizioni stazionarie;

• la frequenza λ deve essere la frequenza effettiva, ovvero la frequenza degliingressi effettivi nel sistema. Come si vedra in seguito, per alcune tipologiedi sistemi di code (come ad esempio i sistemi a capacita limitata) poiche eprevista la possibilita di rinuncia la servizio, la frequenza media degli arrivipotrebbe non coincidere con la frequenza degli ingressi effettivi.

Ripetendo le considerazioni fatte nella dimostrazione del Teorema di Little, masostituendo i diagrammi di a(t) e b(t) rispettivamente con i diagrammi che rap-presentano il numero degli utenti che arrivano alla coda e il numero totale degliutenti che escono dalla coda (e non dal sistema) si ottiene l’analoga relazione perquanto riguarda la coda ovvero

N q = λT q (1.2.20)

Page 24: dispensa unica SSS

18 TEORIA DELLE CODE

Una terza importante relazione lega il valore atteso del tempo passato da unutente nel sistema e il valore atteso del tempo passato nella coda. Vale infatti

T = T q +1µ

(1.2.21)

Questa relazione puo essere ricavata dal fatto che, per ogni singolo utente vale la(1.1.1), ovvero twi = tqi +tsi , dove ricordiamo che twi e il tempo passato nel sistema,tqi e il tempo passato nella coda e tsi e il tempo di servizio. Passando ai valoriattesi nella (1.1.1) e poi effettuando il limite per i →∞, si ottiene la (1.2.21).

Le tre relazioni ora ottenute (1.2.14), (1.2.20), (1.2.21) costituiscono le relazionifondamentali tra le quantita N , T e N q, T q e sono del tutto generali, nel senso chevalgono per qualsiasi sistema di code senza alcuna ipotesi sulle sue caratteristiche.Esse sono molto importanti perche permettono di determinare tutte le quattroquantita fondamentali una volta nota una di esse.

Si osservi che poiche risulta

N q =∞∑

k=s

(k − s)pk =∞∑

k=s

kpk − s

(1−

s−1∑

k=0

pk

), (1.2.22)

nel caso di unico servente si puo ottenere facilmente una relazione tra N , N q e laprobabilita p0 che nel sistema non vi siano utenti, ovvero che il sistema sia allostato zero; infatti per s = 1 la (1.2.22) diventa

N q = N − (1− p0). (1.2.23)

Siamo ora in grado di ricavare, sempre nel caso di un unico servente, una relazionetra il fattore di utilizzazione del servente ρ = λ/µ e p0.

Proposizione 1.2.4 In un sistema a coda con un unico servente in condizionistazionarie vale la seguente relazione

ρ = 1− p0. (1.2.24)

Dimostrazione: Moltiplicando ambo i membri della (1.2.21) per λ si ha

λT = λT q + λ/µ,

che per le relazioni fondamentali equivale a

N = N q + ρ. (1.2.25)

Page 25: dispensa unica SSS

PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI 19

Ora sostituendo il valore di N q dato dalla (1.2.23) nella (1.2.25) si ottiene la(1.2.24).

La relazione (1.2.24) ha una interpretazione immediata; infatti, poiche p0 e laprobabilita che nel sistema non vi siano utenti e che quindi il servente e inoperoso,il complemento ad 1 di p0 rappresenta l’operosita del servente.

Questi risultati, ed in particolare la formula di Little hanno una interpretazioneimmediata in riferimento a casi molto semplici; ad esempio, il traffico cittadinonelle ore di punta si muove piu lentamente (ovvero T e grande) e le strade sonopiu affollate (ovvero N e grande). Analogamente in un fast–food, (ovvero in unsistema con T piccolo) le sale possono essere piu piccole (ovvero N e piccolo) diquelle di un ristorante tradizionale a parita di frequenza di arrivo dei clienti.

Esempio 1.2.5 Consideriamo un sistema di controllo di flusso di dati su rete che deve inviarepacchetti supponendo che il tempo dell’acnowledgement sia trascurabile. Sulla rete devonotrovarsi N pacchetti quindi non appena il pacchetto i e arrivato a destinazione, il pacchettoi + N e immediatamento introdotto nella rete. Poiche il numero di pacchetti nel sistema esempre N la formula di Little ci permette di affermare che la frequenza di arrivo dei pacchettinel sistema λ e il tempo medio di permanenza di un pacchetto nella rete sono collegati dallarelazione N = λT . Quindi se nella rete c’e congestione e T aumenta, λ deve diminuire. Inoltre sela rete e congestionata e in grado di consegnare solo λ pacchetti per unita di tempo, aumentandoN avrebbe come risultato solamente un aumento del tempo di permanenza nella rete T .

Si deve comunque prestare molta attenzione nell’applicare la formula di Littlead alcuni casi particolari, alla luce di quanto riportato nella Osservazione 1.2.2.Riportiamo di seguito un esempio in cui il sistema non raggiunge l’equilibrio.

Esempio 1.2.6 Un pacchetto arriva su un linea di trasmissione ogni k secondi (il primo pac-chetto arriva al tempo 0). Tutti i pacchetti hanno stessa lunghezza e richiedono αk secondiper la trasmissione con α < 1. Il tempo affinche un pacchetto arrivi a destinazione e pari a psecondi. La frequenza di arrivo e λ = 1/k e poiche i pacchetti arrivano ad intervalli regolari, nonc’e tempo di attesa in coda quindi il tempo T che un pacchetto rimane nel sistema e T = αk+p.Applicando la formula di Little si ottiene

N = λT = α +p

k.

Questo esempio necessita di una corretta interpretazione in quanto nel sistemadescritto n(t) e una funzione deterministica del tempo t e non converge a nessunvalore, quindi non si raggiunge la condizione di equilibrio. Tuttavia, la formuladi Little puo avere una valida interpretazione anche in questo caso, nel senso cheN non puo essere inteso come nella (1.2.5), ma solamente come media temporale

su tempi lunghi ovvero N = limt→∞

∫ t0 n(τ)dτ

t.

Concludiamo questo paragrafo soffermandoci sull’importanza di disporre dei va-lori della probabilita pk per effettuare l’analisi di un sistema a coda. Infatti, Importante

conoscerepk

conoscendo pk utilizzando le (1.2.1), (1.2.2), il Teorema di Little (1.2.14), la(1.2.20) e la (1.2.21) si possono determinare tutte le grandezze che sono le misuredi prestazione del sistema.

Page 26: dispensa unica SSS

20 TEORIA DELLE CODE

1.3 MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO

Da quanto visto nei precedenti paragrafi, emerge chiaramente come un sistema dicode sia caratterizzato fondamentalmente da due processi stocastici : il processodegli arrivi caratterizzato dalla distribuzione di probabilita dei tempi di interar-rivo e il processo di servizio caratterizzato dalla distribuzione di probabilita deitempi di servizio.Per definire un sistema di code e necessario specificare entrambe le distribuzioniora menzionate. In un sistema reale queste distribuzioni possono assumere qual-siasi forma e per formulare un modello basato su un sistema di code che rappre-senti un sistema reale e necessario che le distribuzioni di probabilita assunte nellacostruzione del modello siano quanto piu possibile realistiche. Al tempo stessoesse devono essere sufficientemente semplici e matematicamente trattabili. Sullabase di queste considerazioni la distribuzione di probabilita che maggiormenteviene presa in considerazione nella teoria delle code e la distribuzione esponen-ziale. Cercheremo di chiarire i motivi di questa scelta attraverso l’illustrazionedelle proprieta di cui questa distribuzione gode. La principale riguarda la cosid-detta “assenza di memoria”. Formalizzeremo questa proprieta mostrando ancheche la distribuzione esponenziale e l’unica distribuzione che gode di questa pro-prieta. Per quanto riguarda l’applicazione alla teoria delle code, tale proprieta emolto utile perche un arrivo in un sistema di code non e influenzato da quando sie verificato l’ultimo arrivo e cosı anche per il tempo di servizio, il tempo mancanteal completamento puo essere indipendente da quando il servizio e iniziato.Infine introdurremo il processo di Poisson, di fondamentale importanza per rap-presentare il processo degli arrivi, descrivendo le sue proprieta fondamentali.

1.3.1 La distribuzione esponenziale e le sue proprieta

Ricordiamo innanzitutto che una variabile aleatoria continua T ha una distribu-zione esponenziale con parametro α se la sua densita di probabilita fT (t) e datada

fT (t) ={

αe−αt per t ≥ 00 per t < 0.

La funzione di distribuzione e

FT (t) = P (T ≤ t) ={

1− e−αt per t ≥ 00 per t < 0

e valore atteso e varianza sono date da

E(T ) =1α

, V ar(T ) =1α2

.

Per comprendere bene quali implicazioni ha su un modello di code l’assunzioneche le distribuzioni dei tempi sono esponenziali, riportiamo alcune ben note pro-

Page 27: dispensa unica SSS

MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 21

prieta fondamentali della distribuzione esponenziale. Sia quindi T una variabilealeatoria avente distribuzione esponenziale ed fT (t) la corrispondente densita diprobabilita.

Proprieta E1: La densita di probabilita fT (t) e una funzione strettamentedecrescente di t (t ≥ 0)

Questa proprieta discende immediatamente dalla definizione della fT (t). Unaimmediata conseguenza di questa proprieta e che, per ogni ∆t > 0 e t > 0 risulta

P (0 ≤ T ≤ ∆t) > P (t ≤ T ≤ t + ∆t) . (1.3.1)

Questa conseguenza si ottiene ricordando che P (a ≤ T ≤ b) =∫ b

afT (x)dx rap-

presenta l’area racchiusa tra l’asse delle ascisse e il grafico della fT (t).La (1.3.1) puo essere interpretata nel senso che e maggiore la probabilita chela T assuma valori prossimi allo zero. In un modello di code, se T rappresentail tempo di servizio, il fatto che questa proprieta sia ragionevole dipende moltodalla tipologia del servizio stesso. In alcuni casi, puo essere vero che il tempo delservizio e di solito molto breve con pochi casi in cui il servizio e piu lungo.

Proprieta E2: Assenza di memoria. Per ogni t > 0 e s > 0, vale laseguente uguaglianza

P(T > s + t

∣∣∣ T > s)

= P (T > t) . (1.3.2)

Questa proprieta si ottiene facilmente ricordando che P (T > x) = 1 − FT (x) =e−αx. Infatti, poche l’evento (T > s + t) implica l’evento (T > s) risulta

P(T > s + t

∣∣∣ T > s)

=P (T > s + t, T > s)

P (T > s)=

=P (T > s + t)

P (T > s)= e−αt = P (T > t). (1.3.3)

Questa proprieta puo essere interpretata come assenza di memoria nel senso chese, ad esempio, il tempo di durata di un’apparecchiatura e distribuito esponen-zialmente, allora un apparecchiatura che e gia in uso da un certo numero di oree “buona” tanto quanto una nuova in termini di tempo totale di durata primadella sua rottura, ovvero l’apparecchiatura “non ricorda” di essere stata gia inuso per un certo numero di ore.

Page 28: dispensa unica SSS

22 TEORIA DELLE CODE

Nell’ambito della teoria delle code, questa proprieta si puo interpretare nel seguen-te modo: la distribuzione di probabilita del tempo che rimane fino ad un evento(arrivo o completamento del servizio) e sempre la stessa indipendentemente daquanto tempo e trascorso, ovvero il processo “dimentica” il passato. Per quantoriguarda gli intertempi di arrivo, questa proprieta descrive la situazione comunein cui il tempo fino al prossimo arrivo non e assolutamente influenzato da quandosi e verificato l’ultimo arrivo. Per quanto riguarda i tempi di servizio questa pro-prieta puo essere interpretata nel senso che il tempo mancante al completamentodi un servizio puo essere indipendente da quando il servizio e iniziato.

E importante notare che la distribuzione esponenziale e l’unica distribuzione con-tinua che gode della Proprieta E2. Questo si dimostra facilmente nel seguentemodo: vogliamo far vedere che se T e una variabile aleatoria per la quale vale laProprieta E2, allora T e distribuita esponenzialmente. Innanzitutto osserviamoche la relazione di assenza di memoria (1.3.2) per la (1.3.3) puo essere riscritta

P (T > s + t) = P (T > s)P (T > t). (1.3.4)

Se ora introduciamo la funzione S(x) = P (T > x) = 1−FT (x), la (1.3.4) equivalea scrivere

S(s + t) = S(s)S(t),

ovvero S(x) soddisfa l’equazione funzionale

g(x + y) = g(x)g(y). (1.3.5)

Poiche e noto che l’equazione (1.3.5) ammette come unica soluzione continua dadestra g(x) = e−αx, la dimostrazione e completata. Infatti risulta S(x) = e−αx

ovveroFT (t) = 1− e−αt

e quindi T e distribuita esponenzialmente.

Proprieta E3: Siano T1, T2, . . . , Tn variabili aleatorie indipendenti distri-buite esponenzialmente con parametri α1, α2, . . . , αn. Sia U la variabilealeatoria definita da U = min {T1, T2, . . . , Tn}. U e distribuita esponenzial-

mente con parametro α =n∑

i=1

αi.

Questa proprieta discende immediatamente dal fatto che per l’indipendenza vale

Page 29: dispensa unica SSS

MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 23

P (U > t) = P (T1 > t, T2 > t, . . . , Tn > t)

= P (T1 > t)P (T2 > t) · · ·P (Tn > t)

= e−α1te−α2t · · · e−αnt

= e−∑n

i=1αit.

Si noti che se Ti rappresenta il tempo mancante fino a che accada un certo evento,U rappresenta il tempo fino a che il primo degli eventi accada.La Proprieta E3 ha una importante interpretazione per quanto riguarda i tempidi servizio. Supponiamo infatti di avere s serventi in parallelo ciascuno dei qualiha tempi di servizio distribuiti esponenzialmente con lo stesso parametro µ. Inquesto caso, sia r ≤ s il numero dei serventi che stanno attualmente fornendo ilservizio, e Ti il tempo che rimane per il completamento del servizio da parte diciascun servente (i = 1, . . . , r). Si ha che Ti, per la Proprieta E2 e distribuita espo-nenzialmente con parametro αi = µ e U che rappresenta il tempo fino al prossimocompletamento di un servizio ha distribuzione esponenziale con parametro rµ.Cio significa che un sistema di code con piu serventi in parallelo che stanno at-tualmente operando (continuously busy servers), ciascuno con tempo di serviziodistribuito esponenzialmente di parametro µ, si comporta come un sistema a sin-golo servente con tempo di servizio distribuito esponenzialmente con parametrorµ.

Proprieta E4: Sia T una variabile aleatoria distribuita esponenzialmente diparametro α. Per ogni t > 0 vale

P(T ≤ t + ∆t

∣∣∣ T > t)

= α∆t + o(∆t)

dove o(∆t) indica un infinitesimo di ordine superiore a ∆t.

Questa proposizione si ottiene facilmente dal fatto che per ogni t ≥ 0 risulta

P (T ≤ t + ∆t|T > t) = 1− P (T > t + ∆t|T > t) = 1− P (T > ∆t) =

= P (T ≤ ∆t) = 1− e−α∆t

e utilizzando lo sviluppo in serie dell’esponenziale si ha

P (T ≤ t + ∆t|T > t) = 1− 1 + α∆t + o(∆t) = α∆t + o(∆t).

Quindi, in virtu di questa proprieta, per piccoli valori di ∆t, si ha

P(T ≤ t + ∆t

∣∣∣ T > t)≈ α∆t.

Page 30: dispensa unica SSS

24 TEORIA DELLE CODE

Interpretando T come tempo dall’ultimo evento (arrivo o completamento delservizio) fino al prossimo evento, supponiamo che un tempo t sia gia passatosenza che l’evento sia accaduto. Dalla Proprieta E2 sappiamo che la probabilitache l’evento accadra entro il prossimo intervallo di tempo di lunghezza fissata∆t e una costante indipendentemente dal valore di t. La Proprieta E4 affermainoltre che quando il valore di ∆t e piccolo, questa probabilita costante puoessere approssimata da α∆t, ovvero questa probabilita e proporzionale a ∆t diun fattore α.

Proprieta E5: Siano date k variabili aleatorie T1, T2, . . . , Tk indipendentiaventi identica distribuzione esponenziale di parametro α. Allora la lorosomma

Sk = T1 + T2 + · · ·+ Tk

ha la seguente densita di probabilita

fSk(t) =

αk

(k − 1)!e−αttk−1.

La dimostrazione di questa proprieta puo essere fatta per induzione. Infatti essae banalmente vera per k = 1. Supponiamo quindi che sia vera per k − 1, ovveroche

fT1+···+Tk−1(t) =

αk−1

(k − 2)!e−αttk−2 = αe−αt (αt)k−2

(k − 2)!

e dimostriamo che vale per k. Infatti si ha

fSk(t) = fT1+···+Tk−1+Tk

(t) =∫ ∞

0fTk

(t− s) fT1+···+Tk−1(s)ds

=∫ t

0αe−α(t−s)αe−αs (αs)k−2

(k − 2)!ds

= αe−αt

(k − 2)!

∫ t

0(αs)k−2αds

= αe−αt (αt)k−1

(k − 1)!.

Per quanto riguarda un sistema di code, la Proprieta E5 puo essere interpretatanel senso che se il servizio richiesto da un cliente richiede l’impiego di k serventi inserie i cui tempi di servizio sono identicamente distribuiti esponenzialmente conparametro α (oppure l’impiego dello stesso servente k volte), il tempo di serviziototale seguira la distribuzione della somma dei tempi servizio.

Page 31: dispensa unica SSS

MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 25

La distribuzione di probabilita avente per densita di probabilita la fSksi chiama

distribuzione di Erlang di parametri α e k che, ad eccezione della restrizionedell’interezza di k, coincide con la distribuzione Gamma.

1.3.2 Il processo di Poisson

In questo paragrafo introduciamo il processo di Poisson che ha, in generale, unagrande importanza per due aspetti fondamentali: innanzitutto molti fenomenifisici possono essere rappresentati attraverso tale processo; inoltre, il processo diPoisson gode di interessanti ed utili proprieta che consentono numerose semplifi-cazioni nella trattazione analitica. In riferimento alla teoria delle code, il processodi Poisson e un importante strumento per la modellizzazione dei processi di ar-rivo. Prima di definire un processo di Poisson, introduciamo un concetto cherisultera molto utile nel seguito.

Definizione 1.3.1 Un processo stocastico {X(t), t ≥ 0} e detto processo diconteggio (counting process) se X(t) rappresenta il numero totale di eventiche accadono fino all’istante t.

E un processo che “conta” il numero totale di aventi accaduti fino al tempo t. Sitratta di un processo stocastico a tempo continuo e a stati discreti. Esempi diprocessi di conteggio sono:

a) il numero delle persone entrate in un supermercato fino al tempo t

b) il numero di persone nate fino al tempo t

c) il numero di goal realizzati da un giocatore nella sua carriera fino al tempo t

Non e invece un processo di conteggio il numero delle persone presenti in unsupermercato al tempo t.

Si verifica immediatamente che per un processo di conteggio valgono le seguentiproprieta:

1. X(t) ≥ 0 per ogni t ≥ 0

2. X(t) e a valori interi

3. se s ≤ t allora X(s) ≤ X(t)

4. per s < t, X(t)−X(s) e il numero degli eventi che sono accaduti nell’intervallo(s, t).

Page 32: dispensa unica SSS

26 TEORIA DELLE CODE

Riportiamo, di seguito, due definizioni che introducono due concetti caratteriz-zanti un processo di conteggio.

Definizione 1.3.2 Un processo di conteggio ha incrementi indipendenti seil numero degli eventi che accadono in intervalli di tempo disgiunti sono in-dipendenti.

L’assunzione che un processo ha incrementi indipendenti e ragionevole per l’esem-pio a), ma forse non lo e per l’esempio b) perche se X(t) e molto grande, il numerodi nascite tra t e t + ∆t tende ad essere grande. Nell’esempio c) potrebbe essereragionevole.

Definizione 1.3.3 Un processo di conteggio ha incrementi stazionari se ladistribuzione del numero degli eventi che accadono in un intervallo di tempodipende solo dall’ampiezza dell’intervallo.

Quindi un processo ha incrementi stazionari se il numero degli eventi nell’intervallo(t, t + ∆t) ha la stessa distribuzione per ogni t > 0.L’assunzione che un processo ha incrementi stazionari sarebbe ragionevole nell’e-sempio a) solo se non ci fossero orari di punta con maggiore afflusso. Nell’esempiob) sarebbe ragionevole solamente se la popolazione della terra fosse costante,mentre nell’esempio c) non e ragionevole perche il giocatore invecchia col passaredegli anni !

Definizione 1.3.4 Un processo di conteggio {X(t), t ≥ 0} e un processo diPoisson di tasso λ > 0 se valgono

i) X(0) = 0

ii) il processo ha incrementi indipendenti

iii) il numero di eventi che accadono in ogni intervallo di tempo di ampiezzat (dato da X(s + t)−X(s) ) ha distribuzione di Poisson di parametroλt, ovvero per ogni s, t ≥ 0 risulta

P (X(s + t)−X(s) = n) = e−λt (λt)n

n!, n = 0, 1, . . . (1.3.6)

Ovviamente la iii) implica che un processo di Poisson ha incrementi stazionari edinoltre vale E (X(t)) = λt e questa e la ragione per cui λ e anche detta frequenzamedia alla quale gli eventi accadono.

Page 33: dispensa unica SSS

MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 27

Riportiamo di seguito una definizione equivalente di processo di Poisson che puorisultare piu agevole da applicare in alcuni casi.

Definizione 1.3.5 Un processo di conteggio X(t) e un processo di Poissonse e solo se per ogni t ≥ 0 valgono

i) X(0) = 0

ii) il processo ha incrementi indipendenti

iii) P (X(t + ∆t)−X(t) = 1) = λ∆t + o(∆t)

iv) P (X(t + ∆t)−X(t) ≥ 2) = o(∆t)

La iii) afferma che per ogni t, la probabilita che un evento accada nell’intervallo(t, t + ∆t) e proporzionale secondo il parametro λ all’ampiezza dell’intervallo ameno di un infinitesimo di ordine superiore a ∆t, mentre la iv) afferma che laprobabilita che due o piu eventi accadano nell’intervallo suddetto e pari a o(∆t).Le due definizioni ora fornite (Definizione 1.3.4 e Definizione 1.3.5) di processodi Poisson sono equivalenti. La dimostrazione di questa equivalenza e piuttostotecnica e viene omessa per brevita e si rimanda, ad esempio, a [Ross, 2003a] o a[Billingsley, 1979].

Passiamo ora a considerare una importantissima relazione che esiste tra distri-buzione esponenziale e processo di Poisson. A tale scopo consideriamo una suc-cessione di eventi. Sia T1 il tempo di attesa affinche si verifichi il primo evento eper k ≥ 1 sia Tk il tempo di attesa tra l’evento (k− 1)–esimo e l’evento k–esimo,ovvero

{Tk, k ≥ 1} (1.3.7)

e la successione di variabili aleatorie degli intertempi tra due eventi successivi(cioe degli intervalli di tempo tra due eventi successivi). Se definiamo

Sn = T1 + T2 + · · ·+ Tn,

si ha che Sn rappresenta il tempo necessario affinche l’evento n–esimo accada(dove, convenzionalmente, si pone S0 = 0).Torniamo ora a considerare il processo {X(t), t ≥ 0} del numero degli eventi cheaccadono nell’intervallo [0,t]. In termini di Sn, esso puo essere scritto come

X(t) = max{n | Sn ≤ t}, (1.3.8)

ed inoltre valgono le seguenti coincidenze tra eventi:

{X(t) ≥ n} = {Sn ≤ t}

Page 34: dispensa unica SSS

28 TEORIA DELLE CODE

ed inoltre

{X(t) = n} = {X(t) ≥ n} ∩ {X(t) < n + 1} = {Sn ≤ t} ∩ {Sn+1 > t}.

Teorema 1.3.1 Sono equivalenti le seguenti affermazioni:

i) il processo {X(t), t ≥ 0} definito in (1.3.8) e un processo di Poissondi tasso λ.

ii) le variabili Ti definite in (1.3.7) sono indipendenti, identicamente di-stribuite con distribuzione esponenziale di parametro λ, ovvero

P (Ti ≤ t) = 1− e−λt, i = 1, 2, . . .

Anche in questo caso omettiamo per brevita la verifica di questo risultato per ilquale si fa riferimento, ad esempio, a [Ross, 2003a] e [Billingsley, 1979].

In virtu di questo risultato, poiche le Ti sono variabili aleatorie indipendenti,identicamente distribuite con distribuzione esponenziale, abbiamo gia dimostrato(cfr. Proprieta E5) che Sn ha distribuzione di Erlang di parametri λ e n.

Il risultato del Teorema 1.3.1 si puo intuitivamente dedurre dal fatto che l’assun-zione degli incrementi stazionari e indipendenti di fondo equivale al fatto che ilprocesso, in ogni istante Si, effettua un “restart”, cioe il processo da ogni puntoe indipendente da tutto cio che accade prima (incrementi indipendenti) ed ha lastessa distribuzione del processo originale (incrementi stazionari); in altre parole,il processo non ha memoria e quindi gli intertempi tra due eventi successivi devonoessere distribuiti esponenzialmente.

Il Teorema 1.3.1 evidenzia l’importante equivalenza tra il fatto che il numero dipunti che cadono in un intervallo prefissato di lunghezza t ha distribuzione diPoisson e il fatto che le lunghezze degli intervalli che separano punti contiguihanno identica distribuzione esponenziale. Questa proprieta e particolarmenteutile per descrivere il comportamento probabilistico degli arrivi in un sistemadi code quando gli intertempi di arrivo sono distribuiti esponenzialmente conparametro λ. In questo caso X(t) rappresenta il numero di arrivi fino al tempo t,dove λ e la frequenza media degli arrivi. Percio, nel caso di tempi di interarrivoesponenziali, si dice anche che si hanno arrivi secondo un processo di Poisson diArrivi

poissoniani parametro λ (arrivi poissoniani).Si puo ragionare in maniera analoga per quanto riguarda i tempi di servizio,definendo X(t) come il numero dei servizi portati a termine in un tempo t.

Page 35: dispensa unica SSS

MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 29

Analizziamo ora un’ulteriore proprieta del processo di Poisson importante nell’am-bito della teoria delle code. Sia {X(t), t ≥ 0} un processo di Poisson di parametroλ e supponiamo che ogni evento che accade possa essere classificato di tipo A odi tipo B. Supponiamo inoltre che ciascun evento sia di tipo A con probabilita p

e di tipo B con probabilita 1− p, indipendentemente da tutti gli altri eventi. Adesempio i clienti che arrivano in un negozio possono essere classificati in uominicon probabilita 1

2e donne con probabilita 1

2. Si indichi con XA(t) e con XB(t)

rispettivamente il numero degli eventi di tipo A e di tipo B che accadono in [0, t](ovviamente risulta X(t) = XA(t) + XB(t) ). Il processo X(t) prende nome diprocesso aggregato e i due processi XA(t) e XB(t) prendono nome di processicomponenti o processi disaggregati. Questo si generalizza ad un numero finito diprocessi componenti. Infatti, sia {X(t), t ≥ 0} un processo di Poison di tasso λ.Supponiamo di classificare ogni evento come evento di tipo 1, 2, . . . , k con pro-babilita rispettivamente p1, p2, . . . , pk, con

∑ki=1 pi = 1. Siano X1(t), . . . , Xk(t)

i processi componenti che contano il numero di eventi rispettivamente di classe1, 2, . . . , k accaduti fino al tempo t. Allora vale la seguente proposizione.

Proposizione 1.3.6 Se {X(t), t ≥ 0} e un processo di Poisson, allora i pro-cessi componenti X1(t), . . . , Xk(t) sono processi di Poisson di tasso rispetti-vamente λ1 = λp1, λ2 = λp2, . . . , λk = λpk. Inoltre i processi componentisono indipendenti.

Si verifica, inoltre facilmente che se X1(t), . . . , Xk(t) sono processi di Poissonindipendenti di tasso rispettivamente λ1, . . . , λk, aggregati in un unico processo

X(t) = X1(t) + . . . + Xk(t),

si ha che X(t) e un processo di Poisson di tasso λ = λ1 + · · ·+ λk.

Nell’ambito della teoria delle code il risultato della Proposizione 1.3.6 puo esserecosı interpretata: supponiamo che ci siano un certo numero r di differenti tipi diclienti tali che i clienti di ciascun tipo arrivano secondo un processo di Poissondi parametro λi, (i = 1, . . . , r). Assumendo che i processi siano indipendenti, laproprieta afferma che il processo di arrivo aggregato, ovvero il processo di arrivodi tutti i clienti senza tener conto del tipo, e ancora un processo di Poisson di

parametro λ =r∑

i=1

λi.

Osservazione 1.3.7 Il risultato della Proposizione 1.3.6 ha la seguente impor-tante applicazione nello studio dei sistemi di code. Supponiamo che i clientiarrivano al sistema di code secondo un processo di Poisson di parametro λ e che

Page 36: dispensa unica SSS

30 TEORIA DELLE CODE

ci sia la possibilita che alcuni clienti rinuncino ad entrare nel sistema (ad esempiose vedono la coda molto lunga). E quindi possibile caratterizzare gli utenti se-condo due tipi: quelli che entrano nel sistema (con probabilita p) e quelli che nonentrano nel sistema (con probabilita 1− p). Il risultato della Proposizione 1.3.6permette di affermare che ciascun tipo di cliente arriva al sistema secondo unprocesso di Poisson di tasso rispettivamente λp e λ(1 − p). Percio il modellopoissoniano puo continuare ad essere utilizzato per studiare il sistema a codarelativamente ai soli clienti che effettivamente entrano nel sistema.

1.3.3 Altri modelli per processi di arrivo

Abbiamo visto come il modello poissoniano sia adatto a rappresentare il pro-cesso degli arrivi in un sistema di code. Infatti, in molti casi, esso costituisce unmodello molto aderente alla realta. Tuttavia, esistono casi in cui il modello pois-soniano non puo essere adottato ed e necessario considerare anche altre tipologiedi processi di arrivi. Ricordiamo infatti, le caratteristiche che vengono assunteconsiderando il modello poissoniano:

1. gli utenti arrivano al sistema uno alla volta,

2. il processo ha incrementi indipendenti,

3. il proceso ha incrementi stazionari.

La prima proprieta esclude ovviamente gli arrivi in gruppi. La seconda proprietaafferma che il numero degli arrivi nell’intervallo (t, t+s] e indipendente dal numerodi arrivi prima di t e anche dai tempi in cui questi arrivi si sono verificati; questaproprieta potrebbe essere violata se, ad esempio, un numero molto elevato diarrivi nell’intervallo di tempo [0, t] puo causare il fenomeno di “balking”, ovverola rinuncia all’ingresso nel sistema da parte di alcuni utenti nell’intervallo ditempo (t, t + s] perche il sistema e molto affollato. Per affrontare tale problema,in realta, e sufficiente applicare il risultato della Proposizione 1.3.6 come descrittonell’Osservazione 1.3.7.Anche la terza proprieta potrebbe essere in generale violata perche essa implicache la frequenza degli arrivi non dipende dal tempo t, e quindi, ad esempio,dall’orario della giornata; invece, in molti casi, e noto che la frequenza mediadegli arrivi λ puo variare con il tempo e quindi si puo avere λ = λ(t).

Queste considerazioni ci portano a considerare altri modelli per i processi di arrivi:

• il processo di Poisson non stazionario, ovvero un processo di Poisson in cuiil parametro λ varia al variare del tempo t;

• il processo di Poisson composto, ovvero arrivi in gruppi (batch).

Page 37: dispensa unica SSS

MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 31

Il processo di Poisson non stazionario

In molti sistemi reali la frequenza media degli arrivi puo dipendere dal tempo ein questo caso i tempi di interarrivo Tk non sono identicamente distribuiti. Unmodello comunemente utilizzato in queste situazioni e il cosiddetto processo diPoisson non stazionario o processo di Poisson non omogeneo.

Definizione 1.3.8 Processo di Poisson non stazionarioUn processo di conteggio X(t) e un processo di Poisson non stazionario se esolo se per ogni t ≥ 0 valgono

i) X(0) = 0

ii) il processo ha incrementi indipendenti

iii) P (X(t + ∆t)−X(t) = 1) = λ(t)∆t + o(∆t)

iv) P (X(t + ∆t)−X(t) ≥ 2) = o(∆t)

La funzione λ(t) prende nome di funzione intensita e sara tanto piu grande negliintervalli nei quali il numero atteso degli arrivi e grande. Data la funzione λ(t),

si puo definire la funzione Λ(t) =∫ t

0λ(y)dy.

Si riporta di seguito un risultato che mostra che la distribuzione del numero degliarrivi nell’intervallo (s, s + t] per un processo di Poisson non stazionario dipendeda s e da t, mentre, come sappiamo, in un processo di Poisson esso dipendesolamente dall’ampiezza dell’intervallo.

Teorema 1.3.2 Sia {X(t), t ≥ 0} un processo di Poisson non stazionario.Allora risulta

P (X(s + t)−X(s) = n) = e−b(s,t) [b(s, t)]n

n!, n = 0, 1, . . .

dove b(s, t) = Λ(s + t)− Λ(s) =∫ s+ts λ(y)dy.

Sulla base di questo risultato si ha che X(s + t)−X(s) e una variabile aleatoriadistribuita secondo Poisson con media b(s, t) = Λ(s+t)−Λ(s) e la Λ(t) e chiamatafunzione valore medio del processo di Poisson non omogeneo.E utile confrontare questo teorema con la Definizione 1.3.5 di processo di Pois-son osservando come in un processo di Poisson non stazionario sia esplicita ladipendenza da s.

Page 38: dispensa unica SSS

32 TEORIA DELLE CODE

Il processo di Poisson composto (arrivi in gruppi)

In alcuni sistemi reali gli utenti possono arrivare in gruppi e non uno alla volta.Per trattare questo caso e sufficiente definire X(t) come il numero dei gruppi diutenti che arrivano fino al tempo t. Se i tempi di interarrivo dei gruppi sonovariabili aleatorie indipendenti identicamente distribuite secondo la distribuzioneesponenziale, si puo anche in questa situazione utilizzare un modello Poissonianocercando poi una distribuzione discreta che rappresenti la dimensione dei gruppi.Si assume cosı che i gruppi arrivano secondo un processo di Poisson e che il numerodegli utenti in ciascun gruppo e una variabile aleatoria discreta. Formalmente sidefinisce Y (t) come il numero totale di utenti individuali arrivati fino al tempo t

e gi il numero degli utenti che fanno parte dell’i-esimo gruppo e si ha

Y (t) =X(t)∑

i=1

gi , t ≥ 0.

Page 39: dispensa unica SSS

PROCESSI DI NASCITA E MORTE 33

1.4 PROCESSI DI NASCITA E MORTE

Molti sistemi a coda possono essere ben rappresentati mediante i cosiddetti pro-cessi di nascita e morte che sono importanti processi in teoria della probabilitache hanno applicazioni in diverse aree. In particolare, l’evoluzione nel tempodel numero degli utenti presenti in un sistema di servizio puo essere descrittaattraverso un tale processo ed inoltre la determinazione delle probabilita che nelsistema siano presenti n utenti (pn), che come abbiamo sottolineato alla fine delparagrafo 1.2.3 e di fondamentale importanza, risulta facile se l’evoluzione neltempo dello stato di un sistema e rappresentato attraverso un processo di nascitae morte.

Informalmente, dato un insieme di persone o oggetti (aventi caratteristica co-mune), si dice che si verifica una nascita ogni qualvolta un nuovo membro siaggiunge all’insieme e una morte quando un membro lascia l’insieme. Si parla diprocesso di sole nascite se si verificano solamente nascite e non morti e di processodi sole morti se si verificano solamente morti e non nascite.

Nel contesto della teoria delle code una nascita si riferira ad un arrivo di unutente nel sistema e una morte si riferira ad una uscita di utente dal sistema(dopo che il servizio sia stato espletato).

In questo paragrafo, dopo aver definito formalmente un processo di nascita emorte esamineremo le proprieta fondamentali di questi processi; successivamentequeste proprieta saranno applicate per la determinazione delle misure di presta-zione nel caso dei sistemi a coda piu significativi.

1.4.1 Caratterizzazione dei processi di nascita e morte

Supponiamo che N(t) sia un processo stocastico a tempo continuo e con spaziodegli stati discreto costituito dai numeri interi non negativi. N(t) puo essere in-terpretato come il numero dei membri di un certo insieme al tempo t. Indichiamocon pn(t) la probabilita che al tempo t lo stato sia n ovvero che al tempo t cisiano n elementi nell’insieme, cioe pn(t) = P (N(t) = n).Definiamo con pn,m(∆t) la probabilita che il processo raggiunga lo stato m al Probabilita

di transizio-ne

tempo t + ∆t condizionata al fatto che al tempo t si trova nello stato n,

pn,m(∆t) = P(N(t + ∆t) = m

∣∣∣ N(t) = n)

.

Tale probabilita pn,m(∆t) prende nome di probabilita di transizione e puo essereinterpretata come la probabilita che l’insieme, costituito da n elementi al tempot, sia costituito da m elementi al tempo t + ∆t.

Introduciamo, ora, formalmente il concetto di processo di nascita e morte.

Page 40: dispensa unica SSS

34 TEORIA DELLE CODE

Definizione 1.4.1 Processo di nascita e morteUn processo stocastico N(t) che assume solamente valori interi non negativisi dice processo di nascita e morte se le probabilita di transizione pn,m(∆t)non dipendono esplicitamente dal tempo t, dipendono solo dal valore dellostato al tempo t e non dai valori assunti in istanti precedenti e soddisfano leseguenti condizioni:

pn,n+1(∆t) = λn∆t + o(∆t) per n ≥ 0

pn,n−1(∆t) = µn∆t + o(∆t) per n ≥ 1 (1.4.1)

pn,m(∆t) = o(∆t) per |m− n| ≥ 2

dove λn ≥ 0, µn ≥ 0 e o(∆t) e un infinitesimo di ordine superiore a ∆t.

La dipendenza dal valore dello stato attuale e non da quelli passati e un concettoProprietadi Markov che viene formalizzato come proprieta di Markov4.

Le condizioni (1.4.1) possono essere interpretate nel seguente modo: a menodi infinitesimi di ordine superiore a ∆t, la probabilita che nell’intervallo [t, t +∆t] si verifichi una nascita non dipende da t, ma e proporzionale all’ampiezzadell’intervallo (ovvero alla durata ∆t) secondo un coefficiente che puo dipenderedallo stato attuale, ma non da quelli passati. Analogamente, la probabilita chenell’intervallo [t, t + ∆t] si verifichi una morte e proporzionale alla durata ∆t

secondo un coefficiente che puo dipendere dallo stato attuale, ma non da quellipassati. Il coefficiente λn e chiamato coefficiente di natalita, il coefficiente µn eCoefficiente

di natalitae mortalita

chiamato coefficiente di mortalita.

La Figura 1.4.1 riporta una rappresentazione schematica chiamata diagramma ditransizione di stato di un processo di nascita e morte.

Dalle (1.4.1), poiche per ogni n = 0, 1, . . . , deve valere∞∑

k=0

pn,k(∆t) = 1 , si otten-

gono le probabilita che nell’intervallo [t, t+∆t] non avvengono transizioni ovverole probabilita pn,n(∆t) e p0,0(∆t):

pn,n(∆t) = 1− (λn + µn)∆t + o(∆t)

p0,0(∆t) = 1− λ0∆t + o(∆t).

4Senza entrare nei dettagli, riportiamo solo il fatto che un processo X(t) gode della proprieta di Markov sela probabilita condizionata del “futuro” X(s+ t) dato il “presente” X(s) e il “passato” X(u), 0 ≤ u < s,dipende solo dal presente ed e indipendente dal passato, ovvero P (X(s + t) = j | X(s) = i, X(u) =x(u), 0 ≤ u < s) = P (X(s + t) = j | X(s) = i). Poiche un processo stocastico a tempo continuocon spazio degli stati discreto che gode della proprieta di Markov si chiama catena di Markov a tempocontinuo, un processo di nascita e morte risulta un tipo particolare di catena di Markov a tempo continuonella quale sono possibili solamente transizioni verso stati adiacenti. Per ogni approfondimento si rimandaalla letteratura specifica.

Page 41: dispensa unica SSS

PROCESSI DI NASCITA E MORTE 35

0 1 2 3 k-1 k+1k…

λ0 λ1 λ 2 λ3 λ 2−k λ 1−k λ k λ 1+k

µ1

µ2

µ3

µ4

µ1−k

µk

µ1+k

µ2+k

Fig. 1.4.1 Diagramma di transizione di stato di un processo di nascita e morte

Analizziamo, ora, un esempio molto semplice di processo di nascita e morte.

Esempio 1.4.2 Il numero di esemplari di una specie in via di estinzione evolve nel tempo inaccordo ad un processo di nascita e morte. E noto che, in media, due esemplari generano unnuovo esemplare ogni cinque anni e che la vita media di un esemplare e di nove anni. Descriverecome varia il numero di esemplari di questa specie.Prendendo come unita di tempo l’anno, se il numero degli esemplari e n, la probabilita che siverifichi una nascita in un intervallo di tempo di ampiezza ∆t e data dal prodotto del numerodelle coppie (n/2) per il valore atteso di nascite che si ha da una coppia in un anno (1/5) per

l’ampiezza dell’intervallo di tempo (∆t), ovvero e data dan

10∆t. Analogamente, la proprieta

che si verifichi una morte nell’intervallo di ampiezza ∆t e data dan

9∆t. Quindi la variazione

del numero di esemplari e descritto da un processo di nascita e morte con coefficiente di natalita

λn =n

10e coefficiente di mortalita µn =

n

9.

Un importante esempio di processo di nascita e morte e dato dal processo diPoisson. Infatti, si verifica facilmente il seguente risultato.

Proposizione 1.4.3 Un processo di sole nascite (µn = 0 per ogni n) concoefficiente di natalita λn = λ costante (non dipendente dallo stato) e unprocesso di Poisson.

Dimostrazione: Sia Ti una variabile aleatoria che rappresenta il tempo pas-sato nello stato i-esimo da un processo a tempo continuo con spazio degli statidiscreto che gode della proprieta di Markov (catena di Markov). Per la pro-prieta di Markov, il comportamento futuro del processo dipende solamente dallaconoscenza dello stato corrente e non dagli stati passati. In particolare, il pro-cesso non e influenzato dall’ammontare di tempo che esso e rimasto nello statocorrente. In altre parole, il tempo residuo di permanenza nello stato i-esimo deveavere una distribuzione che dipende solamente da i e non da quanto tempo il pro-cesso e gia rimasto nello stato i. Quindi possiamo scrivere che la probabilita che

Page 42: dispensa unica SSS

36 TEORIA DELLE CODE

Ti > s + t condizionata al fatto che Ti > s e funzione del solo tempo aggiuntivot e non del tempo passato s, ovvero

P (Ti > s + t | Ti > s) = f(t),

per una opportuna f funzione della sola t. Si ha quindi

f(t) = P (Ti > s + t | Ti > s) =P (Ti > s + t , Ti > s)

P (Ti > s)=

P (Ti > s + t)P (Ti > s)

.

Si ottiene, quindiP (Ti > s + t) = P (Ti > s) f(t). (1.4.2)

Sapendo che P (Ti > 0) = 1, ponendo s = 0 nella (1.4.2) si ricava f(t) =P (Ti > t). Sostituendo il valore ora ottenuto per la f(t) nella (1.4.2) si ha

P (Ti > s + t) = P (Ti > s) P (Ti > t)

che e la (1.3.4). Come abbiamo gia visto nella discussione della proprieta di as-senza di memoria della distribuzione esponenziale, questa implica che la variabileTi sia distribuita esponenzialmente. Questo dimostra che per un processo a tempocontinuo con spazio degli stati discreto che gode della proprieta di Markov (catenadi Markov) i tempi di permanenza negli stati sono distribuiti esponenzialmente.Applicando quanto appena dimostrato ad un processo di sole nascite, si ha chetale processo consiste in un processo di soli “arrivi” con tempi di interarrivo dis-tribuiti esponenzialmente con tasso costante. Quindi, per il Teorema 1.3.1, e unprocesso di Poisson.

Quindi, i processi di Poisson sono un sottoinsieme dei processi di sole nascita(quelli a tasso di nascita costante) che a loro volta sono un sottoinsieme deiprocessi di nascita e morte. Questi ultimi, naturalmente sono un sottoinsiemedei processi che godono della proprieta di Markov. I processi di Poisson risultano,pertanto, quelli che “assommano” le proprieta di ciascuno dei processi stocasticimenzionati. Di qui la loro grande importanza e utilizzazione.

Page 43: dispensa unica SSS

PROCESSI DI NASCITA E MORTE 37

1.4.2 Le equazioni di Kolmogorov e la soluzione stazionaria

Dato un processo di nascita e morte, note le probabilita di transizione pn,m(∆t)per tutti i valori di n, m, e possibile calcolare le probabilita pn(t). Il procedimentopassa per la soluzione di un sistema di equazioni differenziali che pero nello studiodella distribuzione stazionaria si riduce ad un sistema algebrico.Infatti, applicando il teorema della probabilita totale si puo esprimere la pn(t+∆t)nel seguente modo:

pn(t + ∆t) = P(N(t + ∆t) = n

)=

=∞∑

i=0

P(N(t + ∆t) = n

∣∣∣ N(t) = i)

P(N(t) = i

)=

=∞∑

i=0

pi,n(∆t)pi(t)

Quindi per n ≥ 1 si ha

pn(t + ∆t) = pn−1,n(∆t)pn−1(t) + pn,n(∆t)pn(t) + pn+1,n(∆t)pn+1(t) + o(∆t) =

= λn−1∆t pn−1(t) + (1− λn∆t− µn∆t)pn(t)

+ µn+1∆t pn+1(t) + o(∆t)

da cui

pn(t + ∆t)− pn(t)∆t

= λn−1pn−1(t)+µn+1pn+1− (λn +µn)pn(t)+o(∆t)∆t

. (1.4.3)

Analogamente per n = 0 si ha

p0(t + ∆t) = p0,0(∆t)p0(t) + p1,0(∆t)p1(t) + o(∆t) =

= (1− λ0∆t)p0(t) + µ1∆t p1(t) + o(∆t)

da cuip0(t + ∆t)− p0(t)

∆t= µ1p1(t)− λ0p0(t) +

o(∆t)∆t

. (1.4.4)

Passando al limite per ∆t → 0 nella (1.4.3) e nella (1.4.4) si ha

dpn(t)dt

= λn−1pn−1(t)− (λn + µn) pn(t) + µn+1pn+1(t), n ≥ 1

dp0(t)dt

= µ1p1(t)− λ0p0(t)(1.4.5)

Page 44: dispensa unica SSS

38 TEORIA DELLE CODE

che e un sistema di equazioni differenziali. Le equazioni (1.4.5) prendono nomedi equazioni di Kolmogorov e descrivono come le probabilita dei diversi stati Equazioni

di Kolmogo-rov

evolvono nel tempo per un processo di nascita e morte. Si osservi che le (1.4.5)costituiscono un sistema tridiagonale che, in linea di principio, potrebbe essererisolto e fornirci i valori delle pn(t). Tuttavia, notando anche che le equazionipresenti nel sistema sono un numero infinito si possono comprendere le difficoltateoriche e pratiche nella loro soluzione. Non tratteremo delle questioni riguardantiesistenza e unicita delle soluzioni di tale sistema per le quali rimandiamo alla let-teratura specifica, ma ci limiteremo ad alcune considerazioni che ci sono sufficientiall’interno del contesto della teoria delle code che stiamo trattando. Osserviamosolo che il sistema (1.4.5) potra essere risolto note le condizioni iniziali date dalleprobabilita pn(0), n = 0, 1, . . . , tenendo conto che, ovviamente, deve risultare∑∞

n=1 pn(0) = 1. In particolare, se lo stato iniziale e noto con certezza ed e pari ak > 0, ovvero N(0) = k, si ha pk(0) = 1 e pn(0) = 0 per ogni n 6= k. Ricordiamotuttavia che l’interesse principale nello studio di un sistema, ed in particolaredi un sistema a coda, riguarda il comportamento all’equilibrio, ovvero lo statostazionario (steady-state). Per un processo di nascita e morte, si dice che essoammette una distribuzione stazionaria se esistono i limiti5Distribu-

zionestazionaria lim

t→∞ pn(t) = pn, n = 0, 1, . . .

indipendentemente dai valori iniziali pn(0), n = 0, 1, . . ., essendo naturalmente∑∞n=0 pn = 1. Si noti che assumere che esista la distribuzione stazionaria non e

un’ipotesi limitativa, in quanto, come abbiamo gia avuto modo di osservare, inmolti casi pratici, e sufficiente limitarsi a valutare la distribuzione stazionaria pn

piuttosto che la probabilita pn(t), assumendo che il sistema e stato in funzioneper un tempo sufficientemente grande. Naturalmente cio e vero a patto chele condizioni operative del sistema non variano nel tempo, ipotesi questa checorrisponde a quella gia fatta, che le probabilita di transizione pn,m(∆t) sianoindipendenti da t. Per un sistema che ammette una distribuzione stazionaria laprobabilita pn puo essere interpretata come proporzione di tempo in cui il sistemae nello stato n.

A questo punto ci sono due vie per determinare la distribuzione stazionaria:

1. risolvere il sistema di equazioni differenziali con opportune condizioni ini-ziali per ottenere pn(t) e poi calcolare i limiti limt→∞ pn(t) = pn;

2. prendere il limite per t →∞ ad ambo i membri di ciascuna delle equazionidifferenziali (1.4.5) sapendo che limt→∞ pn(t) = pn e imponendo che, per lastazionarieta, valga limt→∞

dpn(t)dt = 0 (questo perche per la stazionarieta

per t → ∞ le pn(t) tendono a valori costanti) e sapendo inoltre che deve

5La proprieta che garantisce l’esistenza delle probabilita a regime pn si chiama ergodicita.

Page 45: dispensa unica SSS

PROCESSI DI NASCITA E MORTE 39

risultare∑∞

n=0 pn(t) = 1. Si ottiene in questo modo un sistema di equazionialgebriche.

Appare immediatamente chiaro che il secondo modo di procedere e assolutamentepiu conveniente perche permette di ottenere la distribuzione stazionaria diretta-mente senza dover prima determinare le probabilita pn(t) dipendenti dal tempo.Si ha quindi il sistema di equazioni algebriche

λn−1pn−1 − (λn + µn) pn + µn+1pn+1 = 0, n ≥ 1 (1.4.6)

µ1p1 − λ0p0 = 0. (1.4.7)

ottenuto dalle (1.4.5) passando al limite per t → ∞ in entrambi i membri diciascuna equazione. Esplicitando le equazioni di questo sistema si hanno

per n = 0 : µ1p1 = λ0p0

per n = 1 : λ0p0 + µ2p2 = (λ1 + µ1)p1

per n = 2 : λ1p1 + µ3p3 = (λ2 + µ2)p2

per n = 3 : λ2p2 + µ4p4 = (λ3 + µ3)p3

......

...

per n = k : λk−1pk−1 + µk+1pk+1 = (λk + µk)pk

......

...

Queste equazioni possono essere interpretate in modo molto intuitivo osservandola Figura 1.4.1. Essa puo essere vista come un grafo dove ogni nodo rappresentauno stato e gli archi rappresentano le transizioni possibili. Per ogni nodo k, deldiagramma di transizione di stato, la quantita λk−1pk−1 + µk+1pk+1 puo esserevisto come “tasso di flusso entrante” nello stato k e la quantita (λk + µk) pk come“tasso di flusso uscente”. Alla luce di questa interpretazione, ciascuna equazionedel sistema rappresenta, per ogni stato, una equazione di bilancio, ovvero uguagliail “flusso entrante” e il “flusso uscente”. Piu precisamente, le equazioni di bilancioesprimono l’uguaglianza tra il tasso con cui il processo lascia uno stato e il tassocon cui il processo entra nello stato. In particolare, consideriamo lo stato n = 0:quando il sistema e allo stato 0, esso puo lasciare questo stato solo a causa diuna nascita (perche il sistema e vuoto); ora, poiche λ0 e il coefficiente di natalitae poiche p0 puo essere vista come frazione di tempo durante la quale ci sono 0utenti nel sistema, si ha che il processo lascia lo stato 0 con tasso λ0p0. D’altraparte, lo stato 0 puo essere solo raggiunto dallo stato 1 per una morte e siccomeil coefficiente di mortalita e µ1 e la frazione di tempo che il sistema contieneesattamente un utente e p1, si ha che il tasso al quale il sistema entra nello stato0 e µ1p1 e quindi si ottiene la prima delle equazioni di bilancio.Consideriamo ora lo stato 1: il processo puo lasciare lo stato 1 per una nascita

Page 46: dispensa unica SSS

40 TEORIA DELLE CODE

(con coefficiente di natalita λ1) o una morte (con coefficiente di mortalita µ1).Poiche la frazione di tempo che il processo e nello stato 1 e p1, il tasso al qualeil processo lascia lo stato 1 e (λ1 + µ1)p1. D’altra parte, il processo puo arrivareallo stato 1 dallo stato 0 per una nascita (con coefficiente di natalita λ0) o unamorte (con coefficiente di mortalita µ2) e quindi il tasso al quale il processo arrivaallo stato 1 e λ0p0 + µ2p2, che e la seconda equazione di bilancio. Ragionandoanalogamente si ottengono tutte le equazioni di bilancio.

Passiamo ora alla soluzione del sistema formato dalle equazioni di bilancio. Talesoluzione e molto semplice e si puo ottenere iterativamente nel seguente modo:innanzitutto ricordiamo che vale la (1.4.7), ovvero

µ1p1 − λ0p0 = 0 (1.4.8)

che, la (1.4.6) riscritta nella forma

µn+1pn+1 − λnpn = µnpn − λn−1pn−1, (1.4.9)

permette di ottenere iterativamente

µ2p2 − λ1p1 = µ1p1 − λ0p0 = 0

µ3p3 − λ2p2 = µ2p2 − λ1p1 = 0

µ4p4 − λ3p3 = µ3p3 − λ2p2 = 0

µ5p5 − λ4p4 = µ4p4 − λ3p3 = 0...

...

dalle quali si ottiene immediatamente

p1 =λ0

µ1p0

p2 =λ1

µ2p1 =

λ1λ0

µ2µ1p0

p3 =λ2

µ3p2 =

λ2λ1λ0

µ3µ2µ1p0

...

pk =λk−1

µkpk−1 =

λk−1λk−2 · · ·λ1λ0

µkµk−1 · · ·µ2µ1p0

...

ovvero, per un generico stato n ≥ 1 si ha

pn =

n−1∏

i=0

λi

n∏

j=1

µj

p0

Page 47: dispensa unica SSS

PROCESSI DI NASCITA E MORTE 41

che e l’espressione che fornisce pn in funzione di p0. Inoltre poiche deve risultare∞∑

n=1

pn + p0 = 1, si puo ricavare p0 sostituendo l’espressione della pn:

p0 = 1−∞∑

n=1

pn = 1−∞∑

n=1

n−1∏

i=0

λi

n∏

i=j

µj

p0

da cui

p0 =1

1 +∞∑

n=1

n−1∏

i=0

λi

n∏

j=1

µj

.

Abbiamo quindi ottenuto la soluzione cercata (in forma prodotto), ovvero pn perogni n ≥ 0:

p0 =1

1 +∞∑

n=1

n−1∏

i=0

λi

n∏

j=1

µj

(1.4.10)

pn =

n−1∏

i=0

λi

n∏

i=1

µi

p0 n ≥ 1 (1.4.11)

Naturalmente e necessario assumere che la serie al denominatore della (1.4.10)sia convergente ovvero

∞∑

n=1

n−1∏

i=0

λi

n∏

j=1

µj

< ∞. (1.4.12)

Questa assunzione costituisce una condizione di esistenza dello stato stazionario.Infatti se la serie nella (1.4.12) fosse infinita, allora si avrebbe pn = 0 per ogni n

finito, e quindi, parlando informalmente, possiamo dire che lo stato del processo

Page 48: dispensa unica SSS

42 TEORIA DELLE CODE

cresce indefinitivamente e non si raggiunge mai l’equilibrio, ovvero non esiste unadistribuzione stazionaria.

Possiamo riassumere quanto ora ottenuto nel seguente teorema:

Teorema 1.4.1 Si consideri un processo di nascita e morte con coefficienti dinatalita λi ≥ 0, (i = 0, 1, . . .) e coefficienti di mortalita µj ≥ 0, (j = 1, 2, . . .).Sia

S = 1 +∞∑

n=1

n−1∏

i=0

λi

/ n∏

j=1

µj

.

Se S < ∞ allora

pn =

1/S per n = 0

n−1∏

i=0

λi

/ n∏

j=1

µj

p0 per n ≥ 1

Per ogni approfondimento su queste tematiche si veda [Kleinrock, 1975] e [Cooper,1981].

Il piu semplice processo di nascita e morte e quello al quale abbiamo gia fattoriferimento nella Proposizione 1.4.3, ovvero un processo di sole nascite (µn = 0Processi di

sole nascite per ogni n) con λn = λ costante. Nella suddetta proposizione abbiamo dimostratoche un tale processo e un processo di Poisson. A questo stesso risultato siamo orain grado di pervenire utilizzando le equazioni di Kolmogorov (1.4.5) particolariz-zate al caso in cui il coefficiente di natalita e costante e pari a λ e il coefficientedi mortalita nullo, ovvero

dpn(t)dt

= λpn−1(t)− λpn(t)

dp0(t)dt

= −λp0(t).(1.4.13)

Si verifica, infatti, direttamente che, assumendo che al tempo zero non vi sianoutenti nel sistema, ovvero p0(0) = 1, e pn(0) = 0 per n ≥ 1, il sistema di equazionidifferenziali (1.4.13) ammette la seguente soluzione

pn(t) =(λt)n

n!e−λt, n = 0, 1, . . . (1.4.14)

che e una distribuzione di Poisson di parametro λt. Quindi gli istanti di “nascita”di un processo di sole nascite con coefficiente di natalita costante costituisconoun processo di Poisson.

Page 49: dispensa unica SSS

PROCESSI DI NASCITA E MORTE 43

Un altro esempio semplice di processo di nascita e morte e un processo di soleProcessi disole morti morti (λn = 0 per ogni n) con coefficiente di mortalita µn = µ costante. In modo

analogo a quanto abbiamo appena fatto nel caso dei processi di sole nascite, sipossono riscrivere le equazioni di Kolmogorov particolarizzate a questo caso par-ticolare. Per fare cio, supponiamo che inizialmente vi siano k utenti nel sistema.Poiche si tratta di un processo di sole morti, non potranno mai essere nel sistemapiu di k utenti, ovvero dovra risultare pn(t) = 0 per n > k. In questo caso leequazioni di Kolmogorov (1.4.5) diventano

dpk(t)dt

= −µpk(t)

dpn(t)dt

= µpn+1(t)− µpn(t) per 1 ≤ n ≤ k − 1

dp0(t)dt

= µp1(t)

(1.4.15)

Osserviamo subito che, a differenza del caso di processi di sole nascite, questeequazioni sono un numero finito. Poiche abbiamo assunto che inizialmente nelsistema ci sono k utenti, si ha pk(0) = 1 e pn(0) = 0 per n 6= k. Si verificadirettamente che sotto queste ipotesi il sistema (1.4.15) ammette soluzione

pn(t) =(µt)k−n

(k − n)!e−µt 1 ≤ n ≤ k

p0(t) = 1−k∑

n=1

pn(t) = 1−k∑

n=1

(µt)k−n

(k − n)!e−µt

che e una distribuzione di Poisson troncata.

Riportiamo, di seguito, alcuni esempi di applicazione dei processi di naascita emorte.

Esempio 1.4.4 Un negozio ha un’unica cassa servita da una cassiera che provvede anchea confezionare i pacchi. I clienti arrivano alla cassa con frequenza media di 30 all’ora e iltempo occorrente perche la cassiera faccia il conto della spesa, confezioni il pacco e riceva ilpagamento dal cliente e in media di 2 minuti. Inoltre, ogni volta che alla cassa (in coda eil cliente che e servito) vi sono 3 o piu clienti, il proprietario del negozio auita la cassiera aconfezionare i pacchi e in questo modo il tempo medio per servire un cliente diventa pari ad 1minuto. Costruire un modello basato su processi di nascita e morte che rappresenti la situazionedescritta determinando la distribuzione stazionaria.Assumiamo come unita di tempo l’ora. Il numero del clienti alla cassa evolve in accordo ad unprocesso di mascita e morte, dove il coefficiente di natalita e indipendente dallo stato e risultaλn = 30 per ogni n, mentre il coefficiente di mortalita, esso dipende dallo stato, infatti vengonoserviti in media 30 clienti l’ora se i clienti nel negozio sono meno di 2 mentre vengono serviti inmedia 60 clienti l’ora se i clienti nel negozio sono 3 o piu di 3; quindi si ha µn = 30 per n = 1, 2e µn = 60 per n ≥ 3.Per la determinazione della distribuzione stazionaria, innanzitutto verifichiamo che la condizionedi esistenza (1.4.12) sia soddisfatta. Infatti, in questo caso la serie della condizione (1.4.12)converge ed ha per somma il valore 3. Dalla (1.4.10) si ricava immediatamente il valore di

Page 50: dispensa unica SSS

44 TEORIA DELLE CODE

p0 = 1/4 e dalla (1.4.11) i valori

p1 = p0 =1

4

p2 = p0 =1

4

p3 =1

2p0 =

1

8

p4 =1

4p0 =

1

16...

pn =(

1

2

)n−2

p0, n ≥ 2.

Ora, volendo, ad esempio, determinare la proporzione di tempo che il proprietario passa inmedia alla cassa, sara sufficiente calcolare la probabilita che nel negozio vi siano piu di 3 clientiovvero ∞∑

n=3

pn = 1− (p0 + p1 + p2) =1

4.

Esempio 1.4.5 Si consideri un processo di nascita e morte con i seguenti coefficienti dinatalita e mortalita:

λn =

{λ, 0 ≤ n ≤ K

3λ, n > K

µn = µ, n ≥ 1

con λ, µ ∈ IR fissati. Determinare sotto quali condizioni questo processo raggiunge lo statostazionario e calcolare l’espressione di p0 e di pn in funzione di λ e µ.Si ha:

• Caso a): 1 ≤ n ≤ K + 1. In questo caso si ha

n−1∏i=0

λi

n∏j=1

µj

=

µ

)n

• Caso b): n > K + 1. In questo caso si ha

n−1∏i=0

λi

n∏j=1

µj

=1

3K+1

(3λ

µ

)n

Quindi si ha

∞∑n=1

n−1∏i=0

λi

n∏j=1

µj

=

K+1∑n=1

µ

)n

+

∞∑n=K+2

1

3K+1

(3λ

µ

)n

Page 51: dispensa unica SSS

PROCESSI DI NASCITA E MORTE 45

Quindi la serie converge per3λ

µ< 1, e questa e la relazione tra λ e µ che garantisce l’esistenza

dello stato stazionario. Risulta inoltre

pn =

µ

)n

p0, per 1 ≤ n ≤ K + 1

1

3K+1

(3λ

µ

)n

p0, per n > K + 1

e

p0 =

1−(

λ

µ

)K+2

1− λ

µ

+1

3K+1

(3λ

µ

)K+21

1− 3λ

µ

−1

1.4.3 Sistemi di code e processi di nascita e morte

I processi di nascita e morte permettono di studiare il comportamento di unsistema di code. E sufficiente interpretare l’arrivo di un utente come una “nascita”e l’uscita di un utente dal sistema dopo aver ottenuto il servizio una “morte”.In particolare, il modello piu semplice corrisponde ad un caso particolare digrande interesse che ricorre frequentemente nei sistemi di code. Si tratta di unprocesso di nascita e morte con coefficiente di natalita costante pari a λ e coeffi-ciente di mortalita costante pari a µ, ovvero entrambi i coefficienti sono costantinon dipendenti da n. Si vede facilmente che questa situazione corrisponde almodello di coda M/M/1 (che analizzeremo in dettaglio piu avanti). Infatti, ap-plicando il Teorema 1.3.1, affermare che i tempi di interarrivo sono esponenzialiequivale ad avere arrivi secondo un processo di Poisson (arrivi poissoniani) ditasso λ. Analogamente, essendo il coefficiente di mortalita costante, si ha cheil tempo tra due morti consecutive e distribuito esponenzialmente. Ora, poichele morti corrispondono agli istanti di fine del servizio, avere tasso di mortalitacostante corrisponde ad avere i tempi di servizio esponenziali, ovvero si tratta delmodello M/M/1.Nei prossimi paragrafi studieremo le varie tipologie di sistemi di code attraversol’utilizzo dei processi di nascita e morte. Ribadiamo il fatto che tale studioriguardera il comportamento all’equilibrio di un sistema di code, soffermandocicon particolare attenzione alla valutazione delle misure di prestazione.

Page 52: dispensa unica SSS

46 TEORIA DELLE CODE

1.5 SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE

In questo paragrafo verrano studiati sistemi di code che possono essere rappre-sentati da processi di nascita e morte. In particolare, assumendo che il sistemaraggiunga l’equilibrio, utilizzando i risultati ottenuti nel paragrafo precedente sipossono facilmente ottenere le misure di prestazione (N , T , N q e T q) di un sis-tema di code rappresentato da un processo di nascita e morte. Infatti, una voltaottenuti i valori pn delle probabilita in equilibrio, si possono calcolare il valore diN dalla (1.2.1) e il valore di N q dalla (1.2.2), ovvero

N =∞∑

n=0

npn (1.5.1)

N q =∞∑

n=s+1

(n− s)pn. (1.5.2)

Lo scopo sara quindi quello di determinare la distribuzione stazionaria utilizzandogli strumenti forniti dalla teoria dei processi di nascita e morte che abbiamo visto,ed in particolare, il Teorema 1.4.1. Ovvero, si vuole determinare pn, per n ≥ 0,nella forma

pn =

1/(

1 +∞∑

k=1

Πk

)per n = 0

Πnp0 per n ≥ 1

(1.5.3)

avendo definito

Πn =

n−1∏

i=0

λi

n∏

j=1

µj

n ≥ 1. (1.5.4)

(Si osservi che con questa definizione di Πn la condizione di esistenza dello statostazionario si puo riscrivere

∑∞n=1 Πn < ∞).

Avendo a disposizione le pn si possono calcolare i valori di N ed N q rispettiva-mente dalle (1.5.1) e (1.5.2). Il passo successivo consiste nell’applicare il teoremadi Little (1.2.14) e la (1.2.20) per ottenere il valori di T e T q. Nel fare cio e neces-sario prestare attenzione al fatto che la costante λ che compare nella formula diLittle (1.2.14) e nella (1.2.20) rappresenta, come e ben noto, la frequenza mediadegli arrivi. Ora, se il sistema di code e rappresentato attraverso un processo dinascita e morte in cui il coefficiente di natalita e costante (λn = λ) allora essocoincide con tale frequenza media degli arrivi, altrimenti, se λn puo variare conlo stato n, il valore della frequenza media degli arrivi deve essere calcolato. Ciopuo essere fatto facilmente ricordando che λn rappresenta la frequenza media diarrivo quando nel sistema ci sono n utenti e pn e la probabilita che n utenti siano

Page 53: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 47

presenti nel sistema, e quindi si ha la frequenza media effettiva degli arrivi cheFrequenzamediaeffettivadegli arrivi

indichiamo con λ data da

λ =∞∑

n=0

λnpn. (1.5.5)

Determinato questo valore di λ e possibile applicare il teorema di Little (1.2.14)e la (1.2.20) per ottenere

T =N

λ(1.5.6)

T q =N q

λ. (1.5.7)

Si osservi che una difficolta potrebbe essere rappresentata dal fatto che nelle(1.5.1) (1.5.2) sono presenti delle serie e non delle somme finite; tuttavia, comevedremo, in molti casi interessanti, queste serie convergono e puo essere facilmentecalcolato il loro valore.Prima di entrare nei dettagli dei vari modelli di code, analizziamo una proprietadi cui godono tutti i sistemi di code con arrivi poissoniani.

1.5.1 Sistemi con arrivi poissoniani: proprieta PASTA

Supponiamo che un sistema di code sia caratterizzato da arrivi che seguono unprocesso di Poisson. Tale sistema gode di una importante proprieta detta Poisson Proprieta

PASTAArrivals See Times Average (PASTA) che informalmente puo essere cosı sinte-tizzata: gli utenti che arrivano nel sistema di code trovano, in media, nel sistemala stessa situazione che vedrebbe un osservatore esterno al sistema che osserva ilsistema in un momento arbitrario nel tempo. Formalmente, definiamo

ak(t) = P{un utente che arriva al tempo t trova il sistema nello stato k}.

In generale, risultera ak(t) 6= pk(t) in quanto l’evento

{un utente che arriva al tempo t trova il sistema nello stato k}

e l’evento

{lo stato del sistema in un generico istante t e pari a k}

sono eventi distinti. Infatti, nel caso del primo evento l’osservazione dello statodel sistema avviene in specifici istanti di tempo che dipendono dal processo diarrivo. Se invece gli arrivi sono poissoniani, allora si ha il seguente risultato.

Page 54: dispensa unica SSS

48 TEORIA DELLE CODE

Proposizione 1.5.1 Proprieta PASTASia dato un sistema a coda con arrivi poissoniani. Allora la probabilita cheun utente che arriva nel sistema al tempo t trova il sistema allo stato k (cioecon k utenti presenti) e uguale alla probabilita che il sistema sia allo stato k

al tempo t, ovveroak(t) = pk(t).

Dimostrazione: Per dimostrare questo risultato, sia {X(t), t ≥ 0} il processodi Poisson degli arrivi, ovvero il processo di sole nascite che descrive gli arrivial sistema a coda. Allora se N(t) e il numero degli utenti presenti nel sistemaal tempo t e pk(t) = P (N(t) = k), per le probabilita composte e utilizzando laDefinizione 1.3.5 di processo di Poisson, si ha

ak(t) = P{un utente che arriva al tempo t trova il sistema nello stato k}= lim

∆t→0P (N(t) = k | X(t + ∆t)−X(t) = 1)

= lim∆t→0

P (X(t + ∆t)−X(t) = 1 | N(t) = k) P (N(t) = k)P (X(t + ∆t)−X(t) = 1)

= lim∆t→0

P (X(t + ∆t)−X(t) = 1) P (N(t) = k)P (X(t + ∆t)−X(t) = 1)

= P (N(t) = k) = pk(t).

Una giustificazione intuitiva di questa proprieta e la seguente: se di un arbitrarioarrivo secondo Poisson conoscessimo l’istante di tempo al quale esso e avvenuto, ladistribuzione condizionata di cio che l’utente in arrivo vede all’arrivo nel sistemae uguale alla distribuzione non condizionata dello stato del sistema al tempo t.Ma sapere che un arrivo c’e stato al tempo t non fornisce alcuna informazione suche cosa e accaduto prima del tempo t, in quanto, avendo il processo di Poissonincrementi indipendenti, sapere che un evento e accaduto ad un certo tempo t

non influenza la distribuzione di cio che e accaduto prima del tempo t. Quindiun utente in arrivo vedrebbe solamente il sistema secondo la probabilita pn(t).Si osservi che la proprieta PASTA non e vera in generale; infatti se si consideraun sistema di code del tipo D/D/1 con queste caratteristiche: il sistema e vuotoal tempo t = 0 e gli arrivi si verificano agli istanti t = 1, t = 3, t = 5, t = 7, . . .

e il tempo di servizio e pari a 1. Allora ogni utente che arriva trova il sistemavuoto, ovvero la probabilita che un utente che arriva trova il sistema allo stato 0e pari a 1, mentre la probabilita p0(t) = 1/2 per ogni t.

Abbiamo visto come nello studio di un sistema a coda in equilibrio e possibiledefinire (se esiste) la distribuzione stazionaria come

pk = limt→∞ pk(t)

Page 55: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 49

e interpretando queste quantita come la frazione di tempo che il sistema e nellostato k. Analogamente si possono definire le quantita

ak = limt→∞ ak(t)

interpretandole come frazione di arrivi che trovano k utenti nel sistema. Poichedalla proprieta PASTA si ha ak(t) = pk(t), passando al limite per t → ∞ siottiene anche l’uguaglianza

ak = pk. (1.5.8)

In maniera analoga alla quantita ak(t) che considera la distribuzione all’arrivodi un cliente, si puo studiare la distribuzione dopo la partenza di un cliente dalsistema dopo che ha usufruito del servizio definendo

dk(t) = P{un utente che esce al tempo t lascia il sistema nello stato k}

e, in condizioni di stazionarieta,

dk = limt→∞ dk(t),

interpretando dk come frazione di clienti che lascia nel sistema k clienti quandoesce dal sistema.

Per un qualsiasi sistema di code a cosa singola, non necessariamente con arrivipoissoniani, vale l’uguaglianza

ak = dk (1.5.9)

purche i clienti arrivano al sistema uno alla volta e sono serviti uno alla volta. Maquando gli arrivi sono poissoniani vale la proprieta PASTA e quindi vale la (1.5.8).Quindi, in questo caso dalla (1.5.8) e dalla (1.5.9) si ha pk = ak = dk, ovvero,sia un cliente che arriva, sia un cliente che parte da un sistema in condizioni distazionarieta, vede un sistema che e statisticamente equivalente ad un sistemavisto da un osservatore che osserva il sistema dall’esterno in un arbitrario istantedi tempo.

Page 56: dispensa unica SSS

50 TEORIA DELLE CODE

1.5.2 Sistemi M/M/s

I sistemi M/M/s sono sistemi di code ove si assume che gli intertempi di arrivosono indipendenti, identicamente distribuiti secondo la distribuzione esponenziale(ovvero arrivi poissoniani), i tempi di servizio indipendenti, identicamente dis-tribuiti secondo un’altra distribuzione esponenziale e il numero di serventi pari as. Questi modelli possono essere rappresentati come processi di nascita e morte;infatti, come abbiamo gia osservato nel paragrafo 1.4.3, se il sistema ha un soloservente (s = 1) allora esso e rappresentabile mediante un processo di nascita emorte con coefficiente di natalita costante λn = λ, n = 0, 1, . . . e coefficiente dimortalita costante µn = µ, n = 1, 2, . . .. Infatti assumere che i tempi di interar-rivo sono esponenziali equivale ad avere arrivi secondo un processo di Poisson ditasso λ. Analogamente, avere tasso di mortalita costante corrisponde ad avere itempi di servizio esponenziali.Se il sistema ha s > 1 serventi (che, ricordiamo, abbiamo assunto lavorino inparallelo) il sistema e sempre rappresentabile mediante un processo di nascitae morte, ma il coefficiente di mortalita µn non puo essere espresso in manieracosı semplice. Si ricordi che µn rappresenta il coefficiente di mortalita, ovverola velocita media alla quale avvengono i completamenti dei servizi e quindi lavelocita media alla quale gli utenti escono dal sistema, quando n utenti sonopresenti nel sistema. Abbiamo visto che per la Proprieta E3 della distribuzioneesponenziale, quando la velocita media di servizio di ciascun server e pari a µ, lavelocita media media di servizio complessiva quando si hanno n serventi occupati(cioe che stanno erogando il servizio) e pari a nµ. Quindi si ha

µn ={

nµ per 1 ≤ n ≤ s

sµ per n ≥ s,(1.5.10)

perche quando n ≥ s, i serventi occupati continuano ad essere sempre s.Quando ρ = λ/sµ < 1, un modello di code di questo tipo soddisfa la condizioniper l’esistenza dello stato stazionario e quindi possono essere applicati i risul-tati ottenuti nel paragrafo 1.4 per il calcolo della distribuzione stazionaria di unprocesso di nascita e morte.

Sistemi M/M/1

Consideriamo, ora i sistemi M/M/1, ovvero con un singolo servente, assumendoSistemiM/M/1 ρ = λ/µ < 1. In questo caso risulta Πn = (λ/µ)n = ρn e quindi si ha soddisfatta

la condizione di esistenza dello stato stazionario (1.4.12) in quanto 0 < ρ < 1 erisulta

∞∑

n=1

ρn =1

1− ρ− 1.

Dal Teorema 1.4.1 si ha

Page 57: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 51

p0 =11

1− ρ

= 1− ρ e pn = ρnp0, per n ≥ 1,

da cui

pn = (1− ρ)ρn per n = 0, 1, 2, . . . (1.5.11)

Calcolate le pn, si possono facilmente determinare le misure di prestazione N ,N q, T e T q rispettivamente dalle (1.5.1) e (1.5.2):

N =∞∑

n=0

npn =∞∑

n=0

n(1− ρ)ρn

= (1− ρ)∞∑

n=0

nρn = (1− ρ)ρ∞∑

n=0

nρn−1

= (1− ρ)ρ∞∑

n=0

dρn

dρ= (1− ρ)ρ

d

∞∑

n=0

ρn

= (1− ρ)ρd

(1

1− ρ

)= (1− ρ)ρ

1(1− ρ)2

1− ρ=

λ

µ− λ.

Si osservi che nei passaggi ora svolti, il passaggio fuori dal segno di serie delladerivata rispetto a ρ e possibile perche sono soddisfatte le opportune ipotesi sullaconvergenza delle serie coinvolte.

Il calcolo diretto della N q si puo omettere e calcolare N q direttamente dalla(1.2.23), ovvero N q = N − (1 − p0). Si ottiene quindi, utilizzando anche la(1.2.24)

N q = N − ρ =ρ2

1− ρ=

λ2

µ(µ− λ).

Applicando, poi il Teorema di Little, si ha

T =N

λ=

1µ− λ

T q =N q

λ=

λ

µ(µ− λ).

Si osservi, inoltre, che ovviamente la (1.2.21) risulta soddisfatta.

Page 58: dispensa unica SSS

52 TEORIA DELLE CODE

Abbiamo cosı ottenuto le misure di prestazione per un sistema di code M/M/1che riassumiamo nello schema seguente:

N =λ

µ− λ

N q =λ2

µ(µ− λ)

T =1

µ− λ

T q =λ

µ(µ− λ).

Esempio 1.5.2 In un aeroporto con una sola pista chiede di atterrare, in media, un aereo ogni6 minuti e la distribuzione degli intervalli di tempo tra due richieste successive e esponenziale.Gli aerei vengono autorizzati ad atterrare dal controllore del traffico aereo sulla base del cri-terio primo arrivato, primo servito. Gli aerei che non possono atterrare immediatamente perla congestione del traffico, vengono inseriti in un circuito di attesa. Il tempo necessario perl’atterraggio e distribuito esponenzialmente con un valore medio pari a 4 minuti.Determinare:

1. il numero medio di aerei tenuti contemporaneamente sotto controllo dal controllore deltraffico aereo;

2. il numero medio di aerei che si trovano nel circuito di attesa;

3. il tempo medio passato nel circuito di attesa;

4. la probabilita che nel circuito di attesa ci siano piu di 3 aerei.

Si tratta di un sistema di code M/M/1 in cui gli utenti sono gli aerei e la coda e costituitadagli aerei nel circuito di attesa. Assumendo come unita di tempo il minuto, si ha λ = 1/6,µ = 1/4, ρ = 2/3. Poiche risulta ρ < 1 e soddisfatta la condizione di esistenza della distribuzionestazionaria.

1. Il numero di aerei che il controllore deve tenere sotto controllo e pari al numero di aereipresenti nel sistema che e dato da N = λ/(µ− λ) = 2;

2. il numero medio di aerei che si trovano nel circuito di attesa e Nq = λ2/[µ(µ−λ)] = 4/3;

3. il tempo medio passato nel circuito di attesa e T q = Nq/λ = 8 minuti;

4. la probabilita che nel circuito di attesa ci siano piu di 3 aerei coincide con la probabilitache nel sistema ci sono piu di 4 utenti; tale probabilita si puo ottenere come

∞∑n=5

pn = 1−4∑

n=0

pn = 1− (1− ρ)

4∑n=0

ρn

= 1− (1/3)(1 + 2/3 + 4/9 + 8/27 + 16/81) = 0.131.

Page 59: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 53

Esercizio 1.5.3 Realizzare un foglio elettronico in Excel che, dati in ingresso i valori di λ e µdi un sistema di code M/M/1, determini N , Nq, T , T q e la distribuzione pn per n = 0, 1, . . . , 25,rappresentando su un grafico questi valori di pn.

Nel caso di sistemi M/M/1, oltre il valore atteso, si puo ricavare anche la dis-

tribuzione di probabilita del tempo di permanenza nel sistema tw di un arbitrarioutente che arriva. P (tw > t)A tale scopo, supponiamo che l’utente che arriva trovi gia un certo numero n

di utenti presenti nel sistema. Se n = 0 il tempo di permanenza nel sistemadell’utente che arriva e pari al tempo di servizio. Nel caso n ≥ 1 il nuovo utenteche arriva trova un utente che sta usufruendo del servizio e n− 1 utenti in coda.Per poter uscire dal sistema, questo nuovo utente che arriva dovra aspettare

• i tempi di servizio degli n − 1 utenti che sono in coda, tempi che sonodistributi esponenzialmente di parametro µ;

• il tempo di completamento del servizio dell’utente che sta usufruendo delservizio quando questo nuovo utente arriva, tempo che, per la proprietadi assenza di memoria della distribuzione esponenziale (Proprieta E2), edistributo esponenzialmente di parametro µ;

• il tempo del proprio servizio, ovvero il tempo necessario per espletare ilservizio relativo al nuovo utente che arriva che e distributo esponenzialmentedi parametro µ.

Ovvero l’utente arbitrario che arriva dovra aspettare n+1 tempi distribuiti espo-nenzialmente di parametro µ. Se indichiamo con T1, T2, . . . , Tn+1 questi tempi,si ha che il tempo di permanenza nel sistema dell’utente che arriva sara datoSn+1 = T1 + · · ·+ Tn+1. Per la Proprieta E5, si ha che la variabile Sn+1 segue ladistribuzione di Erlang di parametri µ ed n + 1, ovvero la sua densita di proba-bilita e

fSn+1(x) = µe−µx (µx)n

n!,

e quindi risulta

P

(tw ≤ t

∣∣∣ n utenti presenti nel sistema

all’arrivo del nuovo utente

)= P (Sn+1 ≤ t)

=∫ t

0µe−µx (µx)n

n!dx. (1.5.12)

Sulla base di queste osservazioni, possiamo ora dimostrare il seguente risultato.

Page 60: dispensa unica SSS

54 TEORIA DELLE CODE

Proposizione 1.5.4 In un sistema M/M/1, il tempo di permanenza nel si-stema tw e distribuito esponenzialmente con parametro µ− λ, ovvero

P (tw > t) = e−(µ−λ)t, t ≥ 0.

Dimostrazione: Applicando il Teorema delle probabilita totali si puo scrivere

P (tw ≤ t) =∞∑

n=0

P

(tw ≤ t

∣∣∣n utenti presenti nel sistema

all’arrivo del nuovo utente

· P(

n utenti presenti nel sistema

all’arrivo del nuovo utente

)

dove la prima delle probabilita che compaiono nella serie e data dalla (1.5.12),mentre la seconda, per la proprieta PASTA, e pari a pn. Si ha quindi

P (tw ≤ t) =∞∑

n=0

∫ t

0µe−µx (µx)n

n!dx ρn(1− ρ)

=∫ t

0(µ− λ)e−µx

∞∑

n=0

(λx)n

n!dx

=∫ t

0(µ− λ)e−(µ−λ)xdx

= 1− e−(µ−λ)t,

ovvero tw segue la distribuzione esponenziale con parametro µ−λ e la proposizionee dimostrata.

Osservazione 1.5.5 Da questa proposizione e immediato determinare il valoreatteso della variabile tw, ovvero T , che e pari a 1/(µ− λ), come gia sappiamo.

Osservazione 1.5.6 Ovviamente la probabilita P (tw > t) puo essere calcolatadirettamente, ovvero nella forma

P (tw > t) =∞∑

n=0

P (Sn+1 > t) pn. (1.5.13)

Nel caso di un sistema di code M/M/1, si puo facilmente determinare anche ladistribuzione di probabilita del tempo di attesa nella coda tq di un utente cheP (tq > t)arriva. Ovviamente, se il nuovo utente che arriva non trova utenti nel sistema(n = 0), il nuovo utente viene servito immediatamente (tq = 0) e la probabilitache questo accada e

P (tq = 0) = p0 = 1− ρ.

Page 61: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 55

Altrimenti, se all’arrivo del nuovo utente c’e un numero non nullo di utenti pre-senti nel sistema, ovvero se n ≥ 1, vale il seguente risultato.

Proposizione 1.5.7 In un sistema M/M/1, per il tempo di attesa in codatq vale

P (tq > t) = ρe−(µ−λ)t, t ≥ 0.

Dimostrazione: Si ragiona in maniera del tutto analoga a quanto espresso nell’in-trodurre la proposizione precedente. Supponiamo, quindi, che entrando nel sis-tema il nuovo utente trova gia n utenti presenti nel sistema; quindi dovra as-pettare n tempi esponenziali per l’inizio del proprio servizio (si tratta di n tempie non piu n + 1 perche deve essere escluso il tempo relativo al servizio del nuovoutente stesso). Analogamente alla dimostrazione della proposizione precedente,utilizzando la (1.5.13), si ha

P (tq > t) =∞∑

n=1

P

(tq > t

∣∣∣ n utenti presenti nel sistema

all’arrivo del nuovo utente

)pn

=∞∑

n=1

P (Sn > t) pn

= ρ∞∑

n=1

P (Sn > t) (1− ρ)ρn−1

= ρ∞∑

n=0

P (Sn+1 > t) (1− ρ)ρn

= ρ∞∑

n=0

P (Sn+1 > t) pn

= ρ P (tw > t) = ρe−(µ−λ)t.

Quindi il tempo di attesa nella coda tq non segue la distribuzione esponenzialecome invece accade nel caso del tempo di permanenza nel sistema. Se invececalcoliamo la probabilita che tq > t, condizionata a tq > 0, si ha

P (tq > t | tq > 0) =P (tq > t)P (tq > 0)

= e−(µ−λ)t,

ovvero il tempo di attesa in coda tq di un utente arbitrario che arriva nel sistema,condizionato a tq > 0 e distribuito esponenzialmente con parametro µ− λ.

Page 62: dispensa unica SSS

56 TEORIA DELLE CODE

Sistemi M/M/s multiservente

Consideriamo ora un sistema M/M/s multiservente, ovvero con s > 1, assumendoSistemiM/M/s ρ = λ/(sµ) < 1.

Per quanto gia visto nell’introduzione al paragrafo, si puo ricondurre questo casoad un processo di nascita e morte con coefficiente di natalita λn = λ e coefficientedi mortalita dato da

µn ={

nµ se n < s

sµ se n ≥ s,

ovveroµn = min{nµ , sµ}.

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

Si ottiene, quindi

Πn =

1n!

µ

)n

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

1s!

µ

)s (λ

)n−s

=1

s!sn−s

µ

)n

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

Verifichiamo la condizione di esistenza dello stato stazionario (1.4.12). Si ha

∞∑

n=1

Πn =s−1∑

n=1

1n!

µ

)n

+∞∑

n=s

1s!

µ

)s (λ

)n−s

=s−1∑

n=1

1n!

µ

)n

+1s!

µ

)s ∞∑

n=0

)n

< ∞

che e soddisfatta per ρ =λ

sµ< 1.

Inoltre risultap0 =

1s−1∑

n=0

1n!

µ

)n

+1s!

µ

)s 11− ρ

(1.5.14)

0 1 2 3 s-1 s+1s…

λ λ λ λ λ λ λ

µ µ2 µ3 µ)1( −s µs µs µs

λ

µ4

Fig. 1.5.1 Diagramma di transizione di stato per un sistema M/M/s

Page 63: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 57

ed il valore di pn dato da

pn =

1n!

µ

)n

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

1s!sn−s

µ

)n

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

(1.5.15)

Calcoliamo ora il valore di N q:

N q =∞∑

n=s

(n− s)pn =∞∑

i=0

ips+i =∞∑

i=0

i1

s!si

µ

)s+i

p0

=∞∑

i=0

i1s!

µ

)s (λ

)i

p0 =1s!

µ

)s

p0

∞∑

i=0

iρi

=1s!

µ

)s

p0 ρ∞∑

i=0

iρi−1 =1s!

µ

)s

p0 ρ∞∑

i=0

dρi

=1s!

µ

)s

p0 ρd

∞∑

i=0

ρi =1s!

µ

)s

p0 ρd

(1

1− ρ

)

=1s!

µ

)s

p0ρ

(1− ρ)2.

Applicando il Teorema di Little si ricavano i valori di T q, T e N . Quindi per unsistema di code M/M/s multiservente si hanno le seguenti misure di prestazione:

N q =1s!

µ

)s ρ

(1− ρ)2p0

T q =N q

λ

T = T q +1µ

N = λT = N q +λ

µ.

Anche nel caso di sistema M/M/s multiservente e possibile ricavare la distribuzionedi probabilita del tempo di permanenza nel sistema tw e del tempo di attesa nellacoda tq. Si riportano questi risultati senza dimostrazione. Risulta

P (tw > t) = e−µt

[1 + (λ/µ)sp0

s!(1− ρ)

(1− e−µt(s−1−λ/µ)

s− 1− λ/µ

)]

Page 64: dispensa unica SSS

58 TEORIA DELLE CODE

sostituendo(

1−e−µt(s−1−λ/µ)

s−1−λ/µ

)con µt nel caso in cui il denominatore si annulli,

ovvero se s− 1− λ/µ = 0, ed inoltre

P (tq > t) = (1− P (tq = 0)) e−s(µ−λ)t (1.5.16)

dove P (tq = 0) =s−1∑

n=0

pn.

E molto utile avere un’espressione per il calcolo della probabilita di dover at-tendere nella coda un tempo non nullo, P (tq > 0) che, ovviamente, e un casoparticolare della (1.5.16). Si puo ricavare direttamente nel seguente modo:

P (tq > 0) =∞∑

n=s

pn =∞∑

n=s

1s!

µ

)s (λ

)n−s

p0

=1s!

µ

)s

p0

∞∑

i=0

)i

=1s!

µ

)s 1

1− λ

p0 =1s!

µ

)s 11− ρ

p0

Quest’ultima formula che fornisce la probabilita che un utente che arriva trovatutti i serventi occupati e nota come formula di Erlang C.

Esempio 1.5.8 Un bar ha due barman ugualmente efficienti, ciascuno dei quali e in grado diservire, in media, 60 clienti l’ora e i tempi di servizio sono distribuiti esponenzialmente. I clientientrano nel bar secondo un processo di Poisson, con frequenza media di 100 l’ora.Determinare:

1. il numero medio di clienti in attesa di essere serviti;

2. il tempo medio di attesa prima di essere serviti;

3. la probabilita che nel bar vi siano piu di 5 clienti;

4. se utilizzando un terzo barman e possibile dimezzare il tempo medio di attesa in coda.

Si tratta di un modello di code M/M/2. Assumendo come unita di tempo l’ora, si ha λ = 100e µ = 60. Inoltre, poiche risulta ρ = λ/(2µ) = 5/6 < 1, la condizione per l’esistenza delladistribuzione stazionaria e verificata.

1. Per determinare il il numero medio di clienti in attesa di essere serviti Nq abbiamo bisognodel valore di p0 che puo essere calcolato dalla (1.5.14) dalla quale si ottiene p0 = 1/11.Quindi possiamo calcolare il valore di Nq che risulta pari a 125/33 = 3.78;

2. il tempo medio di attesa prima di essere serviti e T q = Nq/λ = 0.0378 ore, ovvero circa2.28 minuti;

3. la probabilita che nel bar vi siano piu di 5 clienti e data da

1− (p0 + p1 + p2 + p3 + p4 + p5);

e necessario, quindi, calcolare i valori di pn per n = 0, 1, 2, 3, 4, 5 che possono esserefacilemente ottenuti dalla (1.5.15). Risulta quindi 1−(p0+p1+p2+p3+p4+p5) = 0.3653;

Page 65: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 59

4. con un terzo barman il sistema diventa di tipo M/M/3 con ρ = 5/9. Per questo sistemasi ottiene p0 = 0.173, Nq = 0.374 e T q = 0.00374 e quindi il tempo medio di attesa incoda e ridotto a circa un decimo del precedente.

Esempio 1.5.9 In un pronto soccorso di un ospedale si vuole migliorare il servizio offerto.Sulla base dei dati disponibili, si stima che arriva in media un paziente ogni 30 minuti e che, inmedia, per le cure richieste sono necessari 20 minuti per ogni paziente. Uno studio preliminareha evidenziato che gli arrivi sono casuali (distribuiti secondo Poisson) e i tempi impiegati per lecure sono approssimativamente distribuiti secondo la distribuzione esponenziale. Costruire unmodello di code analizzando le due possibili alternative di continuare ad operare con un solomedico oppure aggiungere un secondo medico.Prendiamo come unita di tempo l’ora. Risulta λ = 2 e µ = 3.

• Per s = 1 si ottiene: ρ = 2/3, Nq = 4/3, N = 2, T q = 2/3 di ora e T = 1 ora.

• Per s = 2 si ottiene: ρ = 1/3, Nq = 1/12, N = 3/4, T q = 1/24 di ora e T = 3/8 di ora.

Si lascia allo studente il calcolo di pn, P (tq > t), P (tw > t) ed i casi particolari P (tq > 0),P (tq > 1) nel due casi di singolo servente e di due serventi. Confrontanto i risultati ottenutiappare chiaro che l’utilizzo di un solo medico e del tutto inadeguato.

Esercizio 1.5.10 In un ufficio arriva, in media, un cliente ogni 2 minuti. Attualmente inquesto ufficio c’e un solo addetto che esegue il servizio richiesto da ciascun cliente, in media, in15 secondi. Si assuma che gli arrivi siano poissoniani e che i tempi di servizio siano distribuitiesponenzialmente. Si consideri un modello di code M/M/s verificando se e preferibile cambiarel’addetto con un altro due volte piu veloce oppure aggiungere all’addetto attualmente utilizzatoun altro addetto che lavora alla stessa velocita di quello attuale.

Esercizio 1.5.11 Un sistema di elaborazione e costituito da 3 server. Poiche ciascun server puoessere anche utilizzato singolarmente, ogni server puo essere anche considerato come un sistemasingolo. I processi arrivano al sistema secondo la distribuzione di Poisson con media 9 l’ora eil tempo di servizio di ciascun server e distribuito esponenzialmente con media 10 minuti. Unoperatore deve decidere come far operare il sistema. Esistono tre possibili modalita operative:

1. tre sistemi singoli indipendenti: i processi arrivano al sistema e si distribuiscono casual-mente nelle tre code presenti (una per ciascun server);

2. i processi in arrivo sono posizionati in un’unica fila di attesa e il primo processo vienelavorato non appena si libera uno dei server;

3. come nel punto 2 processi sono in un;unica fila, ma i 3 server sono connessi tra loro inmodo da funzionare come un unico sever con velocita di servizio tripla.

Per la modalita operativa 1:

a) descrivere un sistema a coda che puo rappresentare la situazione descritta;

b) determinare il tempo medio di permanenza nel sistema e il tempo medio di attesa incoda.

c) calcolare il numero medio di processi presenti nel sistema e il numero medio dei processipresenti in attesa di essere lavorati;

d) determinare la probabilita che il tempo di permanenza nel sistema superi i 10 minuti.

Per la modalita operativa 2:

e) descrivere un sistema a coda che puo rappresentare la situazione descritta;

Page 66: dispensa unica SSS

60 TEORIA DELLE CODE

f) determinare il tempo medio di permanenza nel sistema e il tempo medio di attesa incoda.

g) calcolare il numero medio di processi presenti nel sistema e il numero medio dei processipresenti in attesa di essere lavorati;

h) determinare la probabilita che un processo arrivi nel sistema e venga lavora immediata-mente senza attesa;

i) determinare come e distribuito il numero dei processi presenti nel sistema.

Per la modalita operativa 3:

l) descrivere un sistema a coda che puo rappresentare la situazione descritta;

m) determinare il tempo medio di permanenza nel sistema e il tempo medio di attesa incoda.

n) calcolare il numero medio di processi presenti nel sistema e il numero medio dei processipresenti in attesa di essere lavorati;

o) determinare come e distribuito il tempo di attesa in coda;

p) descrivere come si riconduce questo sistema ad un processo di nascita e morte.

Dall’analisi delle 3 modalita

q) concludere qual e la modalita piu conveniente e la meno conveniente in termini di tempidi risposta del sistema, ovvero di tempi di permanenza media dei processi nel sistema.

Esercizio 1.5.12 Completare il foglio Excel dell’Esercizio 1.5.3 includendo anche il caso dicode M/M/s con s > 1.

Page 67: dispensa unica SSS

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 dellacoda. Ad ogni utente che arriva nel sistema quando la coda e piena e negatol’accesso definitivamente (cliente perso). Questa situazione si puo interpretarecome un processo di nascita e morte in cui il coefficiente di natalita e nullo incorrispondenza di certi istanti di tempo, ovvero nei casi in cui risulta n ≥ K. Siha, quindi,

λn ={

λ per n = 0, 1, . . . ,K − 10 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 anchese 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 corrispondead avere spazi fisici limitati per l’attesa. Un’altra interpretazione riguarda lasituazione in cui i clienti in arrivo al sistema vedono troppi utenti (K) davantia loro e non entrano nel sistema rinunciando definitivamente al servizio; questasituazione 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 SistemiM/M/1/K

λn ={

λ per n = 0, 1, . . . , K − 10 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 ρ 6= 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 68: dispensa unica SSS

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

dt=

1− ρ

1− ρK+1ρ

d

dt

(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 capacitadel 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. Perfare cio, poiche λn non e costante, e necessario calcolare la frequenza mediaeffettiva degli arrivi λ data dalla (1.5.5). Infatti, nel caso dei sistemi di codeM/M/1/K che stiamo trattando, λ non rappresenta la frequenza media effettivadegli 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 possaentrare 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, lafrequenza media effettiva degli arrivi in questo caso risulta pari a (si veda anchel’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 potenzialiclienti entra effettivamente nel sistema, mentre la rimanente parte dei clienti vienepersa.

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 69: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 63

Una semplice verifica mostra che nel caso che stiamo trattando, queste dueespressioni 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 distazionarieta, come abbiamo gia detto, non e richiesto che ρ = λ/µ < 1. Il fattoche in un sistema con capacita limitata la frequenza media degli arrivi (λ) possasuperare la frequenza media di completamento dei servizi (ovvero λ > µ) e dovutoad una proprieta detta di autoregolazione di un sistema che, escludendo un certonumero di clienti, porta la frequenza effettiva degli arrivi ad essere minore diquella 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 70: dispensa unica SSS

64 TEORIA DELLE CODE

Sistemi M/M/s/K multiservente

Consideriamo ora un sistema M/M/s/K multiservente, ovvero s > 1, supponendoSistemiM/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 − 10 per n ≥ K,

µn ={

nµ per n = 1, 2, . . . , s− 1sµ per s ≤ n ≤ K.

Si ottengono quindi i seguenti valori per Πn:

Πn =

1n!

µ

)n

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

1s!

µ

)s (λ

)n−s

=1

s!sn−s

µ

)n

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

0 per n > K.

dal quale si ottiene

pn =

1n!

µ

)n

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

1s!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 sistemiM/M/s tenendo conto che Πn = 0 per n > K e quindi

p0 =1

s−1∑

n=0

1n!

µ

)n

+1s!

µ

)s K∑n=s

)n−s.

Analogamente al caso di un sistema di code M/M/s, si puo ottenere la seguenteespressione per N q:

N q =ρ

s!(1− ρ)2

µ

)s

p0

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

].

Page 71: dispensa unica SSS

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 ottenerei valori di T q, T ad N . Alternativamente, N puo essere anche ottenuto comesegue. 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 lacapacita massima del sistema uguaglia il numero dei serventi e quindi la coda hacapacita nulla. Questo significa che, non esistendo la coda, un utente che arrivaquando tutti i serventi sono occupati non entra nel sistema ed e “perso”. Questomodello e molto utilizzato nella telefonia; infatti se una rete telefonica ha s lineeed un utente chiama quando tutte le linee sono occupate, riceve il segnale dioccupato e non puo entrare nel sistema costituito dalla rete telefonica. Si trattadi un sistema di code dove, di fatto, la coda non esiste ed e noto come Erlang Erlang loss

systemK = 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 quindie perso puo essere facilmente calcolata in quanto essa e uguale alla probabilitapK che nel sistema ci siano gia K utenti, che e data da

pK =1s!

µ

)s 1s∑

n=0

1n!

µ

)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 72: dispensa unica SSS

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 73: dispensa unica SSS

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 deipotenziali utenti e finito e pari a U . Naturalmente, se n e il numero degli utentipresenti nel sistema, i potenziali clienti sono U − n.Un esempio tipico di questa situazione si ha in un reparto manutenzioni di unindustria. In questo caso, un certo numero di macchine deve essere tenuto inmanutenzione. Tali macchine costituiscono la popolazione finita: ciascuna di esseentra nel sistema costituito dal reparto manutenzioni quando deve essere riparatae ne fuoriesce, una volta riparata, andando di nuovo a far parte della popolazionedei potenziali clienti in quanto potra rientrare nel sistema nel momento in cui siguasta di nuovo. Un modello che si presta bene a rappresentare una situazionedi 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 quandorientra) e distribuito esponenzialmente di parametro λ. Quando ci sono n utentinel sistema, e quindi U − n utenti sono fuori del sistema, ad un certo istante ditempo la distribuzione di probabilita del tempo rimanente fino al prossimo arrivoal sistema coincide con la distribuzione di probabilita del piu piccolo dei tempirimanenti per l’ingresso al sistema tra tutti gli utenti che sono fuori del sistemache sono U − n. Per la Proprieta E2 (assenza di memoria) e la Proprieta E3,questa distribuzione di probabilita e esponenziale di parametro (U −n)λ. Quindianche questo sistema di code puo essere rappresentato mediante un processodi 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 essercipiu di U utenti. Un tale sistema, poiche risulta λn = 0 per n > U , raggiungecondizioni di stazionarieta anche se ρ ≥ 1.

Sistemi M/M/1/ · /U

Consideriamo ora il caso singolo servente, ovvero s = 1. Per rappresentare questo SistemaM/M/1/·/Ucaso con un processo di nascita e morte e sufficiente prendere

λn ={

(U − n)λ per n = 0, 1, . . . , U − 10 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 74: dispensa unica SSS

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 . Utilizzandola (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 75: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 69

Ora, per applicare il Teorema di Little e necessario determinare il valore dellafrequenza 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. SistemiM/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 − 10 per n ≥ U

µn ={

nµ per n = 1, 2, . . . , s− 1sµ 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 76: dispensa unica SSS

70 TEORIA DELLE CODE

dovep0 =

1s−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 quantoriguarda 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 ladifficolta di calcolo di questi valori di prestazioni, sono disponibili tavole cheriportano i valori numerici per questa tipologia di sistema di code sia a singoloservente 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 77: dispensa unica SSS

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 lavelocita media del servizio µ e costante e non dipende dal numero degli utentipresenti nel sistema. Tuttavia, nelle situazioni reali questo puo non essere semprevero, specialmente se i serventi sono delle persone fisiche che e possibile tendano alavorare piu in fretta di quanto fanno normalmente se vedono la fila d’attesa moltolunga. Ovvero, c’e un incremento della velocita media di servizio in conseguenzadella presenza di molti utenti in coda.Un’altra situazione che potrebbe presentarsi quando la coda e lunga, consiste inun decremento della frequenza media degli arrivi indotto dal sistema stesso chenella pratica potrebbe essere realizzato dirottando altrove utenti quando la codae molto lunga. Vediamo come e possibile costruire modelli che tengano conto diqueste situazioni.

Caso singolo servente

Iniziamo considerando un sistema di code con servente singolo. Supponiamodapprima che la sola velocita di servizio sia dipendente dallo stato. Per tener Velocita di

serviziodipendentedallo stato

conto del fatto che tale velocita puo cambiare al variare dello stato, denotiamocon µ1 la velocita media di servizio in condizioni normali, ovvero con un soloutente 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 serviziosiano distribuiti esponenzialmente di parametro µn dato dalla (1.5.21). Si possonoapplicare i risultati sui processi di nascita e morte con λn = λ, tenendo conto chela 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

conp0 =

1∞∑

n=0

1(n!)c

µ1

)n

dalle quale si possono ottenere i valori delle misure di prestazione. Tuttavia nonsono disponibili espressioni analitiche delle serie che compaiono nelle formule, per

Page 78: dispensa unica SSS

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. Inquesto caso si ha µn = nµ e

p0 = e− λ

µ1 , pn =1n!

µ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 diarrivodipendentedallo stato

stato. Supponiamo quindi di avere una decrescita della frequenza media degliarrivi, ad esempio in presenza di una coda molto lunga. Questo caso e anchedetto ad “arrivi rallentati” in quanto prevede il rallentamento progressivo degliarrivi in rapporto al numero dei clienti presenti nel sistema. Un modello che puorappresentare bene questa situazione si ottiene assumendo che i tempi di serviziosiano distribuiti esponenzialmente di parametro costante µ e che gli arrivi sianopoissoniani 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 codavuota, e b e una costante positiva. Analogamente al caso precedente della velocitadi servizio dipendente dallo stato, si possono applicare i risultati sui processidi nascita e morte tenendo conto che la condizione per l’esistenza dello statostazionario 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 inquesto caso un interessante caso particolare si ha in corrispondenza della sceltab = 1.

Page 79: dispensa unica SSS

SISTEMI A CODA BASATI SU PROCESSI DI NASCITA E MORTE 73

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

λ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

conp0 =

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 tabulatiper 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 diservizio e del modello che tiene conto della diminuzione della frequenza mediadi 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 80: dispensa unica SSS

74 TEORIA DELLE CODE

da cui

Πn =

1n!

(λ0

µ1

)n

per n = 1, . . . s

1n!

(λ0

µ1

)n 1s!(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 p0

e di N al variare di λ0/(sµ1) e che possono risultare molto utili per determinarevalori 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 ottiene Nq = 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 81: dispensa unica SSS

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 corrispondeal 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 “selfservice”, ovvero gli utenti che arrivano si servono da soli senza dover aspettare.Tali sistemi sono frequenti nella realta e possono essere rappresentanti anch’essiattraverso un processo di nascita e morte con

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

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

Si ottieneΠn =

1n!

µ

)n

n = 1, 2, . . .

e la condizione di esistenza dello stato stazionario e verificata per qualsiasi valoredi λ e µ. Si tratta, quindi, di un caso particolare di sistema con velocita di serviziodipende dallo stato esaminato nel paragrafo precedente; possiamo facilmente os-servare che quindi un sistema in cui la velocita di servizio dipende linearmentedallo stato si comporta come un sistema con servente immediatamente disponi-bile.Naturalmente si ha

p0 =1

∞∑

n=0

1n!

µ

)n = e−λ

µ ,

pn =1n!

µ

)n

e−λ

µ .

Quindi, in condizioni di stazionarieta, il numero degli utenti presenti nel sistemae 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 incoda. Segue che

T = T q +1µ

=1µ

,

ovvero il valor medio del tempo di permanenza nel sistema coincide con il valoreatteso del tempo di servizio 1/µ.

Page 82: dispensa unica SSS

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 emorte, con tempi di interarrivo e tempi di servizio distribuiti esponenzialmente eabbiamo analizzato le importanti proprieta di tali modelli e il loro efficace uso nelrappresentare situazioni reali. Tuttavia, esistono casi reali in cui le assunzioni finoad ora fatte non sono soddisfatte. Ad esempio, sappiamo che gli arrivi secondoPoisson approssimano bene gli arrivi casuali che rappresentano una ragionevoleassunzione in moltissime situazioni; tuttavia in alcuni casi, si possono inveceavere situazioni di arrivi programmati e non piu casuali. Analogamente, non sonoinfrequenti situazioni in cui i tempi di servizio sono regolati da schemi prestabilitiche non sono approssimati bene da una distribuzione esponenziale.

Per queste ragioni, in questo paragrafo verrano esaminati modelli di code cheutilizzano distribuzioni diverse da quella esponenziale. L’analisi di questi modellirisulta, in genere, molto piu difficile dell’analisi compiuta fino ad ora sui sistemibasati su distribuzioni esponenziali in quanto il processo corrispondente ad untale 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 diservizio siano indipendenti, identicamente distribuiti, supponendo che non ci siaalcuna assunzione sulla distribuzione di probabilita di tali tempi di servizio tsi .Osserviamo innanzitutto che la proprieta PASTA vista nel paragrafo 1.5.1 validaper ogni sistema con arrivi poissoniani, ovviamente, continua a valere anche nelcaso che stiamo esaminando.Passiamo ora allo studio analitico dei sistemi M/G/1. Esistono diversi metodi dianalisi; utilizzeremo, nel seguito, quello basato sui tempi residui del servizio. As-sumeremo solamente di conoscere la media 1/µ e la varianza σ2 della distribuzionedei tempi di servizio.Nonostante non sia stata fatta alcuna assunzione sulla distribuzione dei tempi diservizio, esiste un risultato generale che fornisce il valore per il tempo medio diattesa 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 83: dispensa unica SSS

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 mediae 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-esimoutente quando arriva (ovvero, se un utente j sta usufruendo del servizio quandoarriva l’utente i arriva, Ri e il tempo necessario affinche sia completato il serviziosull’utente j). Indichiamo, inoltre, con nq

i il numero degli utenti trovati nellacoda 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) +

E(nqi ). (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 quantitaviste 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 ottieneT 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 84: dispensa unica SSS

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. Effettueremoquesto calcolo con l’ausilio di un grafico. Riportiamo, infatti, in Figura 1.6.1 ilgrafico del tempo residuo del servizio R(τ) in funzione del tempo τ , ovvero iltempo che rimane per il completamento del servizio del cliente che sta usufru-endo del servizio al tempo τ , assumendo R(0) = 0. Ovviamente, quando unnuovo 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]. Lamedia temporale di R(τ) nell’intervallo [0, t] e data da

1t

∫ 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 daD(t)∑

i=1

12(tsi )

2. Risulta quindi

1t

∫ t

0R(τ)dτ =

1t

D(t)∑

i=1

12(tsi )

2. (1.6.6)

Page 85: dispensa unica SSS

SISTEMI A CODA CON DISTRIBUZIONI NON ESPONENZIALI 79

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

1t

∫ t

0R(τ)dτ =

12

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) siha

limt→∞

1t

∫ t

0R(τ)dτ =

12

limt→∞

D(t)t

limt→∞

D(t)∑

i=1

(tsi )2

D(t). (1.6.8)

Ora, poiche per t sufficientemente grande vale l’uguaglianza tra media temporalee valore atteso, si ha

limt→∞

1t

∫ t

0R(τ)dτ = lim

i→∞E(Ri) = R,

ed inoltrelimt→∞

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 =12λ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 rimanevalida 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 concui si accede al servizio dipende dal tempo si servizio.

Una volta determinato il valore di T q dalla formula di Pollaczek–Kintchine, sipossono 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− ρ)+

.

Page 86: dispensa unica SSS

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 dellaformula di Pollaczek–Kintchine fornisce per T q il valore T q = λ/[µ(µ − λ)] chenaturalmente coincide con l’espressione di T q gia determinata nel caso di sistemaM/M/1.

Osservazione 1.6.3 Osservando l’espressione di T q, N q ed N si vede che aparita di λ e µ, queste grandezze aumentano all’aumentare della varianza deltempo di servizio σ2. Da questo punto di vista, la situazione ideale (ovveroquella che minimizza queste grandezze) si otterrebbe con σ2 = 0 che si ha contempi di servizio costanti, ovvero per sistemi di tipo M/D/1. Si tenga presenteche, a parita di valore atteso, si puo intervenire sui tempi di servizio per renderlipiu regolari possibile (ovvero rendendo la varianza piccola). Questo e moltoimportante perche mostra che la “regolarita” del servizio assume una grandeimportanza da questo punto di vista, e che quindi non e sufficiente considerarela 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/scon s > 1.Nel seguito esaminiamo due casi particolari importanti: i sistemi M/D/s e isistemi M/Ek/s.

Sistemi M/D/s

I sistemi di code M/D/s assumono tempi di servizio costanti; essi forniscono unSistemiM/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 diprestazione si ottengono dal caso generale di sistemi M/G/1 ponendo σ2 = 0. Inparticolare, si avra:

T q =12

λ

µ(µ− λ)

N q =12

ρ2

1− ρ

N =ρ2

2(1− ρ)+ ρ

T =λ/µ2

2(1− ρ)+

.

Soffermandoci ad osservare i valori di T q e di N q si vede che essi risultano pariesattamente alla meta dei valori corrispondenti per un sistema di code M/M/1

Page 87: dispensa unica SSS

SISTEMI A CODA CON DISTRIBUZIONI NON ESPONENZIALI 81

(dove σ2 = 1/µ2). Questo evidenzia il fatto che una diminuzione di σ2 porta adun 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, incondizioni di stazionarieta, ma esso esula dallo scopo di queste note perche moltotecnico e particolare. Esistono anche in questo caso risultati tabulati e graficidell’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 SistemiM/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 distribuitiesponenzialmente con una variazione che puo essere anche molto grande (σ =1/µ). Tra questi due casi estremi si colloca una distribuzione importante per laquale risulta 0 < σ < 1/µ e che rappresenta bene i tempi di servizio in moltesituazioni reali: si tratta della distribuzione di Erlang (Ek) di parametri k e µ amedia 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 deviazionestandard σ 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” deitempi 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 opportunesi riesce ad approssimare bene un tempo di servizio reale ed inoltre perk = 1 si ottiene la distribuzione esponenziale e per k → ∞ essa tende alladistribuzione degenere (σ → 0);

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

variabili indipendenti, identicamente distribuite esponenzialmente ciascunacon media 1/(kµ), ha distribuzione di Erlang Ek. Quindi se un servizio sicompone di k operazioni successive a ciascuna delle quali e associato untempo di servizio distribuito esponenzialmente con media 1/(kµ), allora iltempo di servizio complessivo segue la distribuzione di Erlang Ek.

Per quanto riguarda il caso singolo servente (s = 1) dalle formule generali perun sistema M/G/1 si ottengono i valori delle misure di prestazione per sistemiM/Ek/1 ponendo σ2 = 1/(kµ2), ovvero

T q =1 + k

2k

λ

µ(µ− λ)

Page 88: dispensa unica SSS

82 TEORIA DELLE CODE

N q =1 + k

2k

λ2

µ(µ− λ)

T = T q +1µ

=1 + k

2k

λ

µ(µ− λ)+

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 riguardai tempi di servizio, anche il processo degli arrivi potrebbe non essere casuale,ma essere programmato in una qualche forma. Possiamo pertanto consideraremodelli 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 ancorapiu generali come Em/Ek/s, Ek/D/s, D/Ek/s.La trattazione di questi modelli esula dallo scopo di queste note e pertanto essinon verranno trattati.

Page 89: dispensa unica SSS

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 ladisciplina della coda e basata su criteri di priorita, ovvero l’ordine rispetto al qualegli 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 sianopoissoniani 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 classedi priorita, mentre la frequenza media degli arrivi puo differire a seconda delleclassi 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 codaavviene scegliendo un utente nella classe di priorita piu alta e, all’interno dellaclasse, con il criterio FIFO.Esistono due tipologie di questi sistemi di code:

• sistemi con priorita con interruzione del servizio (priorita con diritto diprelazione),

• sistemi con priorita senza interruzione del servizio (priorita senza diritto diprelazione).

Nel caso di sistemi con interruzione del servizio puo accadere che ad un utente Prioritainterrut-tiva

sia interrotto il servizio (facendolo ritornare in coda) per l’arrivo nel sistema diun’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 servizioal nuovo utente con priorita piu elevata. Al termine del servizio, verra effettuataun’altra selezione dalla coda. Se l’utente prescelto e uno di quelli ai quali erastato precedentemente interrotto il servizio, ci sono due possibilita: viene ese-guita soltanto la parte mancante per il completamento del servizio (preemptiveresume systems), oppure il servizio deve ricominciare dall’inizio (preemptive re-peat systems). Poiche il tempo di servizio e distribuito esponenzialmente, da unpunto di vista probabilistico, non e rilevante che il servizio interrotto riprenda dalpunto in cui era cessato oppure dall’inizio per la proprieta di assenza di memoriadella distribuzione esponenziale.

Nel caso di sistemi con priorita senza interruzione del servizio il servizio non puo Prioritanon inter-ruttiva

essere interrotto, ma deve essere portato a termine.Per entrambi i modelli la distinzione tra i clienti in differenti classi non influenzala distribuzione degli arrivi di tutti gli utenti, ovvero degli arrivi aggregati senza

Page 90: dispensa unica SSS

84 TEORIA DELLE CODE

tenere conto delle classi; infatti, per la Proposizione 1.3.6, un processo risultantedall’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/sfatta eccezione per l’ordine in cui vengono serviti gli utenti, e quindi continuanoa 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 codase 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 disciplinadella coda basata su criteri di priorita, questa distribuzione ha una varianza piugrande perche i tempi di attesa degli utenti in classi di priorita alta tendono adessere piu brevi di quelli con una disciplina di tipo FIFO, mentre quelli degliutenti 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 partecomposto da utenti delle classi di priorita piu basse, in accordo con lo spiritodei sistemi di code con priorita, ovvero con l’intento di migliorare le misure diprestazione 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 prestazionerelative ad ogni classe; faremo cio inserendo un pedice alle notazioni gia adottateper indicarne la classe di riferimento; quindi Tk indichera il valore atteso deltempo passato nel sistema dagli utenti della k-esima classe di priorita e notazionianaloghe si adotteranno per Nk, T q

k e N qk .

Consideriamo un sistema con s serventi supponendo che velocita media di serviziosia pari a µ indipendente dalla classe di priorita, mentre per quanto riguarda ilprocesso degli arrivi, indicheremo con λi, i = 1, . . . , nc, la frequenza media diarrivo per gli utenti della classe i-esima. Per la Proposizione 1.3.6 dei processidi Poisson, aggregando i vari processi di arrivo, ovvero non distinguendo tra leclassi 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 possaraggiungere 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 dellacoda 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 91: dispensa unica SSS

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 =

1abk−1bk

, k = 1, . . . , nc,

dove

a = s!sµ− λ(

λ

µ

)s

s−1∑

j=0

1j!

µ

)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 +

Nk = λkTk.

Sistemi con priorita con interruzione del servizio

Consideriamo ora un sistema in cui si prevede l’interruzione di un servizio perl’arrivo di un utente con priorita piu alta di quella dell’utente che sta usufruendodel servizio.

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

Tk =

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 proceduraiterativa che illustriamo di seguito. Tale procedura e basata sul fatto che i tempidi permanenza nel sistema per gli utenti di una certa classe di priorita non sonoinfluenzati dalla presenza di utenti nelle classi di priorita piu basse. Quindi ilvalore 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 valoreT corrispondente ad una sola classe per un sistema M/M/s con λ = λ1 e quindisi puo calcolare facilmente. Calcolato T1, si prendono in considerazione le primedue classi di priorita, la prima e la seconda. Anche in questo caso i tempi dipermanenza nel sistema dei clienti di queste due classi non sono influenzati dagli

Page 92: dispensa unica SSS

86 TEORIA DELLE CODE

utenti nelle classi inferiori che quindi possono essere ignorati. Sia T1,2 il valoreatteso del tempo di permanenza nel sistema per gli utenti che arrivano e cheappartengono alle due classi che stiamo considerando; la probabilita che essiappartengano alla prima classe e p1 = λ1/(λ1 + λ2), mentre la probabilita cheappartengano 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 indicacon T1,3 il valore atteso del tempo di permanenza del sistema per gli utenti delleprime tre classi di priorita; la probabilita che essi appartengano rispettivamentealla 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, perk = 1, 2, . . . , nc.

In entrambi i casi (singolo e multiservente) una volta determinata T k, per ognik = 1, , . . . nc si ricavano.

Nk = λkTk

T qk = Tk − 1

µ

N qk = λkT

qk .

Page 93: dispensa unica SSS

RETI DI CODE 87

1.8 RETI DI CODE

1.8.1 Generalita

La trattazione della teoria delle code effettuata fino ad ora ha sempre consideratosingoli sistemi a coda. Tuttavia, molto spesso i sistemi reali si possono presentaresotto forma di piu sistemi a coda connessi fra di loro e si parla quindi di reti dicode.

Le reti di code cono state utilizzate con successo nella modellizzazione di moltisistemi reali: reti di telecomunicazioni, sistemi di calcolo, sistemi manufatturierie molti altri.

Una rete di code puo essere descritta come un grafo orientato composto da uncerto numero di nodi (m) ciascuno dei quali rappresenta un sistema a coda egli archi rappresentano le rotte seguite dagli utenti da un sistema all’altro. Ingenerale, si puo pensare che ad una rete di code arrivino utenti dall’esterno inciascun nodo della rete, cosı come da ciascun nodo un utente puo lasciare la rete.Ovvero, un utente entra nella rete in un certo nodo, attraversa alcuni nodi dellarete e poi presso un nodo lascia la rete. Puo anche accadere che gli utenti possanoritornare presso nodi gia visitati.

E facile immaginare che lo studio di una rete e in generale e molto piu complicatodello studio di un singolo sistema a coda perche ovviamente si deve tenere contodi ogni sistema a coda componente la rete per analizzare il flusso totale degliutenti.

Le reti di code si dividono in

• reti aperte in cui sono possibili ingressi di utenti alla rete dall’esterno euscite degli utenti dalla rete verso l’esterno;

• reti chiuse in cui il numero degli utenti all’interno della rete e fissato e gliutenti circolano all’interno della rete senza che ci sia possibilita di ingressidall’esterno o uscite verso l’esterno.

Per caratterizzare completamente una rete di code devono essere assegnati:

• la topologia della rete

• le distribuzioni di probabilita dei tempi di interarrivo degli utenti presso inodi che prevedono ingresso di utenti

• le distribuzioni di probabilita dei tempi di servizio presso ciascun nodocostituente la rete

• le regole di istradamento.

Lo stato n della rete e definito dal vettore n = (n1, . . . , nm), dove le ni, i =1, . . . , m rappresentano il numero di utenti del sistema i−esimo.

Page 94: dispensa unica SSS

88 TEORIA DELLE CODE

Fig. 1.8.1 Esempio di rete aperta

1.8.2 Il processo delle partenze per i sistemi M/M/s

Preliminare allo studio delle reti di code c’e l’analisi del processo delle partenze(uscite) dal sistema degli utenti che hanno usufruito del servizio. E molto impor-tante conoscere le caratteristiche di questo processo per studiare le reti di codein quanto il processo delle partenze da un sistema coincide con il processo degliarrivi nel sistema successivo. Riportiamo un risultato che vale per sistemi M/M/sTeorema di

Burke noto come Teorema di Burke.

Teorema 1.8.1 Si consideri un sistema M/M/s con s ≥ 1 (incluso s = ∞)con frequenza media di arrivo pari a λ in condizioni di stazionarieta. Allora

i) il processo della partenze dal sistema e un processo di Poisson diparametro λ;

ii) ad ogni istante di tempo t, il numero di utenti presenti nel sistema eindipendente dalla sequenza dei tempi di partenza prima di t.

Page 95: dispensa unica SSS

RETI DI CODE 89

Fig. 1.8.2 Esempio di rete chiusa

Quindi in un sistema a coda con arrivi poissoniani e tempi di servizio distribuitiesponenzialmente, anche il processo delle partenze dal sistema e un processo diPoisson, ovvero il processo delle partenze ha le stesse caratteristiche del processodegli arrivi, nonostante il servizio che e avenuto e il relativo tempo. Si osserviinoltre che questo risultato e indipendente anche dalla disciplina della coda.L’utilita di questo risultato all’interno della teoria delle code e evidente: se gliutenti che escono dal un sistema M/M/s entrano in un altro sistema a coda, gliarrivi a questo secondo sistema saranno ancora poissoniani. Quindi, assumendoche i tempi di servizio del secondo sistema siano distribuiti esponenzialmente,il sistema a coda del secondo nodo si comporta come un sistema M/M/s e puoessere studiato indipendentemente dal primo nodo. Quindi in virtu del teorema diBurke, possiamo collegare in una rete sistemi a coda M/M/s e, purche non ci sianocicli, ovvero purche gli utenti non possano rivisitare nodi gia precedentemente reti feed-

forwardvisitati (reti feedforward), si puo analizzare la rete decomponendola nodo a nodo.L’assenza di cicli e necessaria altrimenti si potrebbe perdere la natura poissonianadei flussi in ingresso ai nodi. La dimostrazione di questo teorema si basa su unaproprieta detta reversibilita dei processi di nascita e morte che permette di vederei processi delle partenze corrispondenti agli arrivi del processo invertito.Senza entrare nel dettaglio, notiamo solamente che oltre le equazioni di bilancioglobale date dalle (1.4.6) e (1.4.7), nei processi di nascita e morte, si possono anche

Page 96: dispensa unica SSS

90 TEORIA DELLE CODE

λ n

n

µ1+n

1+n1−n

µn

λ 1−n

t2t1

Fig. 1.8.3 Diagramma degli stati

considerare le seguenti equazioni di bilancio del flusso tra due stati adiacenti(dette equazioni di bilancio dettagliato). Si considerino i due tagli t1 e t2 inFigura 1.8.3. Relativamente al flusso che attraversa il taglio t1 si ha

λn−1pn−1 = µnpn, (1.8.1)

mentre relativamente al taglio t2 si deve avere

λnpn = µn+1pn+1.

Ovviamente, sottraendo membro a membro queste due equazioni si ottengono leequazioni di bilancio globale (1.4.6). Queste due equazioni di bilancio del flussoora ottenute tra stati adiacenti mettono in evidenza la proprieta dei processi dinascita e morte che va sotto in nome di reversibilita che e alla base del Teoremadi Burke.

1.8.3 Serie di code

La piu semplice rete di code che si puo costruire consiste nell’avere un numerofissato (m) di sistemi a coda in serie, in cui non ci siano limiti sulla capacita dellacoda di ogni singolo sistema componente la rete.Questa situazione si verifica nella pratica, ad esempio, nei sistemi manufatturi-eri (linee di assemblaggio in cui i prodotti devono passare attraverso una seriedi stazioni di lavoro); nei sistemi ospedalieri dove un paziente puo essere sotto-posto, in sequenza, ad un certo numero di accertamenti; nelle procedure di tipoamministrativo che prevedono piu fasi successive (registrazione, pagamento, ri-tiro documenti, ...). Assumiamo che al primo sistema arrivino utenti secondo unprocesso di Poisson di parametro λ e che in ciascun sistema componente ci sianosi serventi, i = 1, . . . , m, ciascuno operante con tempi di servizio distribuiti espo-nenzialmente con parametro µi con λ < siµi per ogni i = 1, . . . ,m. Si assume

Page 97: dispensa unica SSS

RETI DI CODE 91

Fig. 1.8.4 Esempio di serie di code

inoltre che tali tempi di servizio siano indipendenti. In condizioni stazionarie, peril Teorema di Burke, ciascuno dei sistemi ha arrivi poissoniani con parametro λ

e quindi i sistemi possono essere analizzati come tanti sistemi M/M/si isolati. Ilcaso piu semplice corrisponde ad avere due sistemi in serie (sistema tandem) consingolo servente. In questo caso e molto semplice dimostrare che la probabilitacongiunta che n1 utenti sono nel primo sistema e n2 utenti nel secondo sistema edata dal prodotto delle singole probabilita, ovvero

P (n1, n2) = pn1pn2 = ρn11 (1− ρ1) ρn2

2 (1− ρ2),

con ρ1 = λ/µ1 < 1 e ρ2 = λ/µ2 < 1.Infatti, per la prima parte del Teorema di Burke il processo delle partenze dalsecondo sistema e di Poisson e per l’indipendenza dei tempi di servizio il secondosistema puo essere visto come un singolo sistema M/M/1, e quindi si ha

pn1 = ρn11 (1− ρ1), pn2 = ρn2

2 (1− ρ2).

Per la seconda parte del Teorema di Burke, in un qualsiasi istante t il numerodegli utenti presenti nel primo sistema e indipendente dalla sequenza degli arrivial secondo sistema prima di t e quindi anche dal numero degli utenti nel secondosistema. Quindi si ha

P (n1, n2) = ρn11 (1− ρ1) ρn2

2 (1− ρ2).

Questo si estende ad una serie di un numero finito di sistemi a coda in serie.Quindi la probabilita congiunta che una rete costituita da m sistemi a coda inserie sia allo stato n = (n1, . . . , nm) si puo scrivere nella forma

P (n) = P (n1, n2, . . . , nm) = pn1pn2 · · · pnm = ρn11 (1−ρ1)ρn2

2 (1−ρ2) · · · ρnmm (1−ρm),

dove ρj = λ/µj < 1, j = 1, . . . , m. Questa rappresenta la cosiddetta soluzione informa prodotto.Il tempo medio totale di permanenza nell’intero sistema, ovvero nella rete, e ilnumero medio di utenti presenti nella rete si possono calcolare semplicementesommando le corrispondenti quantita calcolate in riferimento ai singoli sistemi.Si osservi che le considerazioni fino ad ora riportate non valgono se la capacitadei singoli sistemi a coda componenti la rete fosse finita.

Page 98: dispensa unica SSS

92 TEORIA DELLE CODE

Esempio 1.8.1 Supponiamo di avere un sistema formato da due stazioni di lavoro monoserventiin serie: la prima e una stazione di lavorazione, la seconda una stazione di collaudo. I pezziarrivano alla prima stazione secondo un processo di Poisson di parametro λ = 10. I tempi diservizio dei serventi sono distribuiti esponenzialmente con µ1 = 12 e µ2 = 15.Per quanto esposto, gli arrivi alla seconda stazione sono poissoniani di parametro λ = 10 el’analisi puo essere condotta studiando singolarmente i due sistemi M/M/1. Poiche risulta

ρ1 =5

6< 1 ρ2 =

2

3< 1

esiste una distribuzione stazionaria della rete. Analizzando i due sistemi singolarmente si ha

T1 =1

µ1 − λ=

1

2ora, T2 =

1

µ2 − λ=

1

5ora

eN1 = λT1 = 5 pezzi, N2 = λT2 = 2 pezzi.

Per quanto riguarda la rete si ha N = N1 + N2 = 7 pezzi e T = T1 + T2 = 7/10 ora, ovvero 42minuti.

Page 99: dispensa unica SSS

RETI DI CODE 93

1.8.4 Reti di Jackson aperte

Una tipologia di reti di code molto studiate e che continua a prevedere l’utilizzodel modello M/M/s sono le cosiddette reti di Jackson aperte. A differenza deisistemi a coda in serie, gli utenti visitano i nodi in un ordine qualsiasi e in ogni Rete di

Jacksonnodo ci possono essere utenti che arrivano sia dall’esterno sia da altri nodi. For-malmente si ha la seguente definizione.

Definizione 1.8.2 Una rete di code aperta si dice rete di Jackson aperta se

i) gli arrivi dall’esterno della rete ad un nodo i della rete (i = 1, . . . , m)sono poissoniani di parametro γi, con γi > 0 per almeno un i;

ii) i tempi di servizio di ciascun servente degli si serventi presenti ad ogninodo i sono indipendenti e distribuiti esponenzialmente di parametro µi;

iii) le probabilita che un utente che ha completato il servizio al nodo i si rechipresso il successivo nodo j (i, j = 1, . . . , n) (probabilita di routing) e paria pij ed e indipendente dallo stato del sistema.

Assumeremo, inoltre, che i sistemi a coda componenti la rete siano a capacitaillimitata (ovvero coda infinita). Naturalmente puo accadere che γi = 0 perqualche i, ovvero che non ci siano arrivi dall’esterno al nodo i−esimo, ma sirichiede che γi > 0 per almeno un i.Dopo che un utente viene servito presso il nodo i, esso puo procedere verso unnodo j con probabilita pij o puo uscire dalla rete con probabilita 1−∑m

j=1 pij . Leprobabilita pij possono essere schematizzate in una matrice quadrata di ordinem

P =

p11 p12 · · · p1m...

......

...pm1 pm2 · · · pmm

che viene chiamata matrice di routing.

E chiaro che la frequenza media effettiva degli arrivi degli utenti presso un nodosi ottiene sommando gli arrivi dall’esterno del sistema (che sono poissoniani diparametro γi) e gli arrivi dai nodi interni alle rete (che non sono necessariamentepoissoniani). Ovvero, se indichiamo con λj la frequenza media effettiva degliarrivi al nodo j si ha che essa e data da

Page 100: dispensa unica SSS

94 TEORIA DELLE CODE

λj = γj +m∑

i=1

λipij j = 1, . . . , m. (1.8.2)

Questo perche λipij rappresenta il contributo agli arrivi nel nodo j da parte delnodo i. Poiche le γi sono assegnate, come anche le pij , la (1.8.2) rappresentaun sistema lineare di m equazioni in m incognite (le λj) che quindi ammettesoluzione (unica) se la matrice dei coefficienti e non singolare. Definendo i vettoriΛ = (λ1, . . . , λm)T e Γ = (γ1, . . . , γm)T , la (1.8.2) puo essere scritta in formavettoriale

Λ = Γ + P T Λ,

ovvero, nell’ipotesi che la matrice (I−P T ) sia invertibile, Λ = (I−P T )−1Γ, doveP e la matrice di routing e I e l’identita m×m.

Si osservi che l’espressione (1.8.2) per la determinazione della frequenza effettivavale per una generica rete di code aperta, non solamente per reti di Jackson.

Anche per le reti di Jackson aperte e stato dimostrato che, analogamente al casodelle reti in serie, la probabilita congiunta dello stato n e data dalla produttoriadelle probabilita di stato dei singoli sistemi (probabilita marginali). Questo si-gnifica che si continua ad avere la soluzione in forma prodotto anche per reti chenon sono feedforward come invece era richiesto per l’applicazione del Teoremadi Burke. Riportiamo ora in dettaglio questo risultato che va sotto il nome diTeorema di Jackson.

Caso monoserevente

Supporremo inizialmente che i singoli sistemi a coda componenti la rete sianomonoserventi (si = 1, i = 1, . . . , m) e che il fattore di utilizzazione del serventesia dato da ρj = λj/µj dove λj e la soluzione del sistema (1.8.2), supponendo cheTeorema di

Jackson ρj < 1, j = 1, . . . , m.

Teorema 1.8.2 – Teorema di Jackson. Sia data una rete aperta diJackson composta da m nodi ciascuno dei quali e a singolo servente. Al-lora la distribuzione di probabilita congiunta che la rete di trovi allo staton = (n1, . . . , nm) si fattorizza nel prodotto delle distribuzioni di probabulitamarginali, ovvero

P (n) = P (n1, . . . , nm) = pn1pn2 · · · pnm (1.8.3)

dovepnj = ρ

nj

j (1− ρj).

Page 101: dispensa unica SSS

RETI DI CODE 95

Dimostrazione: Consideriamo inizialmente il solo nodo j−esimo della rete, sup-ponendo che negli altri nodi non avvenga alcuna transizione di stato. Relati-vamente a questo nodo l’equazione di bilancio (1.8.1) nel passaggio dallo statonj − 1 allo stato nj oppure dallo stato nj allo stato nj−1, si puo riscrivere

λnjpnj−1 = µnjpnj . (1.8.4)

Ma sia λnj , sia µnj sono costanti e non dipendono dallo stato nj , pertanto la(1.8.4) si puo riscrivere

λjpnj−1 = µjpnj . (1.8.5)

Avendo assunto che negli altri nodi diversi dal j−esimo non ci sono transizionidi stato, la (1.8.5) si puo riscrivere

λjP (n1, . . . , nj − 1, . . . , nm) = µjP (n1, . . . , nj , . . . , nm).

ovveroP (n1, . . . , nj , . . . , nm) = ρjP (n1, . . . , nj − 1, . . . , nm).

Applicando nj volte questa relazione si ottiene

P (n1, . . . , nj , . . . , nm) = ρnj

j P (n1, . . . , nj−1, 0, nj+1, . . . , nm).

Ripetendo il procedimento per ogni j = 1, . . . , m si ha

P (n1, . . . , nm) =m∏

j=1

ρnj

j P (0, . . . , 0). (1.8.6)

Rimane da calcolare il valore di P (0, . . . , 0) che e la probabilita che tutti i nodisiano allo stato zero, ovvero senza alcun utente presente. Per ottenere tale valoree sufficiente sommare tutte le probablita di stato P (n1, . . . , nm) date dalla (1.8.6)e imporre che si ottenga 1, ovvero

∞∑

n1=0

∞∑

n2=0

· · ·∞∑

nm=0

m∏

j=1

ρnj

j P (0, . . . , 0) = 1

da cui, nell’ipotesi che le serie presenti convergano (ρj < 1, j = 1, . . .m), si ha

P (0, . . . , 0) =1

∞∑

n1=0

∞∑

n2=0

· · ·∞∑

nm=0

m∏

j=1

ρnj

j

=1

∞∑

n1=0

ρn11

∞∑

n2=0

ρn22 · · ·

∞∑

nm=0

ρnmm

=1

11− ρ1

11− ρ2

· · · 11− ρm

= (1− ρ1)(1− ρ2) · · · (1− ρm).

Page 102: dispensa unica SSS

96 TEORIA DELLE CODE

Il Teorema di Jackson fornisce la soluzione in forma prodotto in quanto la proba-bilita che la rete si trovi allo stato n = (n1, . . . , nm) risulta pari al prodotto delleproabilita che i singoli nodi si trovino rispettivamente negli stati nj indipenden-temente dagli altri nodi.In virtu di questo teorema la rete puo essere analizzata scomponendola in m

sistemi a coda M/M/1 indipendenti, ovvero la rete si comporta come se ciascunnodo fosse un nodo isolato indipendente M/M/1 con frequenza media di arrivoλj e tempi medi di servizio pari a µj , in quanto le pnj nella (1.8.3) sono propriole probabilita che nj utenti sono presenti nel nodo j−esimo considerato comesistema M/M/1. Si ribadisce che questo risultato e vero nonstante il fatto che ilflusso entrante ad un generico nodo j−esimo non e necessariamente poissoninanodi paramero λj .La condizione sotto la quale una rete di code ammette distribuzione stazionariae che la “capacita del servizio” di ogni singolo nodo sia strettamente maggioredella frequenza media effettiva degli arrivi, ovvero ρj = λj/µj < 1, j = 1, . . . , m.

Quindi, in virtu del Teorema di Jackson, per studiare una rete di code apertadi Jackson nel caso monoservente e sufficiente determinare le frequenze medieeffettive degli arrivi a ciascun nodo j date da λj e analizzare indipendente ognisingolo nodo. Quindi si verifica che risulti ρj = λj/µj < 1 e si determinanole misure di prestazione ad ogni singolo nodo. Queste verranno poi aggregateopportunamente per avere indicazioni sulla rete. Quindi per ottenere il numeromedio di utenti nella rete N , si sommano tutti i valori Nj di ogni singolo nodo,ovvero

N =m∑

j=1

Nj ,

dove Nj = λj/(µj − λj) e il numero medio di utenti nel nodo j−esimo. Perdeterminare il tempo medio di permanenza nella rete si usa il Teorema di Littlee quindi

T =N

λ, dove λ =

m∑

i=1

γi.

Se inoltre volessimo determinare il tempo medio di permanenza in un nodo j, sideve porre attenzione al fatto che esso, in generale, non e pari a Tj = 1/(µj−λj),Questo perche le Tj rappresentano il tempo medio di permanenza nel nodo j

ogni volta che l’utente viene processato nel nodo j−esimo e quindi coincide conil valore che stiamo cercando solo se l’utente visita il nodo j una sola volta,altrimenti andra moltiplicato per il valore atteso del numero delle visite di unVisit countutente al nodo j (visit count) che indichiamo con νj . Il calcolo di tale numeroe molto semplice: si consideri, infatti, il rapporto γj/

∑mi=1 γi = γj/λ che e la

frazione di utenti che, proveniendo dall’esterno, visitano come primo nodo il nodo

Page 103: dispensa unica SSS

RETI DI CODE 97

j−esimo e quindi rappresenta la probabilita che la prima visita di un utente siaal nodo j−esimo. Inoltre una frazione pij di utenti visitano il nodo j−esimoproveniendo dal nodo i−esimo. Quindi si ha

νj =γj

λ+

m∑

i=1

pijνi

che ammette come soluzione (confrontare la (1.8.2))

νj =λj

λ. (1.8.7)

Note le µj , j = 1, . . . ,m, alternativamente si puo calcolare T nella forma7

T =m∑

j=1

νjTj .

Esempio 1.8.3 Si consideri una semplice rete di code formata da due nodi: il primo nodo euna stazione di lavorazione, il secondo e una stazione di ispezione–collaudo. I pezzi arrivanodall’esterno alla stazione 1 secondo un processo di Poisson con media 10 pezzi l’ora e succes-sivamente alla lavorazione nella stazione 1 procedono nella stazione 2 per il controllo. Dallastazione 2 si ha che il 10% dei pezzi collaudati risultano difettosi e tornano alla stazione 1 peressere lavorati di nuovo. Le due stazioni sono monoserventi con tempi di servizio distributi espo-nenzialmente rispettivamente con media 12 pezzi l’ora e 15 pezzi l’ora. Determinare il numeromedio di utenti presenti nella rete e il tempo medio di permanenza.

Fig. 1.8.5 Rete dell’Esempio 1.8.3

Calcoliamo innanzitutto le frequenze medie effettive (λ1 e λ2). Dalla (1.8.2) si ha il seguentesistema {

λ1 = 10 + 0.1λ2

λ2 = λ1

dal quale si ricavaλ1 = λ2 = 11.111.

Le condizioni per l’esistenza della distribuzione stazionaria sono ovviamente verificate in quantorisulta ρ1 = λ1/µ1 < 1 e ρ2 = λ2/µ2 < 1. Si ricavano

N1 =ρ1

1− ρ1= 12.5, N2 =

ρ2

1− ρ2= 2.85, N = N1 + N2 = 15.35 pezzi,

7Nell’ambito dei sistemi manufatturieri i nodi di una rete di code vengono, di solito chiamati “stazioni”e T viene chiamato “throughput time”.

Page 104: dispensa unica SSS

98 TEORIA DELLE CODE

da cui T = N/λ = 1.535 ore.Per quanto riguarda il valore atteso del numero delle visite risulta

ν1 =λ1

λ= 1.111, ν2 =

λ2

λ= 1.111.

Si ha inoltre

T1 =1

µ1 − λ1= 1.125 ore, T2 =

1

µ2 − λ2= 0.257 ore,

e quidi alternativamente si puo calcolare

T = 1.111 · 1.125 + 1.111 · 0.257 = 1.535 ore.

Esercizio 1.8.4 Si consideri una rete di Jackson aperta composta da 3 stazioni. Alla stazione 1arrivano utenti dall’esterno della rete con frequenza media di arrivo pari a 1 utente l’ora (arrivipoissoniani). Dalla stazione 1 gli utenti con probabilita 1/3 si recano alla stazione 2 e conprobabilita 2/3 raggiungono la stazione 3. Dalla stazione 2 gli utenti tornano all’ingresso dellastessa stazione 2 con probabilita 1/2 oppure escono all’esterno della rete. Dalla stazione 3 gliutenti escono all’esterno dalla rete oppure con probabilita 1/3 tornano alla stazione 1. Le stazioni2 e 3 sono identiche e sono monoserventi con tempi di servizio distribuiti esponenzialmente conµ2 = µ3 = 3/2 utenti l’ora. La stazione 1 e monoservente con tempi di servizio distribuitiesponenzialmente con µ1 = 2 utenti l’ora. Verificare se esiste la distribuzione stazionaria e incaso affermativo calcolare il numero medio di utenti presenti nella rete e il tempo medio dipermanenza.

Caso multiservente

Il Teorema di Jackson enunciato per reti di code costituite da sistemi con singoloservente si estende anche al caso in cui ogni nodo della rete puo avere piu di unservente. Supponiamo, quindi, che sj ≥ 1 sia il numero dei serventi per ciascunnodo j = 1, . . . ,m, ed inoltre assumiamo che ρj = λj/(sjµj) < 1. Allora vale ilseguente risultato.

Teorema 1.8.3 – Tereoma di Jackson. La distribuzione di probabilita con-giunta che la rete si trovi allo stato n = (n1, . . . , nm) si fattorizza nel prodottodi tutte le distribuzioni marginali, ovvero

P (n) = P (n1, . . . , nm) = pn1pn2 · · · pnm ,

dove

pnj =

1nj !

(λj

µj

)nj

p0j , per nj < sj

1s!snj−sj

(λj

µj

)nj

p0j , per nj ≥ sj

Di questo teorema non forniamo per brevita la dimostrazione.

Page 105: dispensa unica SSS

RETI DI CODE 99

Questo teorema afferma che, in maniera del tutto analoga al caso monoservente,la probabilita congiunta si fattorizza nelle probabilita di avere nj utenti nel nodoj−esimo considerato singolarmente come sistema M/M/sj con frequenza mediadegli arrivi pari alla frequenza effettiva λj e tempo medio di servizio µj e questoindipendentemente dagli altri nodi della rete.Come nel caso monoservente, le misure di prestazione di interesse possono esserecalcolate aggregando i valori ottenuti nei singoli nodi.

Esempio 1.8.5 [Gross, Harris, 1998] Si consideri un call center al quale arrivano chiamatesecondo la distribuzione di Poisson con media 35 l’ora. Alle chiamate che arrivano il gestorefornisce due opzioni: digitare il tasto 1 per il servizio reclami, oppure digitare 2 per il servizioinformazioni. Si stima che il tempo di ascolto del messsaggio e della pressione del tasto siaesponenziale con media 30 secondi. Le chiamate che trovassero occupato vengono poste inattesa con l’assunzione che nessun utente si scoraggia per l’attesa e quindi aspetta comunquedi usufruire del servizio. Il 55% delle chiamate chiedono di accedere al servizio reclami e lerimanenti chiedono di accedere al servizio informazioni. Il nodo del processo dei reclami ha 3serventi (operanti in parallelo) che operano con tempi di servizio distribuiti esponenzialmentecon media 6 minuti. Il nodo del processo delle informazioni ha 7 serventi (operanti in parallelo)che operano con tempi di servizio distribuiti esponenzialmente con media 20 minuti. I bufferdi attesa si assumono illimitati. Inoltre circa il 2% dei clienti che hanno usufruito del servizioreclami decidono di usufruire anche del servizio informazioni e l’1% dei clienti che hanno usufruitodel servizio informazioni chiedono anche di usufruire del servizio reclami. Si vuole determinarela lunghezza media della coda in ciascun nodo e il tempo medio totale che un cliente passa nellain linea con il call center.

Fig. 1.8.6 Rete dell’Esempio 1.8.5

Risulta s1 = 1, s2 = 3, s3 = 7 e µ1 = 120, µ2 = 10, µ3 = 3. Inoltre si ha γ1 = 35 e γ2 = γ3 = 0.La matrice di routing e (

0 0.55 0.450 0 0.020 0.01 0

)

Page 106: dispensa unica SSS

100 TEORIA DELLE CODE

Calcoliamo la frequenza effettiva utilizzando il sistema (1.8.2):

{λ1 = 35λ2 = 35 · 0.55 + λ3 · 0.01λ3 = 35 · 0.45 + λ2 · 0.02

dal quale si ricavanoλ1 = 35, λ2 = 19, 411, λ3 = 16.138.

Si verifica immediatamente che risulta ρj = λj/(sjµj) < 1 per j = 1, 2, 3 e quindi esiste unadistribuzione stazionaria per la rete in esame. A questo punto e sufficiente ricavare

• per il primo sistema, dal modello M/M/1 con λ1 = 35 e µ1 = 120, Nq1 = 0.120 e

N1 = 0.412;

• per il secondo sistema, dal modello M/M/3 con λ2 = 19, 411 e µ2 = 10, Nq2 = 0.765 e

N2 = 2.706;

• per il terzo sistema, dal modello M/M/7 con λ3 = 16.138 e µ3 = 3, Nq3 = 1.402 e

N3 = 6.781.

Si ottiene immediatamente N = N1 + N2 + N3 = 9.899 e quindi

T =N

λ=

N

γ1 + γ2 + γ3=

9.899

35= 0.283 ore,

ovvero T = 17 minuti circa.

Esercizio 1.8.6 Si consideri una rete di Jackson aperta composta da 4 stazioni. Le stazioni 1e 2 sono monoservetnti. Nella stazione 3 e 4 ci sono 2 serventi. Alla stazione 1 e alla stazione 2arrivano utenti dall’esterno della rete con frequenza media di arrivo pari a 1 utente l’ora (arrivipoissoniani). Dalla stazione 1 gli utenti si recano alla stazione 3. Dalla stazione 2 gli utenti sirecano alla stazione 3 con probabilita 1/3, oppure si recano all’ingresso della stazione 4. Dallastazione 3 gli utenti escono all’esterno della rete oppure tornano all’ingresso della stazione 1 conprobabilita 1/2. Dalla stazione 4 gli utenti escono dalla rete. I tempi di servizio nelle uattrostazioni sone distribuiti esponenzialmente con µ1 = 7, µ2 = 2, µ3 = 4 e µ4 = 1 utenti l’ora.Verificare se esiste la distribuzione stazionaria e in caso affermativo calcolare il numero mediodi utenti presenti nella rete e il tempo medio di permanenza.

Page 107: dispensa unica SSS

RETI DI CODE 101

1.8.5 Reti di Jackson chiuse

Si tratta di reti di code in cui non sono consentiti ne arrivi, ne partenze diutenti dalla rete e quindi il numero totale di utenti presenti nella rete risultafissato. Quindi in una rete chiusa il valore di N non e piu un valore medio dadeterminare, ma e un dato del problema.Anche se il modello che si utilizza non prevede arrivi o partenze dalla rete, daun punto di vista pratico esso rappresenta bene quei casi in cui ogniqualvolta cisia un utente che esce dalla rete, esso viene immediatamente rimpiazzato da unnuovo utente.Questa tipologia di rete di code e stata introdotta da Gordon e Newell nel 1967e ha applicazioni significative nei sistemi di calcolo time-sharing e multi-utente.Ovviamente, in una rete chiusa il numero degli stati possibili e finito ed e ugualeal numero dei modi che si hanno di disporre N utenti (indistinguibili tra di loro)negli m nodi, considerando che ogni nodo puo avere al piu N + 1 stati possibili(includendo lo stato 0). Tale numero e dato da

(m + N − 1

m− 1

).

Inoltre, poiche in una rete chiusa il numero degli utenti e limitato, una rete chiusaammette sempre una distribuzione stazionaria.Nell’analizzare questo tipo di reti di code, c’e un’importante differenza rispettoalle reti aperte, che sta nella determinazione della frequenza media effettiva diarrivo ad ogni singolo nodo. Infatti, poiche risulta γj = 0 per j = 1, . . . ,m, ilsistema di equazioni (1.8.2) diventa

λj =m∑

i=1

λipij , j = 1, . . . , m (1.8.8)

che quindi ora e un sistema omogeneo che in forma matriciale si scrive

(I − P T )Λ = 0,

dove Λ = (λ1, . . . , λm)T e P e la matrice di routing. Ora, poiche nessun utentepuo lasciare la rete deve risultare

m∑

j=1

pij = 1,

e quindi la matrice (I−P ) non e a rango pieno e il sistema ha almeno un’equazioneridondante, ovvero le m equazioni del sistema non sono indipendenti. Suppo-nendo che il rango della matrice (I − P ) sia pari a m − 1, il sistema ammetteinfinite soluzioni. Quindi usando le m − 1 equazioni indipendenti del sistema sipossono determinare le λj , j = 1, . . . , m a meno di una costante moltiplicativa.

Page 108: dispensa unica SSS

102 TEORIA DELLE CODE

Siano {λj , j = 1, . . . , m} una soluzione positiva del sistema (1.8.8) e µj lavelocita media di servizio nel j−esimo nodo.Esaminiamo inizialmente il caso monoservente, supponendo quindi che il sistemapresente in ciascun nodo sia monoservente e sia ρj = λj/µj . Possiamo ora enun-ciare l’equivalente del Teorema di Jackson per reti chiuse.

Teorema 1.8.4 Sia data una rete di Jackson chiusa composta da m nodi asingolo sevente. Allora la distribuzione congiunta e data da

P (n) = P (n1, . . . , nm) =1

G(N)ρn11 ρn2

2 · · · ρnmm ,

con n1 + n2 + · · ·+ nm = N e dove

G(N) =∑

n1,n2,...,nmn1+n2+···nm=N

ρn11 ρn2

2 · · · ρnmm .

Dimostrazione: La dimostrazione e analoga a quella del Teorema di Jackson perreti aperte e, in questo caso, si ottiene

P (n1, . . . , nm) =m∏

j=1

ρnj

j C,

dove C e una costante che possiamo determinare imponendo che

∑n1,n2,...,nm

n1+n2+···nm=N

Cm∏

j=1

ρnj

j = 1

dalla quale si ottiene

C =1∑

n1,n2,...,nmn1+n2+···nm=N

ρn11 ρn2

2 · · · ρnmm

.

Il teorema si estende anche al caso multiservente. Supponiamo quindi che in ogninodo siano presenti sj serventi e si introduca la quantita

Xj =νj

µj

che rappresenta il tempo medio che un utente passa in servizio presso il nodoj−esimo e dove νj e il valore atteso del numero delle visite al nodo j−esimo chesoddisfa l’equazione

νj =m∑

i=1

pijνj .

Page 109: dispensa unica SSS

RETI DI CODE 103

Allora vale il seguente teorema.

Teorema 1.8.5 – Teorema di Gordon–Newell. La distribuzione con-giunta che la rete si trova nello stato n = (n1, . . . , nm) e data da

P (n) = P (n1, . . . , nm) =1

G(N)

m∏

j=1

pnj ,

dove

pnj =

Xnj

j

nj !, per nj < sj

Xnj

j

sj !snj−sj

j

, per nj ≥ sj ,

doveG(N) =

∑n1,n2,...,nm

n1+n2+···nm=N

pn1 pn2 · · · pnm .

E evidente l’analogia formale tra il Teorema di Jackson per le reti aperte e ilTeorema di Gordon–Newell. Il coefficiente G(N) e solamente un fattore di nor-malizzazione che garantisce che la somma di tutte le probabilita sia pari a 1. Ladeterminazione di tale fattore di normalizzazione G(N) puo essere non banaleper il fatto che la somma che lo definisce e estesa a tutti gli stati possibili dellarete e tale numero puo risultare molto elevato. Per ovviare a tale inconvenientesono stati definiti algoritmi ricorsivi la cui trattazione esula dallo scopo di questenote.

Page 110: dispensa unica SSS

104 TEORIA DELLE CODE

1.9 RIFERIMENTI DEL CAPITOLO 1

Esiste un’ampia letteratura e numerosi testi specifici dedicati alla Teoria dellecode e alle sue applicazioni. Fra questi citiamo il testo classico in due volumi[Kleinrock, 1975], [Kleinrock, 1976] che riporta una trattazione sia elementaresia avanzata della teoria delle code. Un altro testo specifico sulla Teoria dellecode e [Cooper, 1981] disponibile in rete all’indirizzo http://www.cse.fau.edu/

˜ bob/publications/IntroToQueueingTheory Cooper.pdf.La Teoria delle code e sviluppata in modo sintetico anche in numerosi testi diRicerca Operativa, fra i quali citiamo [Hillier, Lieberman, 2001] che dedica icapitoli 17 e 18 alla Teoria delle code e alle sue applicazioni.Esiste, inoltre un sito interamente dedicato alla Teoria delle code che riporta nu-merosi link molto utili: http://web2.uwindsor.ca/math/hlynka/queue.html.Per i richiami di Probabilita e le proprieta sulle distribuzioni di probabilita si puofare riferimento ad un qualsiasi testo di Calcolo delle Probabilita.

Bhat, U. (2008). An Intoduction to Queueing Theory. Birkhauser, Boston.

Bertsekas, D., Gallager, R. (1991). Data Networks. Prentice Hall,Upper Saddle River, NJ, second edition.

Billingsley, P. (1979). Probability and mesaure. Wiley and Sons, NewYork.

Cooper, R. (1981). Introduction to queueing theory. North Holland, NewYork.

Gross, D., Harris, C. (1998). Fundamental of queueing theory. Wiley andSons, New York, third edition.

Kleinrock, L. (1975). Queueing systems, vol. I: Theory. Wiley, New York.Disponibile nella traduzione italiana: Sistemi a coda, Introduzione alla teoriadelle code, Hoepli, 1992.

Kleinrock, L. (1976). Queueing systems, vol. II: Computer Applications.Wiley, New York.

Hillier, F., Lieberman, G. (2001). Introduction to operations research.McGraw – Hill, New York.

Ross, S. (2003). Introduction to probability models. Academic Press, SanDiego.

Page 111: dispensa unica SSS

ESERCIZI DI RIEPILOGO 105

1.10 ESERCIZI DI RIEPILOGO

Esercizio 1.10.1 Dato un processo di nascita e morte con

λk = αkλ k ≥ 0, 0 ≤ α < 1

µk = µ k ≥ 1

Ricavare l’espressione delle probabilita pk (in funzione di p0).

Esercizio 1.10.2 Si consideri un sistema M/M/1 con parametri λ e µ assegnati.Si supponga che all’arrivo gli utenti entrano nel sistema con probabilita e

−αkµ ,

dove k e il numero degli utenti presenti nel sistema e α ≥ 0.

a) Ricondurre il sistema ad un processo di nascita e morte.

b) Determinare sotto quali condizioni il sistema e stabile.

c) Ricavare l’espressione per le probabilita pk (in funzione di p0).

Esercizio 1.10.3 Una banca ha 5 cassieri e ciascuno di essi ha una coda di clientidavanti a se. I clienti che arrivano scelgono una coda a caso e aspettano di essereserviti. Gli arrivi dei clienti nella banca sono poissoniani con frequenza di 40 l’orae i tempi di servizio di ciascun cassiere sono esponenziali con media di 5 minuti.La banca sta considerando la possibilita di introdurre un sistema a coda unica,in cui ogni cliente viene servito dal primo cassiere che si libera. Determinare quale l’effetto di questo cambiamento sul tempo medio di attesa in coda. Inoltre, inriferimento al sistema a coda unica, determinare:

a) i valori delle misure di prestazione, ovvero il numero medio di utenti presentinella banca, il numero medio di utenti in attesa in coda, il tempo medio dipermanenza nella banca e il tempo medio attesa in coda;

b) la probabilita che il tempo medio di attesa in coda sia non nullo;

c) la probabilita che nella banca vi siano piu di 7 clienti.

Esercizio 1.10.4 Un addetto al reparto spedizioni di un’industria manufatturi-era riceve ordini e li evade; egli e in grado di evadere, in media, 15 ordini algiorno e i tempi necessari per elaborare gli ordini sono esponenziali. In media,ogni giorno, vengono ricevuti in maniera casuale (arrivi poissoniani), 12 ordini daevadere; tali ordini si dividono in 3 categorie di importanza che nell’ordine sono:

1. riordini: ordini da evadere non appena l’addetto e libero, ovvero non appenaha terminato le operazioni di spedizioni dell’ordine che sta elaborando;

2. ordini normali: ordine di minore importanza rispetto ai riordini che pero ebene evadere al piu presto;

Page 112: dispensa unica SSS

106 TEORIA DELLE CODE

3. ordini secondari: ordini destinati ad un magazzino e che quindi possonoattendere anche un tempo lungo per essere evasi.

In media, ogni giorno arrivano 2.5 riordini, 4 ordini normali e 5.5 ordini secondari.Descrivere un sistema di code che permette di costruire un modello di questoreparto spedizioni e determinare, per ciascun tipo di ordine

a) il tempo medio di permanenza nel reparto spedizioni;

b) il tempo medio di attesa che passa tra la ricezione dell’ordine da parte delreparto e l’inizio della sua elaborazione;

c) il numero medio di ordini che sono presso tale reparto spedizioni;

d) il numero medio di ordini che sono presso tale reparto spedizioni in attesadi essere elaborati.

Determinare, inoltre, come cambiano i tempi di permanenza nel reparto spedi-zioni se si assume che l’arrivo di un’ordine di importanza maggiore implica la suaelaborazione immediata e quindi una eventuale interruzione dell’elaborazione diun altro ordine.

Esercizio 1.10.5 Un piccolo albergo dispone di 5 camere e vuole effettuareun’analisi sul servizio prestato alla clientela. Da un’indagine su dati che siriferiscono ad anni passati si e dedotto che i clienti arrivano casualmente (ar-rivi poissoniani) in media 3 al giorno e che la loro permanenza media nell’albergoe di un giorno ed e distribuita esponenzialmente. Naturalmente, un cliente chearriva e trova l’albergo pieno, si rivolgera ad un altro albergo.

1. Descrivere un modello di code che permette di rappresentare il sistema oradescritto.

2. Determinare la probabilita che nell’albergo non vi sia nessun cliente.

3. Determinare la probabilita che un cliente arriva e trova l’albergo pieno.

4. Determinare il numero medio di clienti presenti nell’albergo.

Esercizio 1.10.6 Una societa costruisce immobili per l’edilizia residenziale. Gliacquirenti stipulano il contratto di acquisto e poi aspettano che l’immobile chehanno acquistato sia realizzato prima di poterne entrare effettivamente in pos-sesso. Vengono stipulati, in media, 9 contratti l’anno secondo una distribuzionedi Poisson.Tale societa adotta la strategia di iniziare a costruire una nuova casa non appenae stata completata la costruzione della casa precedente. Inoltre essa dispone di unnumero di operai tale da permettere la costruzione, in media, di 12 case l’anno,

Page 113: dispensa unica SSS

ESERCIZI DI RIEPILOGO 107

ma non e nota la distribuzione di probabilita secondo la quale esse vengono real-izzate. Si dispone tuttavia, dei dati relativi al numero dei giorni impiegati l’annoprecedente per costruire le case che sono state realizzate durante l’anno; essi sonopari a 30, 32, 29, 34, 27, 29, 29, 33, 30 e 31 giorni (utilizzando questi dati e possi-bile calcolare la varianza della distribuzione, assumendo che un anno si componedi 365 giorni).

1. Descrivere un sistema di code che permetta di studiare questo problema.

2. Determinare il tempo medio che trascorre tra la stipula del contratto el’effettiva entrata in possesso della casa da parte dell’acquirente.

3. Determinare il numero medio di contratti attivi, ovvero stipulati ma senzaaver effettuato ancora la consegna della casa all’acquirente.

4. Determinare come cambiano le due misure di prestazione calcolate ai duepunti precedenti se si assume che i tempi di costruzione delle case sonodistribuiti esponenzialmente.

5. Descrivere come e possibile intervenire sui tempi di costruzione delle caseper minimizzare il tempo necessario per la consegna delle case agli ac-quirenti, determinando come cambiano, in questo caso, le due misure diprestazione gia calcolate.

Esercizio 1.10.7 Presso un parrucchiere arriva, in media, un cliente ogni 30minuti e si assume che tali arrivi siano distribuiti esponenzialmente. Il parruc-chiere ha tempi di servizio che possiamo assumere anch’essi distribuiti esponen-zialmente e in media impega 20 minuti per servire un cliente. Calcolare:

a) La probabilita che il parrucchiere non sia impegnato a servire un cliente.

b) La probabilita che presso il negozio del parrucchiere siano presenti piu ditre clienti (tra quelli in coda e quello che sta usufruendo del servizio).

c) Il numero medio di clienti presenti presso il parrucchiere.

d) Il tempo medio che un cliente passa in attesa prima di essere servito e iltempo medio di permanenza presso il negozio del parruchiere.

e) Il numero medio di clienti che sono in coda in attesa di essere serviti.

Supponiamo, ora che presso il parruchiere possano esserci al piu tre clienti: due inattesa e uno che e servito. Per motivi di spazio, gli eventuali ulteriori clienti nonpossono entrare quando presso il parruchiere e gia presente il massimo numero diclienti. Calcolare, in questo caso:

a) La probabilita che il negozio del parrucchiere e pieno (ovvero tre utenti sonopresenti nel negozio).

Page 114: dispensa unica SSS

108 TEORIA DELLE CODE

b) La frequenza media effettiva di arrivo.

c) La lunghezza media della fila d’attesa (ovvero il numero medio di clientiche e in attesa) e il tempo medio passato da un utente in coda.

d) Il numero medio di clienti presenti presso il parruchiere (ovvero nel negozio).

Calcolare, infine, come varia la percentuale di utilizzazione del servente dal primocaso in cui non ci sono limiti di capacita al secondo caso in cui tale limitazione epresente.

Esercizio 1.10.8 In un’industria manifatturiera un operaio dispone di un’officinaed e responsabile della manutenzione di 4 macchine utensili. Le macchine lavo-rano, in media, per 15 minuti e poi richiedono 5 minuti di manutenzione in offic-ina. Sia i tempi di lavoro delle macchine prima dell’effettuazione della manuten-zione, sia i tempi richiesti per la manutenzione sono distribuiti esponenzialmente.

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

b) Calcolare la probabilita che nell’officina non sia presente nessuna macchina.

c) Calcolare il numero medio di macchine presenti nell’officina in attesa dieffettuare la manutenzione.

d) Calcolare il tempo medio di attesa in coda nell’officina da parte delle mac-chine prima della manutenzione

Esercizio 1.10.9 Un impiegato di un ufficio addetto al rilascio di autorizzazioni,deve esaminare, per ciascuna persona che la richiede, alcuni moduli e impiega inmedia 8 minuti a rilasciare un’autorizzazione. Arrivano, in media, 6 personal’ora ad effettuare tale richiesta. Il tempo impiegato per esaminare i moduli erilasciare l’autorizzazione e distribuito esponenzialmente e gli arrivi delle personesono poissoniani.

a) Descrivere il sistema di code che rappresenta bene la situazione descritta.

b) Calcolare la probabilita che l’impiegato non sia impegnato.

c) Calcolare il numero medio di persone che sono in coda in attesa di essereservite.

d) Calcolare il numero medio di presone presenti presenti nell’ufficio.

e) Calcolare il tempo medio che una persona passa in attesa prima di essereservita.

f) Calcolare il tempo medio di permanenza presso l’ufficio.

Page 115: dispensa unica SSS

ESERCIZI DI RIEPILOGO 109

g) Calcolare la probabilita che nell’ufficio siano presenti 5 persone.

Supponiamo, ora che per motivi di spazio, il numero delle persone che possanoessere contenute nell’ufficio sia limitato e pari a 4. Calcolare, in questo caso:

h) La probabilita che l’impiegato non sia impegnato.

i) La frequenza media effettiva di arrivo.

l) La lunghezza media della fila d’attesa (ovvero il numero medio di personeche e in attesa)

m) Il tempo medio passato da una persona in coda.

Esercizio 1.10.10 Un’industria dispone di un magazzino dove gli operai possonoreperire gli attrezzi di cui hanno bisogno. Nel magazzino puo entrare un operaioalla volta ed impiega, in media, 12 minuti per trovare quello che gli occorre. Searriva un altro operaio e trova il magazzino gia occupato aspetta che l’operaioche e attualmente nel magazzino esca prima di entrare. Gli operai sono 5 ecercano, in media un attrezzo ogni 15 minuti. Si suppone che gli arrivi deglioperai al magazzino siano poissoniani e che i tempi per la ricerca degli attrezzisiano distributi esponenzialmente.

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

b) Calcolare la probabilita che nel magazzino non sia presente nessun operaio.

c) Calcolare la probabilita che tutti i 5 operai siano contemporaneamentepresso il magazzino (uno all’interno, gli altri in attesa).

d) Calcolare il numero medio di operai in attesa di entrare nel magazzino.

Esercizio 1.10.11 In una stazione di servizio ci sono quattro postazioni perl’autolavaggio, identiche, indipendenti e che lavorano in parallelo. Le auto ar-rivano alla stazione di servizio casualmente (arrivi poissoniani) in media 34 l’ora.Il tempo del lavaggio e uguale in ciascuna postazione ed e distribuito esponen-zialmente e in media vengono lavate 10 auto l’ora. Un auto che arriva e trovatutte le quattro postazioni occupate aspetta in fila il suo turno (le auto vengonolavate sulla base del primo arrivato, primo servito)

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

b) calcolare la probabilita che ci siano piu di 3 auto in attesa del lavaggio;

c) calcolare il numero medio di auto che sono in attesa del lavaggio;

d) spiegare che cosa accadrebbe al sistema di code se tre delle quattro postazionifossero non funzionanti, ovvero se la stazione di servizio fosse dotata di unasola postazione.

Page 116: dispensa unica SSS

110 TEORIA DELLE CODE

Supponiamo, ora, che un auto che arriva e che trova tutte le quattro postazionioccupate, deve attendere il proprio turno in un parcheggio che ha una capienzamassima di tre auto; se anche il parcheggio risultasse pieno, allora l’auto rinunciadefinitivamente ad entrare nella stazione di servizio.

e) Descrivere un sistema di code che rappresenti la situazione descritta;

f) calcolare la probabilita che le quattro postazioni siano tutte libere;

g) calcolare la probabilita che un’auto ha di dover rinunciare ad entrare nellastazione di servizio.

Sulla base di quest’ultimo sistema, descritto al punto e), la stazione sta stu-diando alcune variazioni operative. La prima consiste nell’intervenire solamentesul parcheggio, eliminandolo e quindi non permettendo piu l’attesa delle auto chetrovano le quattro postazioni occupate.

h) Descrivere un sistema di code che rappresenti questa prima variazione op-erativa;

i) calcolare, in questo caso, la probabilita che un’auto ha di dover rinunciaread entrare nella stazione di servizio.

Un’altra variazione operativa rispetto al sistema descritto al punto e) consistenell’eliminare tre postazioni, lasciandone una solamente e raddoppiando lo spaziodel parcheggio per permettere l’attesa.

l) Descrivere un sistema di code che rappresenti questa seconda variazioneoperativa;

m) calcolare la probabilita che un’auto ha di dover rinunciare ad entrare nellastazione di servizio;

n) calcolare il numero medio di auto che sono in attesa del lavaggio;

o) calcolare il tempo che, in media, un auto trasorre presso la stazione diservizio;

p) dire sotto quali condizioni c’e il raggiungimento delle condizioni stazionarie.

Page 117: dispensa unica SSS

Appendice A:Formulario – Sistemi a coda

A.1 MODELLI BASATI SU PROCESSI DI NASCITA E MORTE

A.1.1 Sistemi M/M/1

pn = (1− ρ)ρn

N =λ

µ− λ

N q =λ2

µ(µ− λ)

T =1

µ− λ

T q =λ

µ(µ− λ)

111

Page 118: dispensa unica SSS

112 FORMULARIO – SISTEMI A CODA

A.1.2 Sistemi M/M/s

p0 =1

s−1∑

n=0

1n!

µ

)n

+1s!

µ

)s 11− ρ

pn =

1n!

µ

)n

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

1s!sn−s

µ

)n

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

N q =1s!

µ

)s ρ

(1− ρ)2p0

P (tw > t) = e−µt

[1 + (λ/µ)sp0

s!(1− ρ)

(1− e−µt(s−1−λ/µ)

s− 1− λ/µ

)]

P (tq > t) = (1− P (tq = 0)) e−s(µ−λ)t

P (tq > 0) =1s!

µ

)s 11− ρ

p0

A.1.3 Sistemi M/M/1/K

(ρ 6= 1)

p0 =1− ρ

1− ρK+1

pn = ρnp0 = ρn(

1− ρ

1− ρK+1

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

N =ρ

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

1− ρK+1

N q = N − (1− p0)

λ = λ(1− pK) = µ(1− p0)

Page 119: dispensa unica SSS

MODELLI BASATI SU PROCESSI DI NASCITA E MORTE 113

A.1.4 Sistemi M/M/s/K

p0 =1

s−1∑

n=0

1n!

µ

)n

+1s!

µ

)s K∑n=s

)n−s

pn =

1n!

µ

)n

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

1s!sn−s

µ

)n

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

0 per n > K

N q =ρ

s!(1− ρ)2

µ

)s

p0

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

]

N =s−1∑

n=0

npn + N q + s

(1−

s−1∑

n=0

pn

)

A.1.5 Sistemi M/M/1/ · /U

p0 =1

U∑

n=0

U !(U − n)!

µ

)n

pn =U !

(U − n)!

µ

)n

p0

N = U − µ

λ(1− p0)

T =N

µ(1− p0)=

U

µ(1− p0)− 1

λ

N q = U − µ + λ

λ(1− p0)

T q =U

µ(1− p0)− 1

λ− 1

µ

Page 120: dispensa unica SSS

114 FORMULARIO – SISTEMI A CODA

A.1.6 Sistemi M/M/s/ · /U

p0 =1

s−1∑

n=0

U !(U − n)!n!

µ

)n

+U∑

n=s

U !(U − n)!s!sn−s

µ

)n

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

N q =U∑

n=s

(n− s)pn

N =s−1∑

n=0

npn + N q + s

(1−

s−1∑

n=0

pn

)

A.1.7 Sistemi con λ e µ dipendenti dallo stato – singolo servente

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

p0 =1

∞∑

n=0

1(n!)c

µ1

)n

pn =1

(n!)c

µ1

)n

p0

λn =1

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

p0 =1

∞∑

n=0

1(n!)b

(λ0

µ

)n

pn =1

(n!)b

(λ0

µ

)n

p0

Page 121: dispensa unica SSS

MODELLI BASATI SU PROCESSI DI NASCITA E MORTE 115

λn =λ0

(n + 1)b, µn = naµ1

p0 =1

∞∑

n=0

1(n!)a+b

(λ0

µ1

)n

pn =1

(n!)a+b

(λ0

µ1

)n

p0

A.1.8 Sistemi con λ e µ dipendenti dallo stato – multiservente

λ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

A.1.9 Sistemi M/M/∞

p0 =1

∞∑

n=0

1n!

µ

)n = e−λ

µ

pn =1n!

µ

)n

e−λ

µ

N =λ

µ

T =1µ

N q = 0

T q = 0

Page 122: dispensa unica SSS

116 FORMULARIO – SISTEMI A CODA

A.2 MODELLI CON DISTRIBUZIONI NON ESPONENZIALI

A.2.1 Sistemi M/G/1

T q = λ

σ2 +1µ2

2(1− ρ)

N q =λ2σ2 + ρ2

2(1− ρ)

N =λ2σ2 + ρ2

2(1− ρ)+ ρ

T =λσ2 + λ/µ2

2(1− ρ)+

A.2.2 Sistemi M/D/s

T q =12

λ

µ(µ− λ)

N q =12

ρ2

1− ρ

N =ρ2

2(1− ρ)+ ρ

T =λ/µ2

2(1− ρ)+

.

A.2.3 Sistemi M/Ek/1

T q =1 + k

2k

λ

µ(µ− λ)

N q =1 + k

2k

λ2

µ(µ− λ)

T =1 + k

2k

λ

µ(µ− λ)+

N =1 + k

2k

λ2

µ(µ− λ)+

λ

µ.

Page 123: dispensa unica SSS

MODELLI CON DISCIPLINA DELLA CODA BASATA SU CRITERI DI PRIORITA 117

A.3 MODELLI CON DISCIPLINA DELLA CODA BASATA SU CRITERI DI

PRIORITA

A.3.1 Priorita senza interruzione del servizio

T qk =

1abk−1bk

, k = 1, . . . , nc

a = s!sµ− λ(

λ

µ

)s

s−1∑

j=0

1j!

µ

)j

+ sµ

b0 = 1, bk = 1−

k∑

i=1

λi

A.3.2 Priorita con interruzione del servizio – singolo servente

Tk =

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

Page 124: dispensa unica SSS
Page 125: dispensa unica SSS

2Simulazione

Con il termine simulazione si intende la riproduzione del comportamento di unsistema. In generale, si parla di simulazione sia nel caso in cui viene utilizzatoun modello concreto, sia nel caso in cui viene utilizzato un modello astratto cheriproduce la realta mediante l’uso del computer. Un esempio di modello concretoe il modello in scala di una nave che viene poi posto in un’apposita vasca pereffettuare prove simulate allo scopo di stimare opportune misure di prestazione. Echiaro che esistono, leggi teoriche della fisica dalle quali ottenere informazioni sulleprestazioni della nave, ma le analisi di queste leggi e spesso troppo complicata,per essere effettuata; naturalmente, e anche impraticabile (o quanto meno nonconveniente) la costruzione reale della nave e la prova diretta in mare.All’interno della Ricerca Operativa, la simulazione utilizza modelli astratti chevengono costruiti al fine di “replicare” le caratteristiche di un sistema. Essa giocaun ruolo molto importante soprattutto nel progettare un sistema stocastico e neldefinirne le procedure operative: il funzionamento di un sistema e “simulato” uti-lizzando distribuzioni di probabilita per generare casualmente eventi del sistemae dal sistema simulato si ottengono osservazioni statistiche sulle prestazioni dellostesso. Naturalmente affinche cio possa essere realizzato e necessario costruire unmodello di simulazione, che permetta di descrivere le operazioni di un sistema ecome esse devono essere simulate.Gli aspetti rilevanti che fanno della simulazione uno strumento largamente uti-lizzato sono legati al fatto che essa permette di

• rappresentare sistemi reali anche complessi tenendo conto anche delle sor-genti di incertezza;

119

Page 126: dispensa unica SSS

120 SIMULAZIONE

• riprodurre il comportamento di un sistema in riferimento a situazioni chenon sono sperimentabili direttamente.

D’altra parte deve essere sempre tenuto sempre ben presente il fatto che

• la simulazione fornisce indicazioni sul comportamento del sistema, ma non“risposte” esatte;

• l’analisi dell’output di una simulazione potrebbe essere complessa e potrebbeessere difficile individuare quale puo essere la configurazione migliore;

• l’implementazione di un modello di simulazione potrebbe essere laboriosaed inoltre potrebbero essere necessari elevati tempi di calcolo per effettuareuna simulazione significativa.

2.1 GENERALITA SUI MODELLI DI SIMULAZIONE

Come abbiamo gia osservato, per simulare il comportamento di un sistema enecessario costruire un modello di simulazione. Il modello dovra essere suffi-cientementre complesso da rispondere alle esigenze dal caso, ma deve comunquerimanere il piu semplice possibile. Devono inotre essere chiari i limiti di utilizzodel modello stesso.

2.1.1 Elementi di un modello di simulazione

Vediamo ora gli elementi che costituiscono un modello di simulazione.

• Variabili di stato

Innanzitutto ricordiamo che un sistema e descritto in ogni istante di tempoda un insieme di variabili che prendono nome di variabili di stato. Quindi,ad esempio, in riferimento ad un sistema a coda, e una variabile di statoil numero degli utenti presenti nel sistema in un certo istante di tempo.Ricordiamo, inoltre, che esistono sistemi discreti in cui le variabili cambianoistantaneamente in corrispondenza di precisi istanti di tempo che sono finitioppure appartenenti ad un insieme numerabile e sistemi continui in cui levariabili variano con continuita rispetto al tempo. Si osservi fin d’ora che lascelta di un modello continuo o discreto da utilizzare non e necessariamenteobbligata dalla tipologia del sistema; si puo infatti decidere, ad esempio, dicostruire un modello discreto per un sistema continuo, a seconda dello studioche si vuole effettuare. Un esempio tipico e il caso in cui nel rappresentareuna linea ferroviaria, la posizione del treno puo essere descritta da unavariabile reale che fornisce la distanza dalla stazione di origine, oppure davariabili binarie che descrivono lo stato libero–occupato di ciascuna dellesezioni di blocco in cui e divisa la linea.

Page 127: dispensa unica SSS

GENERALITA SUI MODELLI DI SIMULAZIONE 121

• Eventi

Si definisce evento un qualsiasi accadimento istantaneo che fa cambiare ilvalore di almeno una delle variabili di stato. L’arrivo di un utente ad unsistema a coda e un evento, cosı come il completamento di un servizio.Esistono eventi esterni al sistema (eventi esogeni) ed eventi interni (eventiendogeni). Ad esempio, l’inizio del servizio ad un utente che e in coda inun sistema a coda e un evento endogeno, perche interno al sistema; l’arrivodi un utente ad un sistema a coda e un evento esogeno.

• Entita e attributi

Le entita sono singoli elementi del sistema che devono essere definiti. Unesempio di entita e un utente presso un sistema a coda, oppure puo essereun servente. Nel primo caso l’entita fluisce all’interno del sistema e si parladi entita dinamica, nel secondo caso si parla di entita statica.Le entita possono essere caratterizzate da attributi che forniscono un valoredi un dato assegnato all’entita stessa. Ad esempio, in un sistema a codamonoservente dove le entita sono il servente e gli utenti, un attributo diun’entita “utente” potrebbe essere il suo tempo di arrivo al sistema, mentreil servente e caratterizzato dall’attributo “status” che puo assumere valoredi “libero” o “occupato”. E chiaro che alcuni attributi possono essere diinteresse in alcuni casi e non in altri.Le entita possono essere raggruppate in classi che sono insiemi di entita dellostesso tipo, ovvero si possono raggruppare le entita in base ad attributi.Se, ad esempio, consideriamo persone di sesso maschile e femminile comeutenti di un sistema a coda, essendo le entita le persone, esse possono essereraggruppate in dua classi in base all’attributo “sesso”.

• Risorse

Le risorse sono elementi del sistema che forniscono un servizio alle entita.Un’entita puo richiedere una o piu unita di risorsa e se questa non e disponi-bile l’entita dovra mettersi, ad esempio, in una coda in attesa che si rendadisponibile, oppure intraprendere un’altra azione. Se invece la risorsa edisponibile, essa viene “catturata” dall’entita, “trattenuta” per il temponecessario e poi “rilasciata”. Un esempio di risorsa potrebbe essere datada un operaio che sovrintende il funzionamento di una macchina che nonpuo funzionare senza l’operaio stesso; quando e richiesto l’utilizzo di questamacchina, se la risora “operaio” e disponibile allora l’esecuzione del lavoroe effettuata altrimenti si attende che ci sia risorsa (operaio) disponibile.L’operaio verra “trattenuto” per la durata dell’esecuzione del lavoro e poi“rilasciato”. Si osservi che, in generale, un elemento del modello potrebbeessere considerato parimenti un’entita o una risorsa. Questo, ovviamente,dipende da come si e scelto di costruire un modello.

Page 128: dispensa unica SSS

122 SIMULAZIONE

• Attivita e ritardi

Un’attivita e un’operazione la cui durata e nota a priori all’inizio dell’ese-cuzione dell’attivita stessa. Tale durata puo essere una costante, un valorealeatorio generato da una distribuzione di probabilita, oppure data in inputo calcolata in base ad altri eventi che accadono nel sistema. Un esempio edato dal tempo di servizio in un sistema a coda.Un ritardo e un periodo di tempo di durata indefinita che e determinatadalle condizioni stesse del sistema. Il tempo che un’entita trascorre pressouna coda prima che si liberi una risorsa della quale necessita e un ritardo.

2.1.2 Classificazione dei modelli si simulazione

I modelli di simulazione si possono classificare in base a diversi criteri; una primadistinzione gia vista e tra

• modelli continui, in cui le variabili variano con continuita;

• modelli discreti, in cui il valore delle variabili cambia in ben definiti istantidi tempo.

Un’altra distinzione e tra:

• modelli statici, che rappresentano un sistema in un particolare istante ditempo;

• modelli dinamici, che rappresentano un sistema in evoluzione nel tempo.

Infine, si possono distinguere

• modelli deterministici, che non contengono componenti probabilistici;

• modelli stocastici, che presentano elementi soggetti ad aleatorieta.

In questa trattazione considereremo modelli di simulazione discreti, dinamici,stocastici che vengono comunemente chiamati modelli di simulazione ad eventidiscreti. Molte applicazioni sono ben rappresentate da modelli di questo tipoed inoltre approssimando variazioni continue con variazioni discrete e possibileutilizzare modelli ad eventi discreti anche per approssimare il comportamento disistemi continui semplificando quindi molto l’analisi.

2.1.3 Simulazione ad eventi discreti

Nella simulazione ad eventi discreti il sistema e rappresentato, nella sua evoluzionenel tempo, con variabili che cambiano instantaneamente il loro valore in bendefiniti istanti di tempo appartenenti ad un insieme numerabile. Questi istantisono quelli nei quali accadono gli eventi. E chiaro che, essendo questi modellidi natura dinamica, e necessario registrare, ovvero tenere memoria, del tempo

Page 129: dispensa unica SSS

GENERALITA SUI MODELLI DI SIMULAZIONE 123

(simulato) che procede. In particolare sara necessario definire un meccanismo diavanzamento del tempo per far procedere il tempo simulato da un valore ad unaltro. La variabile che in un modello di simulazione fornisce il valore corrente del “Simulation

clock”tempo simulato si chiama “simulation clock”, ed esistono due modi per definireil suo avanzamento:

• avanzamento del tempo al prossimo evento,

• avanzamento del tempo ad incrementi prefissati.

Il primo e quello piu diffuso ed e quello a cui faremo riferimento. In questo caso il“simulation clock” e inizializzato a zero e viene avanzato al tempo dell’accadimentodel primo degli eventi futuri; poi il sistema viene aggiornato tenendo contodell’evento che e accaduto, si aggiornano i tempi degli eventi futuri e si iterail procedimento. A differenza dell’avanzamento ad incrementi prefissati, i periodidi inattivita non vengono considerati.Un esempio puo essere visto considerando un sistema di code in cui gli eventi sonol’arrivo di un cliente, la conclusione di un servizio; entrambi sono eventi percheprovocano il cambiamento di valore di qualche variabile di stato. Il meccanismodi avanzamento del tempo segue in questo caso l’accadere di questi due eventinell’ordine cronologico in cui essi si verificano.

Un esempio di simulazione ad eventi discreti

Vediamo, ora, un semplice esempio di come si realizza un simulazione ad eventidiscreti. Consideriamo a tale scopo un sistema a coda costituito da una coda eda un singolo servente e supponiamo che i tempi di interarrivo siano uniforme-mente distribuiti tra 1 e 3 minuti e che anche i tempi di servizio siano uni-formemente distribuiti tra 0.5 e 2 minuti. Vediamo, ora, come si puo effettuareuna simulazione di questo sistema. Poiche si tratta di un sistema regolato dadue processi stocastici (gli arrivi e i servizi) per generare gli eventi e necessariogenerare osservazioni casuali dalle due distribuzioni di probabilita che regolanoi due processi (come questo puo essere effettuato sara oggetto di considerazionisuccessive nel paragrafo 2.4). Supponiamo di avere a disposizione le due listeche forniscono, rispettivamente i tempi di interarrivo generati casualmente dalladistribuzione corrispondente e i tempi di servizio anch’essi generati casualmentedalla distribuzione corrispondente:

Tempi di interarrivo Tempi di servizio

1.9 1.71.3 1.81.1 1.51.0 0.9...

...

Page 130: dispensa unica SSS

124 SIMULAZIONE

Supponendo che al tempo t = 0 nessun utente e presente nel sistema. Osservandoi valori campionati riportati nelle due liste, si ricava facilmente la successione deglieventi:

Tempo t Eventi

1.9 arriva un utente inizia il servizio3.2 arriva un utente e si pone in coda3.6 finisce un servizio e il primo utente in coda inizia il servizio4.3 arriva un utente e si pone in coda5.3 arriva un utente e si pone in coda5.4 finisce un servizio e il primo utente in coda inizia il servizio

......

Limitando questa semplice simulazione al tempo t = 5.4 (in modo che due utentisono entrati e hanno completato il servizio), possiamo calcolare, ad esempio, iltempo medio di permanenza nel sistema: il primo utente rimane nel sistema1.7 minuti, il secondo 2.2 minuti e quindi il valore medio e 1.95. Questa stima,ovviamente non ha alcun senso perche ottenuta dalla particolare sequenza dinumeri casuali delle due liste. Quindi, se l’esempio da un lato vuole mettereevidenza il meccanismo di una simulazione ad eventi discreti, dall’altro mette find’ora in evidenza un errore che si potrebbe commettere nel reputare affidabilii risultati di una sola esecuzione e che ha avuto una durata arbitraria. D’altraparte c’e anche da tener presente che se siamo interessati a valutare misure diprestazioni del sistema a regime, ovvero quando sono state raggiunte condizioni distazionarieta, sara necessario non prendere in considerazione il sistema durante ilperiodo iniziale di transitorio. Queste problematiche rappresentano un elementochiave di ogni simulazione e saranno considerate in dettaglio nel seguito.

2.1.4 Schema dello studio di un problema basato sulla simulazione

In questo paragrafo riportiamo uno schema che descrive la successione delle variefasi che caratterizzano uno studio basato sulla simulazione.

1. Analisi del problema

Consiste nel comprendere il problema cercando di capire quali sono gli scopidello studio e di identificare quali sono le componenti essenziali e quali sonole misure di prestazione che interessano. Naturalmente, se una versionedel sistema e gia operativa, si deve osservare tale sistema per dedurne lecaratteristiche fondamentali.

2. Formulazione del modello di simulazione

Poiche stiamo trattando sistemi stocastici, per formulare un modello di si-

Page 131: dispensa unica SSS

GENERALITA SUI MODELLI DI SIMULAZIONE 125

mulazione e necessario conoscere le distribuzioni di probabilita delle quan-tita di interesse. Infatti, per generare vari scenari rappresentativi di comeun sistema funziona, e essenziale che una simulazione generi osservazionicasuali da queste distribuzioni. Ad esempio, nei sistemi a coda e necessariala distribuzione dei tempi di interarrivo e i tempi di servizio; nella gestio-ne delle scorte e necessaria la distribuzione della richiesta dei prodotti e ladistribuzione del tempo tra un’ordine e il ricevimento della merce; nella ges-tione dei sistemi di produzione con macchine che occasionalmente possonoguastarsi, sara necessario conoscere la distribuzione del tempo fino a cheuna macchina si guasta e la distribuzione dei tempi di riparazione. General-mente e possibile solo stimare queste distribuzioni derivandole, ad esempio,dall’osservazione di sistemi simili gia esistenti. Se dall’analisi dei dati si vedeche la forma di questa distribuzione approssima una distribuzione tipo stan-dard, si puo utilizzare la distribuzione teorica standard effettuando un teststatistico per verificare se i dati possono essere rappresentati bene mediantequella distribuzione di probabilita. Se non esistono sistemi simili dai qualiottenere dati osservabili si deve far ricorso ad altre fonti di informazioni:specifiche delle macchine, manuali di istruzioni delle stesse, studi sperimen-tali, etc.La costruzione di un modello di simulazione e un procedimento complesso.In particolare, facendo riferimento alla simulazione ad eventi discreti, lacostruzione di un modello prevede le seguenti fasi:

(a) Definizione delle variabili di stato.

(b) Identificazione dei valori che possono essere assunti dalle variabili distato.

(c) Identificazione dei possibili eventi che fanno cambiare lo stato del sis-tema.

(d) Realizzazione di una misura del tempo simulato, “simulation clock”,che registra lo scorrimento del tempo simulato.

(e) Realizzazione di un metodo per generare casualmente gli eventi.

(f) Identificazione delle transizioni di stato generate dagli eventi.

3. Analisi del modello di simulazione

Nella fase di analisi del modello deve essere verificata l’accuratezza del mo-dello realizzato con diverse modalita. Di solito cio viene fatto attraversoun’analisi concettuale del modello che puo essere effettuata insieme agliesperti del settore applicativo in modo da evidenziare eventuali errori e/oomissioni.

Page 132: dispensa unica SSS

126 SIMULAZIONE

4. Scelta del software e costruzione di un programma

Dopo aver costruito il modello, esso deve essere tradotto in un programma.A tale scopo e possibile utilizzare diversi strumenti.

• Linguaggi “general purpose”.Linguaggi come C++, FORTRAN, etc. Erano molto utilizzati allanascita della simulazione ma richiedono molto tempo di program-mazione e quindi si preferisce, in genere, utilizzare linguaggi specificiper la simulazione.

• Linguaggi di simulazione generali.Forniscono molte caratteristiche necessarie per realizzare un modellodi simulazione riducendo cosı il tempo di realizzazione; esempi sonoMODSIM, GPSS, SIMSCRIPT, etc. Anche se meno flessibili dei lin-guaggi “general purpose” sono il modo piu naturale per realizzare unmodello di simulazione.

• Simulatori.Sono packages per la simulazione orientati alle applicazioni. Esistononumerosi pacchetti software di tipo interattivo per la simulazione comeARENA, WITNESS, EXTEND, MICRO SAINT. Alcuni sono abbastanzagenerali anche se dedicati a specifici tipi di sistemi come impiantiindustriali, sistemi di comunicazione, altri invece sono molto speci-fici come, ad esempio, nel caso di simulatori di centrali nucleari o disimulatori della fisiologia cardiovascolare. I simulatori permettono dicostruire un programma di simulazione utilizzando menu grafici senzabisogno di programmare. Sono abbastanza facili da imparare e un in-conveniente che molti di essi hanno e di essere limitati a modellare queisistemi previsti dalle loro caratteristiche standard. In ogni caso alcunisimulatori prevedono la possibilita di incorporare routines scritte in unlinguaggio general purpose per trattare elementi non standard. Spessohanno anche capacita di animazione per mostrare la simulazione inazione e questo permette di illustrare facilmente la simulazione anchea persone non esperte.

• Fogli elettronici (spreadsheets).Quando si hanno problemi di piccole dimensioni si possono anche uti-lizzare fogli elettronici, come ad esempio Excel, per avere un’idea delfunzionamento di un sistema.

5. Validazione del modello di simulazione

Nella fase successiva e necessario verificare se il modello che e stato realiz-zato fornisce risultati validi per il sistema in esame. Piu in particolare sideve verificare se le misure di prestazione del sistema reale sono bene ap-prossimate dalle misure generate dal modello di simulazione. Cio e molto

Page 133: dispensa unica SSS

GENERALITA SUI MODELLI DI SIMULAZIONE 127

difficile da effettuare, specialmente in fase di progettazione quando il sis-tema reale non esiste.

6. Progettazione della simulazione

Prima di passare all’esecuzione della simulazione e necessario decidere comecondurre la simulazione. Spesso una simulazione e un processo che evolvedurante la sua realizzazione e dove i risultati iniziali aiutano a condurre lasimulazione verso configurazioni piu complesse. Ci sono inoltre problem-atiche di tipo statistico:

• la determinazione della lunghezza del transitorio del sistema prima diraggiungere condizioni di stazionarieta, momento dal quale si iniziaa raccogliere dati se si vogliono misure di prestazione del sistema aregime;

• la determinazione della lunghezza della simulazione (durata) dopo cheil sistema ha raggiunto l’equilibrio. Infatti, si deve sempre tener pre-sente che la simulazione non produce valori esatti delle misure diprestazione di un sistema in quanto ogni singola simulazione puo esserevista come un “esperimento statistico” che genera osservazioni statis-tiche sulle prestazioni del sistema. Queste osservazioni sono poi uti-lizzate per produrre stime delle misure di prestazione e naturalmenteaumentando la durata della simulazione puo aumentare la precisionedi queste stime.

7. Esecuzione della simulazione e analisi dei risultati

L’output della simulazione fornisce stime statistiche delle misure di presta-zione di un sistema. Un punto fondamentale e che ogni misura sia accompa-gnata dall’“intervallo di confidenza” all’interno del quale essa puo variare.Questi risultati potrebbero evidenziare subito una configurazione del sis-tema migliore delle altre, ma piu spesso verranno identificate piu di unaconfigurazione candidata ad essere la migliore. In questo caso potrebberoessere necessarie ulteriori indagini per confrontare queste configurazioni.

8. Presentazione delle conclusioni

In conclusione, e necessario redigere una relazione ed una presentazioneche riassuma lo studio effettuato, come e stato condotto e includendo ladocumentazione necessaria. Includere nella presentazione un’animazione diuna simulazione e di solito molto efficace.

2.1.5 Applicazioni tipiche della simulazione

La simulazione e uno strumento molto flessibile: puo essere utilizzata per studiarela maggior parte dei sistemi esistenti. E impossibile enumerare tutte le aree

Page 134: dispensa unica SSS

128 SIMULAZIONE

specifiche in cui la simulazione puo essere utilizzata. Come esempi, riportiamo,di seguito, solo alcune importanti tipiche categorie di applicazioni in cui si usa lasimulazione.

• Progettazione e definizione delle procedure operative di un sistema di servizio.

• Gestione di sistemi di scorte.

• Progetto e definizione delle procedure operative di sistemi di produzione.

• Progetto e funzionamento del sistemi di distribuzione.

• Analisi dei rischi finanziari.

• Gestione dei progetti.

Page 135: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 129

2.2 ELEMENTI DI STATISTICA INFERENZIALE

In questo paragrafo verranno illustrati alcuni elementi di Statistica che sono essen-ziali per procedere alla costruzione di un modello di simulazione e per effettuarecorrettamente una simulazione. Si tratta essenzialmente della stima dei parame-tri e dei test statistici, elementi chiave per l’analisi dell’input e dell’output di unasimulazione.Infatti, per effettuare una simulazione di un sistema che presenta elementi stoca-stici e necessario specificare le distribuzioni di probabilita che regolano i processiche caratterizzano il sistema stesso. Se e possibile raccogliere dati reali (osser-vazioni) sulle variabili aleatorie di interesse, essi possono essere utilizzati perdeterminare queste distribuzioni facendo uso di tecniche di inferenza statistica(analisi dell’input). Una volta stabilite tali distribuzioni, la simulazione procedegenerando valori casuali da queste distribuzioni, ovvero, durante ogni esecuzione,la simulazione genera osservazioni casuali di variabili aleatorie distribuite secondoparticolari distribuzioni di probabilita. Oltre che per progettare una simulazione,e necessario l’uso di tecniche statistiche anche per interpretare i risultati ottenutida una simulazione (analisi dell’output).La trattazione degli argomenti riportati in questo paragrafo sara sintetica e consi-dera esclusivamente quegli elementi che risulteranno utili all’interno dello studiodella simulazione. Per ogni trattamento piu esteso e approfondito si rimanda aitesti specifici come, ad esempio [Ross, 2003b].

2.2.1 Statistiche campionarie e loro distribuzione

In generale, nello studio di un fenomeno riguardante un insieme di elementi (popo-lazione) che presenta caratteristiche aleatorie, molto spesso si dispone solo diinformazioni su una parte di essi (campione) e si vogliono dedurre proprieta ge-nerali riguardanti l’intera popolazione. L’inferenza statistica si occupa di questaproblematica e riveste un importante strumento di analisi.Solitamente viene fatta l’assunzione che esiste una distribuzione di probabilitadella popolazione nel senso che se da essa vengono estratti casualmente alcunielementi, ad essi sono associate variabili aleatorie indipendenti identicamentedistribuite secondo tale distribuzione. In questo senso, un insieme di variabilialeatorie X1, . . . , Xn di variabili aleatorie indipendenti tutte con la stessa dis-tribuzione si dice campione di questa distribuzione. L’interesse principale risiedenella possibilita di dedurre caratteristiche della distribuzione non nota sulla basedei dati a disposizione. Naturalmente ci sono casi in cui della distribuzione dellapopolazione non si conosce nulla (se non il fatto che essa e discreta o continua),mentre in altri casi la distribuzione e nota ma non sono noti alcuni suoi parametri.Esamineremo entrambi i casi, introducendo, innanzitutto alcuni elementi cheriguardano le statistiche campionarie e la loro distribuzione.

Page 136: dispensa unica SSS

130 SIMULAZIONE

Dato un campione X1, . . . , Xn estratto da una popolazione, ogni funzione delleosservazioni campionarie e chiamata statistica campionaria e i valori ottenuti dauna qualsiasi funzione dei soli valori osservati sono chiamati statistiche. I dueprincipali esempi di statistiche sono la media campionaria e la varianza campio-naria.

Media campionaria e varianza campionaria

Sia dato un campione X1, . . . , Xn estratto da una popolazione, ovvero le Xi sonovariabili aleatorie indipendenti identicamente distribuite, e sia µ e σ2 rispetti-vamente la loro media e la loro varianza (ovvero la media e la varianza dellapopolazione).La media campionaria e data daMedia cam-

pionariaXn =

1n

n∑

i=1

Xi.

Xn e una variabile aleatoria funzione delle Xi e si verifica facilmente che risulta

E(Xn) = µ e V ar(Xn) =σ2

n.

La varianza campionaria e data daVarianzacampiona-ria s2

n =1

n− 1

n∑

i=1

(Xi − Xn

)2

e si verifica facilmente che risulta E(s2n) = σ2.

Distribuzione (approssimata) della media campionaria

La distribuzione della media campionaria puo essere determinata grazie al Teo-rema del limite centrale. Siano date le osservazioni X1, . . . , Xn estratte da unadistribuzione di probabilita. Le Xi sono variabili aleatorie indipendenti identica-mente distribuite e sia µ e σ2 rispettivamente la loro media e la loro varianza.Definendo la variabile aleatoria

Zn =

X1 + · · ·+ Xn

n− µ

σ√n

,

e la sua funzione di distribuzione Fn(z) = P (Zn ≤ z), il Teorema del LimiteCentrale afferma che

limn→∞Fn(z) =

1√2π

∫ z

−∞e−

y2

2 dy, (2.2.1)

ovvero Fn(z) converge alla funzione di distribuzione della distribuzione Normalestandard. Questo risultato permette di ottenere l’importante proprieta riportatanel seguente teorema riguardante la media campionaria Xn.

Page 137: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 131

Proposizione 2.2.1 Sia X1, . . . , Xn un campione estratto da una dis-tribuzione di probabilita a media µ e varianza σ2. Allora, per n sufficien-temente grande,

Xn − µσ√n

(2.2.2)

e una variabile aleatoria distribuita approssimativamente secondo la distribu-zione Normale standard.

Questo risultato si ricava immediatamente dal Teorema del Limite Centrale, os-servando che la (2.2.1) puo essere interpretata nel seguente modo: per n sufficien-temente grande, la variabile aleatoria Zn e distribuita approssimativamente comeuna variabile Normale standard, indipendentemente dalla distribuzione delle Xi.

Ricordando che il valore atteso di Xn e µ e che la sua deviazione standard epari a σ/

√n, la Proposizione 2.2.1 afferma che se si normalizza Xn sottraendo

la sua media e dividendo per la sua deviazione standard, si ottiene una variabilealeatoria che e approssimativamente distribuita secondo una Normale standardpurche n sia sufficientemente grande.

La problematica che nasce nell’utilizzare questo risultato sta nel fatto che non enoto quanto deve essere grande n affinche l’approssimazione sia buona; natural-mente questo dipende dalla distribuzione in questione. Osservazioni sperimentalihanno portato a formulare la regola empirica comunemente adottata secondo laquale quando n > 30, si ha in genere una buona approssimazione, qualsiasi sia ladistribuzione della popolazione considerata.

Distribuzioni delle statistiche di popolazioni normali

Assumiamo ora che la distribuzione della popolazione sia Normale a media µ evarianza σ2 e sia X1, . . . , Xn un campione estratto da tale popolazione. In questocaso ovviamente si ha che la variabile aleatoria (2.2.2) e una variabile Normalestandard per qualsiasi valore di n, ovvero vale il seguente risultato.

Proposizione 2.2.2 Sia X1, . . . , Xn un campione estratto da una distribuzio-ne di probabilita Normale a media µ e varianza σ2. Allora

Xn − µσ√n

(2.2.3)

e una variabile aleatoria distribuita secondo la distribuzione Normale standard.

Page 138: dispensa unica SSS

132 SIMULAZIONE

Si osservi che avendo assunto che le Xi sono variabili aleatorie normali, il risultatoora enunciato non vale piu in senso approssimato, come nel caso della Propo-sizionea 2.2.1, ma e un risultato esatto che vale per qualsiasi valore di n (nonnecessariamente grande).

Si puo inoltre dimostrare che vale il seguente importante risultato:

Teorema 2.2.1 Sia X1, . . . , Xn un campione estratto da una distribuzioneNormale a media µ e varianza σ2. Allora

i) Xn e s2n sono variabili aleatorie indipendenti;

ii) Xn e una variabile aleatoria normale con media µ e varianza σ2/n;

iii) (n − 1)s2n

σ2e una variabile aleatoria distribuita secondo la distribuzione

Chi-quadro a n− 1 gradi di liberta (χ2n−1).

Questo teorema ha un’importante conseguenza che enunciamo nella seguenteproposizione.

Proposizione 2.2.3 Sia X1, . . . , Xn un campione estratto da una distribuzio-ne di probabilita Normale a media µ. Allora

Xn − µsn√n

(2.2.4)

e una variabile aleatoria distribuita secondo la distribuzione t di Student conn− 1 gradi di liberta (tn−1).

Confrontando la (2.2.3) e la (2.2.4) si nota che nella Proposizione 2.2.3 la variabilealeatoria considerata differisce da quella considerata nella Proposizione 2.2.2 perla presenza di sn al posto di σ. Quindi possiamo riepilogare i risultati fino ad oraottenuti dicendo che, data una popolazione Normale, se si normalizza la mediacampionaria Xn sottraendo la sua media µ e dividendo per la sua deviazionestandard σ/

√n, si ottiene una variabile aleatoria Normale standard; se invece si

divide per sn/√

n, si ottiene una variabile aleatoria con distribuzione t di Studentcon n− 1 gradi di liberta.

Page 139: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 133

2.2.2 Stima di parametri

Supponiamo ora che la popolazione sia distribuita secondo una distribuzione diprobabilita nota, ma caratterizzata da uno o piu parametri incogniti. Siamoin questo caso interessati a determinare tali parametri incogniti sulla base diun campione X1, . . . , Xn. Si tratta di un problema di stima di parametri checonsiste nel determinare, sulla base del campione X1, . . . , Xn, un valore per cias-cuno dei parametri in modo che essi costituiscano la migliore approssimazione deiparametri incogniti. Esistono diversi metodi di stima che non sono altro che tec-niche per ricavare statistiche e che sono detti stimatori. Uno stimatore e quindi Stimatori e

stimeuna funzione h(X1, . . . , Xn) delle osservazioni campionarie e il valore che talefunzione assume in corrispondenza di una particolare realizzazione del campionee detto stima. Se θ e un parametro incognito, si indichera con θ la stima di θ.In alcuni casi si determina un unico valore θ come migliore approssimazione pos-sibile del parametro θ e tale valore viene detto stima puntuale. In altri casi, puo Stima

puntualeessere preferibile calcolare due valori dello stimatore ovvero θ1 = h1(X1, . . . , Xn)e θ2 = h2(X1, . . . , Xn) che definiscono un intervallo [θ1, θ2] tale che, in un cam-pionamento ripetuto, il valore incognito θ apparterra all’intervallo in una deter-minata percentuale di casi che e detta confidenza dell’intervallo. In questo caso Stima per

intervallisi parla di stima per intevalli.

Proprieta degli stimatori

Continuando ad indicare con θ un parametro incognito, con θ una sua stimae con h = h(X1, . . . , Xn) uno stimatore, riportiamo in questo paragrafo alcunedefinizioni standard.

Definizione 2.2.4 Si definisce valore dell’errore di campionamento la dif-ferenza θ− θ. Si chiama distorsione di uno stimatore h la differenza E(h)− θ.L’errore quadratico medio dello stimatore h e dato da EQM(h) = E(h− θ)2.

Definizione 2.2.5 Uno stimatore h = h(X1, . . . , Xn) si dice stimatore cor-retto del parametro θ se risulta E(h) = θ. Se invece si ha E(h) 6= θ si dice cheh e uno stimatore distorto per θ. Uno stimatore h = h(X1, . . . , Xn) si dicestimatore efficiente del parametro θ se

i) E(h) = θ

ii) V ar(h) ≤ V ar(h1) per ogni h1 stimatore corretto di θ.

Page 140: dispensa unica SSS

134 SIMULAZIONE

Stima di media e varianza

Supponiamo di avere un campione casuale X1, . . . , Xn e di voler stimare stimarela media µ e la varianza σ2 della popolazione mediante questo campione, ovverosupponiamo che X1, . . . , Xn siano variabili aleatorie indipendenti identicamentedistribuite con E(Xi) = µ e V ar(Xi) = σ2, i = 1, . . . , n con µ e σ2 non note.Uno stimatore corretto per la media µ e dato dalla media campionaria

µ = Xn =1n

n∑

i=1

Xi,

in quanto risulta E(Xn) = µ. Uno stimatore corretto per la varianza σ2 e datodalla varianza campionaria

σ2 = s2n =

1n− 1

n∑

i=1

(Xi − Xn

)2,

in quanto risulta E(s2n) = σ2.

Metodi di stima

Esistono diversi metodi per stimare i parametri incogniti di una distribuzione.Riporteremo brevemente nel seguito lo stimatore di massima verosimiglianzaStimatore

di massimaverosimi-glianza

(Maximum Likelihood Estimator – MLE) che e molto utilizzato e per il qualerimandiamo alla letteratura specifica per una trattazione completa. Riportiamodi seguito una breve descrizione.Date n osservazioni X1, . . . , Xn, assumiamo che esse siano ottenute da una distri-buzione di probabilita continua avente densita fθ(x), dove θ e un parametro checaratterizza la distribuzione. Nell’ipotesi che le osservazioni Xi sono indipendenti,una misura della probabilita di aver ottenuto quelle osservazioni proprio da quelladistribuzione (se θ e il valore del parametro incognito) e data dalla funzione diverosimiglianza

L(θ) = fθ(X1)fθ(X2) · · · fθ(Xn).

Nel caso di distribuzioni di probabilita discrete con funzione di probabilita datada pθ(x), la funzione di verosimiglianza e definita da

L(θ) = pθ(X1)pθ(X2) · · · pθ(Xn).

Il metodo della massima verosimiglianza consiste nello scegliere come stimatoredel parametro incognito θ il valore θ che massimizza L(θ).In generale, puo non essere facile massimizzare la funzione di verosimiglianza enaturalmente la difficolta aumenta se la distribuzione ha piu di un parametroe quindi la funzione L sara una funzione di piu variabili. Nell’effettuare questaoperazione di massimizzazione invece di considerare la funzione L(θ) si puo con-siderare la funzione

`(θ) = lnL(θ)

Page 141: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 135

ovvero il logaritmo della funzione di verosimiglianza (log-likelihood function) che Log-likelihoodfunction

potrebbe essere piu facile da massimizzare. Infatti, poiche la funzione logaritmoe una funzione strettamente crescente, un valore θ massimizza L(θ) se e solo se θ

massimizza `(θ). Si osservi, comunque, che l’operazione di massimizzazione none sempre facile e che potrebbe anche essere necessario ricorrere a metodi numericiper risolvere l’equazione che si ottiene dall’annullamento della derivata.

Esempio 2.2.6 Date n osservazioni X1, . . . , Xn dalla distribuzione esponenziale, determinarecon il metodo della massima verosimiglianza il parametro λ della distribuzione. La funzione diverosimiglianza e data da

L(λ) = (λe−λX1)(λe−λX1) · · · (λe−λXn) = λne−λ

∑n

i=1Xi = λne−λnXn .

Uguagliando a zero la derivata (rispetto a λ) si ha

dL(λ)

dλ= nλn−1e−λnXn

(1− λXn

)= 0,

da cui si ha λ =1

Xn

. Poiche si had2L(λ)

dλ2< 0, λ e un punto di massimo per la funzione L(λ).

Il valore ottenuto per λ non ci sorprende perche la media campionaria e uno stimatore correttodella media della distribuzione che e 1/λ.Allo stesso risultato si puo arrivare considerando la funzione log-likelihood, ovvero

`(λ) = ln L(λ) = n ln λ− λ

n∑i=1

Xi.

Infatti si had`

dλ=

n

λ−

n∑i=1

Xi = 0

per λ =1

Xn

ed inoltred2`(λ)

dλ2= − n

λ2< 0.

Esempio 2.2.7 Date n osservazioni X1, . . . , Xn dalla distribuzione geometrica, determinarecon il metodo della massima verosimiglianza il parametro p ∈ (0, 1) della distribuzione. Ladistribuzione geometrica e una distribuzione di probabilita discreta caratterizzata da

pp(x) ={

p(1− p)x se x = 1, 2, . . .0 altrimenti.

La funzione di verosimiglianza e data da

L(p) = pp(X1)pp(X2) · · · pp(Xn) = p(1− p)X1p(1− p)X2 · · · p(1− p)Xn = pn(1− p)

∑n

i=1Xi .

Si ha

`(p) = ln L(p) = n ln p +

n∑i=1

Xi ln(1− p).

Annulliamo quindi la derivata della `(p), ottenendo

d`(p)

dp=

n

p−

n∑i=1

Xi

1− p= 0.

Page 142: dispensa unica SSS

136 SIMULAZIONE

Risolvendo l’equazione si ottiene

p =1

1 + Xn

e poiche risultad2`(p)

dp2< 0,

allora p e un massimo per la `(p) e quindi anche per la funzione di massima verosimiglianzaL(p).

Esercizio 2.2.8 Siano date n osservazioni indipendenti X1, . . . , Xn estratte dalla distribuzionedi Poisson di parametro λ. Determinare lo stimatore di massima verosimiglianza del parametroλ.

Stime per intervalli

Nei metodi di stima puntuale e sempre presente un errore θ−θ dovuto al fatto chela stima θ in genere non coincide con il parametro θ. Sorge quindi l’esigenza di de-terminare una misura dell’errore commesso. Inoltre, dato il campione X1, . . . , Xn

estratto da una distribuzione di probabilita caratterizzata da un parametro inco-gnito θ, qualunque sia lo stimatore h(X1, . . . , Xn) scelto per stimare θ, essodipende dal campione, ovvero lo stimatore fornira stime diverse in corrispon-denza di campioni diversi.Queste due osservazioni fanno nascere l’esigenza di considerare stime per inter-valli. Infatti, sulla base dei valori di θ ottenuti considerando un campione casualeX1, . . . , Xn, si puo definire un intervallo in cui sono compresi i valori piu probabiliper il parametro θ, secondo un “livello di confidenza” fissato. Per fare cio si puoprocedere indirettamente utilizzando una statistica campionaria g(X1, . . . , Xn) lacui distribuzione sia nota e non dipendente da θ. Naturalmente, visto che la g enota, fissato un livello di confidenza (1 − α), e possibile determinare due valorig1 e g2, indipendenti da θ tali che, comunque scelto α ∈ (0, 1),

P (g1 ≤ g ≤ g2) = 1− α.

Lo scopo e quello di tradurre una probabilita su un intervallo per g in una pro-babilita su intervallo per θ in modo da poter avere

P (h1 ≤ θ ≤ h2) = 1− α,

ovvero in modo tale che h1 e h2 rappresentino gli estremi dell’intervallo per θ.Le distribuzioni note alle quali si fa di solito riferimento sono la distribuzioneNormale, la distribuzione t di Student e la distribuzione Chi–quadro.Lo scopo sara quello di avere un valore ben superiore a 0.5 in modo che la prob-abilita che il parametro θ appartenga all’intervallo [h1, h2] sia tale da assicurareall’evento h1 ≤ θ ≤ h2 (evento che si verifica nel 100(1−α)% dei casi) una carat-teristica di “sistematicita”, mentre all’evento complementare (che si verifica nel100α% dei casi) una caratteristica di “accidentalita”.

Page 143: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 137

Formalmente si puo fornire la seguente definizione.

Definizione 2.2.9 Intervallo di confidenza. Dato un campioneX1, . . . , Xn, dato α ∈ (0, 1) e date le statistiche h1 = h1(X1, . . . , Xn) eh2 = h2(X1, . . . , Xn) con h1 < h2, per le quali

P (h1 ≤ θ ≤ h2) = 1− α,

l’intervallo [h1, h2] si dice intervallo di confidenza per θ con livello di confidenzapari ad (1− α).

Naturalmente tanto piu e piccolo α, tanto piu e ampio l’intervallo di confidenzaad esso associato.

Stima per intervalli di una media

Siano date le osservazioni X1, . . . , Xn estratte da una distribuzione di probabilitaa media µ e varianza σ2. Assumiamo inizialmente che la media µ sia incogni-ta mentre la varianza sia nota. Dalla Proposizione 2.2.1 sappiamo che per n Caso

varianzanota

sufficientemente grande, la variabile aleatoria

Zn =Xn − µ

σ√n

(2.2.5)

e distribuita approssimativamente secondo la distribuzione Normale standard,indipendentemente dalla distribuzione delle Xi. Quindi per n sufficientementegrande risulta

P(−z1−α

2≤ Zn ≤ z1−α

2

)= P

(−z1−α

2≤ Xn − µ

σ√n

≤ z1−α2

)' 1− α,

dove z1−α2

e il punto critico (1 − α2 ) per una distribuzione Normale standard e

puo essere immediatamente determinato dai valori tabulati1

Segue che

P

(Xn − z1−α

2

σ√n≤ µ ≤ Xn + z1−α

2

σ√n

)' 1− α.

Quindi, per n sufficientemente grande, il valore incognito di µ si trova nell’intervallo[Xn − z1−α

2

σ√n

, Xn + z1−α2

σ√n

]

1Sono ampiamente disponibili tabelle che, per una variabile Normale standard Z, riportano il valore di

P (Z ≤ z) = 1√2π

∫ z

−∞ e−y2

2 dy.

Page 144: dispensa unica SSS

138 SIMULAZIONE

con un livello di confidenza pari a 1− α. Si parla di intervallo di confidenza del100(1− α)%.Ad esempio, per determinare un intervallo di confidenza al 95% per una media,dato un campione X1, . . . , Xn, si trova il punto critico z1−α

2= z0.975 = 1.96 dalle

tabelle della distribuzione Normale standard e facilmente si ricava tale intervallo[Xn − 1.96

σ√n

, Xn + 1.96σ√n

].

Si noti che l’intervallo di confidenza puo contenere o meno il valore della mediaµ. Questo implica che un singolo intervallo di confidenza, da un punto di vistaprobabilistico, fornisce informazioni non complete. La corretta interpretazionedell’intervallo di confidenza e la seguente: se si costruisce un numero molto elevatodi intervalli di confidenza al 100(1 − α)%, indipendenti e ciascuno basato su n

osservazioni, con n sufficientemente grande, una frazione di questi intervalli pariad 1 − α conterra µ. Questa frazione si chiama copertura per l’intervallo diconfidenza. Quindi solamente una proporzione α di casi dara luogo ad intervalliche non contengono µ.

Osservazione 2.2.10 Affermare che l’intervallo di confidenza, ad esempio peruna media µ e al 100(1− α)% non significa che la probabilita che µ appartengaa questo intervallo e pari a (1 − α)%; questo perche prima di osservare i dati sipuo parlare di probabilita che l’intervallo che si otterra contenga µ in quanto gliestremi dell’intervallo sono variabili aleatorie. Dopo l’osservazione dei dati, ovverodopo aver determinato gli estremi dell’intervallo, si puo solamente affermare chel’intervallo trovato contiene µ con il 100(1 − α)% di confidenza in quanto nonsi ha a che fare con nessuna variabile aletoria (µ e incognita, ma costante e gliestremi dell’intervallo, una volta determinati sono valori numerici).

Quanto esposto fino ad ora assume che la varianza σ2 sia nota. Se invece σ2 nonsi conosce sono necessarie altre considerazioni. Infatti, anche se la varianza σ2Caso

varianzanon nota

non e nota, considerando la varianza campionaria s2n, poiche si ha

limn→∞ s2

n = σ2,

il Teorema del Limite Centrale continua a valere se nell’espressione (2.2.5) dellaZn sostituiamo σ2 con la sua stima s2

n. Questo significa che, per n sufficientementegrande la variabile

Zn =Xn − µ

sn√n

,

e approssimativamente distribuita secondo la distribuzione Normale standard.Quindi di ha

P

(Xn − z1−α

2

sn√n≤ µ ≤ Xn + z1−α

2

sn√n

)' 1− α,

Page 145: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 139

dove z1−α2

e il punto critico (1− α2 ) per una distribuzione normale standard.

Quindi, per n sufficientemente grande, con livello di confidenza 1 − α il valoreincognito di µ si trova nell’intervallo

[Xn − z1−α

2

sn√n

, Xn + z1−α2

sn√n

].

Esempio 2.2.11 Siano dati i seguenti valori di dieci osservazioni 1.20, 1.50, 1.68, 1.89, 0.95,1.49, 1.58, 1.55, 0.50, 1.09, da una distribuzione Normale a media e varianza non note. Si ricavafacilmente che X10 = 1.34 e s2

10 = 0.17. Volendo costruire un intervallo di confidenza al 90%

per la media si ha 1 − α = 0.90, ovvero 1 − α

2= 0.95. Dalla tavola dei valori di P (Z ≤ z)

per Z variabile Normale standard si ricava che risulta P (Z ≤ c) = 0.95 per c = 1.65, ovveroz1−α/2 = z0.95 = 1.65. Quindi gli estremi dell’intervallo richiesto sono dati da

Xn ± z1−α2

√s2

n

n= X10 ± z0.95

√s210

10= 1.34± 1.65

√0.017.

Pertanto l’intervallo di confidenza richiesto e dato da [1.12 , 1.55].

La difficolta nell’utilizzare questo tipo di intervallo di confidenza per µ sta nelfatto che esso ha valore asintotico, ovvero per n sufficientemente grande e quindirisulta approssimato. Inoltre il valore di n per cui la Fn(z) approssima benela funzione di distribuzione di una variabile Normale standard dipende dalladistribuzione delle osservazioni Xi. Se si scelgono valori di n troppo piccoli siottiene una copertura di un intervallo di confidenza al 100(1 − α)% inferiorea 1 − α. In questo caso, ovvero per valori piccoli di n si puo utilizzare unadefinizione alternativa dell’intervallo di confidenza che fa riferimento non piu alladistribuzione Normale standard, ma alla distribuzione t di Student a n− 1 gradidi liberta. Dalla Proposizione 2.2.3 si ha che se le Xi sono variabili Normali, lavariabile

Zn =Xn − µ

sn√n

ha distribuzione t di Student con n − 1 gradi di liberta per ogni n > 1. Quindi,per ogni n > 1 un intervallo di confidenza esatto al 100(1− α)% e dato da

[Xn − tn−1,1−α

2

sn√n

, Xn + tn−1,1−α2

sn√n

],

dove tn−1,1−α2

e il punto critico 1− α

2per una distribuzione t di Student ad n− 1 t intervallo

di confiden-za

gradi di liberta2. Questo intervallo si chiama t intervallo di confidenza.Poiche risulta tn−1,1−α

2> z1−α

2l’intervallo di confidenza definito in riferimento

alla distribuzione t di Student e piu ampio di quello definito in riferimento alladistribuzione Normale standard.

2Anche in questo caso sono disponibili tavole che riportano valori tabulati di tali punti critici

Page 146: dispensa unica SSS

140 SIMULAZIONE

Esempio 2.2.12 Volendo determinare il t intervallo di confidenza nel caso delle osservazionidell’Esempio 2.2.11 e sufficiente ricavare dai valori tabulati il valore di t9,0.95 che e pari a 1.83.Quindi l’intervallo di confidenza richiesto e dato da [1.10 , 1.58].

Tuttavia anche questo secondo tipo di intervallo di confidenza presenta aspettiproblematici; infatti, nella sua definizione si assume che le osservazioni Xi sonoestratte da una distribuzione Normale e poiche questa assuzione, in generale, none verificata, anche questo tipo di intervallo di confidenza e, di fatto, approssimato.

In conclusione, possiamo dire che l’intervallo di confidenza definito in riferimentoalla distribuzione Normale standard e basato sul Teorema del Limite Centralee la copertura dipende dalla scelta di n. L’intervallo di confidenza definito inriferimento alla distribuzione t di Student e approssimato perche influenzato dalladistribuzione delle Xi che in generale non sono Normali; tuttavia questo secondotipo di intervallo di confidenza ha maggiore copertura dell’altro.

Page 147: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 141

2.2.3 Test delle ipotesi

Nel cercare di costruire un legame tra dati osservati e ipotesi teoriche sulle carat-teristiche dell’intera popolazione si deve, in genere, prendere una decisione per ilraggiungimento di tale conclusione generale e nasce il problema di esprimere ungiudizio di plausibilita di un’ipotesi che si e specificata per la popolazione. Perverificare la coerenza tra osservazioni e ipotesi fatta si fa uso di test statisticiche prendono nome di test delle ipotesi. In sintesi, possiamo dire che tali testdevono confrontare i valori osservati e i corrispondenti valori teorici attesi con-dizionatamente all’ipotesi fatta. Le differenze che vengono riscontrate possonoessere ovviamente ricondotte a due possibilita:

• l’ipotesi specificata e corretta e la differenza riscontrata e puramente ca-suale;

• l’ipotesi specificata e errata e quindi non ci si puo aspettare che i due valorisiano “vicini”.

Il procedimento consiste nel confrontare due ipotesi: l’ipotesi da sottoporre a ve-rifica e il suo complemento. Si indica con H0 il sottoinsieme dei valori individuatidall’ipotesi da sottoporre a verifica che viene detta ipotesi nulla, mentre il suocomplemento si indica con H1 e viene detto ipotesi alternativa. Si osservi che seun test di ipotesi non scarta l’ipotesi H0, questo non vuol dire che H0 e accettatacome vera, ma solamente che essa non deve essere scartata, ovvero che puo essereconsiderata possibile.

Si parla di errore di I specie se il test porta a rifiutare un’ipotesi H0 quando questae corretta e di errore di II specie se il test porta ad accettare H0 quando questa efalsa. Si noti che l’obiettivo non e quello di dire se l’ipotesi fatta e vera o falsa, mapiuttosto di verificare se l’ipotesi fatta sia compatibile con i dati. In genere, c’eun ampio margine di tolleranza nell’accettare H0, mentre per rifiutarla occorreche i dati siano veramente poco probabili quando H0 dovesse essere corretta. Perottenere questo, si specifica un valore α, detto livello di significativita e si imponeche il test sia tale che, quando l’ipotesi H0 e corretta, la probabilita che essa vengascartata e non superiore ad α. Quindi un test con livello di significativita pariad α deve essere tale che una probabilita di commettere un errore di I specie eminore o uguale ad α.

Rimandiamo alla letteratura specifica per una trattazione generale dei test d’ipo-tesi; nel seguito faremo esclusivamente riferimento al problema di decidere se leosservazioni sono un campione indipendente di una particolare distribuzione diprobabilita con funzione di distribuzione F . Ovvero, si vuole utilizzare un testdelle ipotesi per avvalorare o smentire un’ipotesi fatta sulla distribuzione di pro-babilita che meglio rappresenta tali dati. Quindi, date le osservazioni X1, . . . , Xn,

Page 148: dispensa unica SSS

142 SIMULAZIONE

l’ipotesi da sottoporre a verifica e la seguente:

H0 ={

X1, . . . , Xn sono variabili aleatorie indipendenti,

identicamente distribuite con funzione di distribuzione F}

Esistono diversi test di ipotesi; consideriamone brevemente nel seguito due, ri-mandando alla letteratura specifica per una trattazione completa.

Test Chi–quadro

Siano X1, . . . , Xn variabili aleatorie indipendenti identicamente distribuite. Perapplicare il test si effettua il seguente procedimento: si suddivide il range delladistribuzione in k intervalli adiacenti

[a0, a1) , [a1, a2) , [a2, a3) , . . . [ak−1, ak) ,

dove puo anche essere a0 = −∞ e/o ak = ∞. Si definisce ora Nj come il numerodelle Xi contenute nell’intervallo j-esimo, ovvero in [aj−1, aj) per j = 1, 2, . . . k.Naturalmente risulta

∑kj=1 Nj = n. Si calcola la proporzione pj che le Xi cadono

nell’intervallo j-esimo se le osservazioni fossero dalla distribuzione ipotizzata,ovvero

pj =

∫ aj

aj−1

f(x)dx nel caso continuo

aj−1≤xi<aj

p(xi) nel caso discreto

dove f(x) e la densita di probabilita della distribuzione ipotizzata nel caso con-tinuo e p(xi) sono i valori della distribuzione di probabilita nel caso discreto. Sidefinisce

χ2 =k∑

j=1

(Nj − npj)2

npj. (2.2.6)

Poiche npj e il numero atteso che n Xi cadano nell’j-esimo intervallo se l’ipotesiH0 fosse vera, ci si puo aspettare che χ2 sia piccolo se la distribuzione ipotizzatarealizza un buon fitting delle X1, . . . , Xn e quindi l’ipotesi H0 e scartata se χ2 etroppo grande.Per effettuare praticamente il test dobbiamo considerare il caso in cui tutti iparametri della distribuzione sono noti e il caso in cui questo non avviene. Il testChi-quadro puo essere effettuato in entrambi i casi.

Nel primo caso, se α e il livello di significativita del test, si vuole trovare laCasoparametrinoti

cosiddetta “regione critica”, ovvero si vuole calcolare un valore z tale che

PH0(χ2 ≥ z) = α,

dove la notazione PH0 indica il condizionamento della probabilita al fatto che H0

sia vera. Il test dovra rifiutare l’ipotesi nulla quando il valore osservato per χ2 e

Page 149: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 143

superiore a z. Il valore critico z puo essere ottenuto utilizzando il fatto che, sel’ipotesi H0 e vera, allora χ2 per n → ∞ converge alla distribuzione Chi–quadrocon k− 1 gradi di liberta. Percio, per n grande, un test con livello di accuratezzaα e ottenuto scartando H0 se

χ2 > χ2k−1,1−α

dove χ2k−1,1−α e il punto critico 1− α per la distribuzione Chi–quadro con k − 1

gradi di liberta3.

Se invece, alcuni parametri fossero non noti, c’e da considerare il fatto che le pj Caso conparametrinon noti

derivano dalla distribuzione ipotizzata, ma con parametri stimati. In particolare,supponendo che siano presenti m parametri non noti e che siano stimati con ilmetodo della massima verosimiglianza, si usano queste stime per calcolare

χ2 =k∑

j=1

(Nj − npj)2

npj,

dove rispetto alla (2.2.6), le pj sono state sostituite dalle pj che sono ottenute uti-lizzando la distribuzione con i parametri stimati. In questo caso si puo dimostrareche, se l’ipotesi H0 e vera, allora χ2 per n →∞ converge alla distribuzione Chi–quadro con k−1−m gradi di liberta (si perdono tanti gradi di liberta quanti sonoi parametri). Il test con livello di significativita α diventa il seguente: si scartaH0 se

χ2 > χ2k−1−m,1−α,

dove χ2k−1−m,1−α e il punto critico 1 − α per la distribuzione Chi–quadro con

k − 1−m gradi di liberta

L’aspetto piu problematico nell’effettuare il test Chi–quadro e la scelta del nu-mero e dell’ampiezza degli intervalli. E un problema difficile e non c’e una rispostadefinitiva, ma solo delle linee guida da seguire per le quali si rimanda ai testi speci-fici. Diciamo solo che e opportuno scegliere gli intervalli in modo tale che risultip1 = p2 = · · · = pk (equiprobabilita) e, in questo caso, basandosi su osservazioniempiriche si e visto che il test Chi-quadro e valido se k ≥ 3 e npj ≥ 5 nel caso con-tinuo; nel caso discreto e opportuno avere tutti i valori npj approssimativamenteuguali e pari ad almeno a 5.Nonostante queste difficolta il test Chi–quadro e molto utilizzato perche puoessere applicato ad ogni distribuzione ipotizzata, mentre altri test non hannoquesta flessibilita.

3Sono disponibili tavole che riportano i valori di questi punti critici

Page 150: dispensa unica SSS

144 SIMULAZIONE

Esercizio 2.2.13 Supponiamo di monitorare il numero di automobili che passano ad un caselloautostradale tra le 7.00 e le 7.05 di giorni feriali per 100 giorni, ottenendo il seguente risultato(numero di auto/frequenza)

numero automobili: 0 1 2 3 4 5 6 7 8 9 10 11frequenze: 12 10 19 17 10 8 7 5 5 3 3 1

Ovvero, in 12 casi e stato osservato il passaggio di 0 auto, in 10 casi e stato osservato il passaggiodi 1 auto, etc. Supponiamo di essere nella fase di analisi dell’input di una simulazione e di volerquindi scegliere una distribuzione di input che meglio rappresenti questi dati. A tale scopo,supponiamo di aver scelto come distribuzione teorica ipotizzata la distribuzione di Poisson diparametro 3.64. Applicare il test di ipotesi Chi-quadro con un livello di significativita α = 0.05

per valutare l’adattamento di questa distribuzione ai dati, ovvero si assuma p(x) =e−λλx

x!,

x = 0, 1, 2, . . ., con λ = 3.64. Nell’applicazione del test considerare i seguenti 7 intervalli: [0, 2),[2, 3), [3, 4), [4, 5), [5, 6), [6, 7), [7, 11]. Considerare i due casi in cui il parametro λ e stimatooppure e noto.

Test di Kolmogorov–Smirnov

Un altro test di ipotesi che viene spesso preso in considerazione e basato sul con-fronto tra una funzione di distribuzione empirica e la funzione di distribuzioneF della distribuzione ipotizzata: si tratta del test di Kolmogorov–Smirnov checome pregio maggiore ha quello di essere valido per ogni dimensione n del nu-mero delle osservazioni, mentre il test chi–quadro e valido in senso asintotico.L’inconveniente maggiore e invece rappresentato dalla limitata applicabilita deltest che, almeno nella sua forma originaria, e valido se tutti i parametri della dis-tribuzione ipotizzata sono noti, ovvero non stimati dai dati e se la distribuzionee continua. Esistono estensioni del test al caso in cui i parametri sono stimatisolo in riferimento a particolari distribuzioni come la distribuzione normale e ladistribuzione esponenziale.

Siano X1, . . . , Xn variabili aleatorie indipendenti con funzione di distribuzioneF e siano dati i valori x1, . . . , xn i valori osservati di X1, . . . , Xn, ovvero sianoessi una realizzazione delle variabili aleatorie. Si puo definire un’approssimazioneempirica Fe della F nel seguente modo:

Fe(x) =|{i : xi ≤ x}|

n=

numero delle xi ≤ x

n.

Fe e la percentuale dei dati del campione che sono minori o uguali di x, ovveroFe e la funzione di ripartizione della variabile aleatoria discreta che assume conla stessa probabilita gli n valori osservati.

Page 151: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 145

In pratica, ordinando le xi per valori crescenti in modo che si abbiax(1) ≤ x(2) ≤ · · · ≤ x(n), risulta

Fe(x) =

0 se x < x(1)

i

nse x(i) ≤ x ≤ x(i+1)

1 se x(n) ≤ x.

Se F (x) e la funzione di distribuzione ipotizzata, una valutazione naturale della“bonta” dell’approssimazione e data da una qualche misura di “vicinanza” tra lefunzioni Fe e F . Una misura dello scostamento puo essere definita da

D = max{∣∣∣Fe(x)− F (x)

∣∣∣}

.

D e detta statistica del test di Kolmogorov–Smirnov.Considerando separatamente il caso in cui Fe(x) − F (x) ≥ 0 e il caso in cuiFe(x) − F (x) ≤ 0, poiche F e una funzione non decrescente, si possono definirele quantita D+ e D− e risulta

D+ = maxx

{Fe(x)− F (x)

}= max

1≤i≤n

{i

n− F (x(i))

}

D− = maxx

{F (x)− Fe(x)

}= max

1≤i≤n

{F (x(i))−

i− 1n

}.

Quindi si haD = max

{D+ , D−}

.

Chiaramente, un valore grande di Dn indica che l’approssimazione non e moltobuona e quindi si scarta l’ipotesi H0 se

D > dn,1−α, (2.2.7)

dove dn,1−α sono costanti che, in generale, possono dipendere dalla distribuzioneipotizzata e dove α e il livello di accuratezza del test.E importante notare che se tutti i parametri della F sono noti e non stimati,allora si puo dimostrare che la distribuzione di D non dipende dalla particolaredistribuzione ipotizzata e questo permette di utilizzare una sola tabella di valoriper dn,1−α per tutte le distribuzioni continue.Sempre nel caso di tutti i parametri noti, e stato verificato che una buona ap-prossimazione si ottiene utilizzando al posto di (2.2.7) il seguente test

(√n + 0.12 +

0.11√n

)D > c1−α

dove c1−α sono costanti non dipendenti da n delle quali si dispone di valoritabellati riportati nella Tabella 2.2.1.

Page 152: dispensa unica SSS

146 SIMULAZIONE

1− α 0.85 0.90 0.95 0.975 0.99c1−α 1.138 1.224 1.358 1.480 1.628

Tabella 2.2.1 Valori delle costanti c1−α nel caso in cui tutti i parametri sono noti

Esistono alcuni casi particolari in cui il test di Kolmogorov–Smirnov puo essereapplicato anche se i parametri sono non noti, ovvero sono stimati. Due casi impor-tanti in cui questo accade sono il caso in cui la distribuzione ipotizzata e Normalecon media µ e varianza σ2 non note, ma entrambe stimate rispettivamente conXn e s2

n e il caso in cui la distribuzione ipotizzata e esponenziale di parametroincognito λ essendo λ stimato con il metodo della massima verosimilianza ovveroλ = 1/Xn.

1) Nel caso in cui la distribuzione ipotizzata e Normale con media e varian-za stimate rispettivamente con Xn e s2

n, si definisce la funzione F comela funzione di distribuzione di una Normale a media Xn e varianza s2

n.Utilizzando questa funzione F si procede analogamente al caso precedentecalcolando D; cambia pero il test in quanto e stato visto che un buon livellodi accuratezza si ottiene scartando H0 se risulta

(√n− 0.01 +

0.85√n

)D > c′1−α

dove c′1−α sono i valori riportati nella Tabella 2.2.2.

1− α 0.85 0.90 0.95 0.975 0.99c′1−α 0.775 0.819 0.895 0.955 1.035

Tabella 2.2.2 Valori delle costanti c′1−α nel caso in cui la distribuzione ipotizzata e Normale

2) Nel caso in cui la distribuzione ipotizzata e esponenziale in cui il parametroincognito λ e stimato con il metodo della massima verosimilianza ovveroλ = 1/Xn, si definisce la funzione F come la funzione di distribuzione delladistribuzione esponenziale di parametro 1/Xn, ovvero F (x) = 1 − e−x/Xn ,x ≥ 0, e si calcola D. In questo caso il test prevede di scartare H0 se

(D − 0.2

n

) (√n + 0.26 +

0.5√n

)> c′′1−α

dove c′′1−α sono i valori riportati nella Tabella 2.2.3.

Page 153: dispensa unica SSS

ELEMENTI DI STATISTICA INFERENZIALE 147

1− α 0.85 0.90 0.95 0.975 0.99c′′1−α 0.926 0.990 1.094 1.190 1.308

Tabella 2.2.3 Valori delle costanti c′′1−α nel caso in cui la distribuzione ipotizzata e esponenziale

Esercizio 2.2.14 Nel definire una distribuzione di probabilita durante l’analisi dell’input diuna simulazione, si hanno a disposizione i seguenti dati:

81, 72, 94, 66.

Utilizzare il test di Kolmogorov-Smirnov per verificare l’ipotesi che la distribuzione esponenzialecon media 100 approssima bene questi dati con un livello di significativita α pari al 2.5%.

Il p-value

Il risultato di un test delle ipotesi porta a scartare o meno l’ipotesi H0: essa siscarta quando la statistica del test (ovvero χ2 nel test Chi–quadro o D nel testKolmogorv–Smirnov) superano il valore del punto critico. Tuttavia non vienespecificato quanto la statistica del test dista dal valore critico. Si puo alloradefinire una probabilita che fornisce una misura della distanza della statistica deltest dal valore critico: si definisce p-value o p-dei-dati come l’estremo inferioredei livelli di significativita che porterebbe a rifiutare H0. Quindi se il livello α emaggiore di tale probabilita (il p-value), l’ipotesi H0 viene scartata, altrimentinon viene scartata. La probabilita data dal p-value fornisce quindi il livello disignificativita critico scendendo al di sotto del quale la decisione cambia da rifiutodell’ipotesi a non rifiuto.

Poiche il p-value e il livello di significativita al di sopra del quale si scarta H0,valori grandi del p-value indicano un buon adattamento della distribuzione ipotiz-zata ai dati, mentre valori piccoli del p-value indicano che il fitting non e buono.Sulla base di cio, molti software operano calcolando il p-value in corrispondenzadi diverse distribuzioni e decidono che la piu adatta a rappresentare i dati equella alla quale corrisponde il p-value piu grande. Questa opzione disponibile inmolti software deve essere tuttavia eventualemte utilizzata con estrema cautela,in quanto e possibile che sulla sola base del valore del p-value non si abbianorisposte adeguate.

Page 154: dispensa unica SSS

148 SIMULAZIONE

2.3 SCELTA DELLE DISTRIBUZIONI DI INPUT

Per condurre una simulazione di un sistema che presenta elementi stocastici enecessario specificare le distribuzioni di probabilita che regolano i processi checaratterizzano il sistema. Ad esempio nei sistemi di code devono essere note ledistribuzioni di probabilita degi tempi di interarrivo e dei tempi di servizio. Unavolta stabilite tali distribuzioni la simulazione procede generando valori casuali daqueste distribuzioni. Se e possibile raccogliere dati reali sulle variabili aleatorie diinteresse, essi possono essere utilizzati per determinare una distribuzione secondotre metodi:

1. i dati sono usati direttamente nella simulazione (“trace driver simulation”).

2. i dati sono raccolti per generare una distribuzione empirica, ovvero perdefinire una funzione di distribuzione empirica che verra usata per produrrel’input della simulazione;

3. i dati raccolti sono utilizzati per definire una distribuzione teorica. Vengonoutilizzate tecniche statistiche per analizzare se una distribuzione teorica traquelle note sia adatta a rappresentare i dati, effettuando i test di ipotesiper verificare la rappresentativita della distribuzione ipotizzata (problemadel “fitting”).

Il primo approccio ha senso solamente quando si possono raccogliere grandi quan-tita di dati rappresentativi del funzionamento del sistema; ha l’ovvio difetto dirappresentare il “passato” ed e usato raramente; puo essere utile per effettuareuna validazione del modello, ovvero per confrontare il modello con il sistemareale, ma non permette un’analisi previsionale.Il secondo approccio elimina questo inconveniente poiche, almeno per distribuzionicontinue, puo essere ottenuto ogni valore compreso tra il minimo e il massimoosservati.Se si puo determinare una distribuzione teorica che si adatta bene ai dati, il terzoapproccio e quello preferibile. I motivi per cui una distribuzione teorica in generee preferibile a una empirica sono i seguenti:

• le distribuzioni empiriche possono avere irregolarita (specialmente se i datisono scarsi) mentre le distribuzioni teoriche sono piu “smooth”, nel sensoche tendono a regolarizzare i dati e rappresentano un comportamento ge-nerale;

• le distribuzioni empiriche non permettono di generare valori al di fuori delrange di valori osservati, mentre le misure di prestazione possono, a volte,dipendere anche da eventi “eccezionali” che corrispondono a valori fuori datale range;

Page 155: dispensa unica SSS

SCELTA DELLE DISTRIBUZIONI DI INPUT 149

• le distribuzioni teoriche sono un modo compatto di rappresentare un in-sieme di valori, mentre in una distribuzione empirica, se ci sono n datidisponibili, si ha bisogno di 2n valori per rappresentarla: il dato e le cor-rispondenti probabilita cumulative (si hanno quindi grandi quantita di datida memorizzare);

• le distribuzioni teoriche si possono variare piu facilmente. Ad esempio se ladistribuzione esponenziale degli arrivi di un sistema di code ha media pari a1/λ = 5, per effettuare una diminuzione del 20% sara sufficiente considerare1/λ = 4.9.

Tuttavia esistono situazioni in cui nessuna distribuzione teorica si adatta ai datiosservati e allora in questo caso si deve usare una distribuzione empirica.

Un difetto dell’uso di distribuzioni teoriche sta nel fatto che esse possono generareanche valori molto grandi (anche se con probabilita molto piccole), quando nellapratica questi non vengono mai assunti realmente.

2.3.1 Distribuzioni empiriche

Supponiamo di disporre di n osservazioni X1, . . . , Xn di una variabile aleatoria edi voler costruire, a partire da esse, una distribuzione continua. Supponiamo diaver ordinato le Xi per valori crescenti e sia X(i) l’i-esima osservazione in ordinecrescente, ovvero risulti

X(1) ≤ X(2) ≤ . . . ≤ X(n).

Si puo costruire la distribuzione empirica come una distribuzione continua linearea tratti, cosı definita:

F (x) =

0 se x < X(1)

i− 1n− 1

+x−X(i)

(n− 1)(X(i+1) −X(i))se X(i) ≤ x < X(i+1),

i = 1, . . . , n− 1

1 se X(n) ≤ x

Si osservi che per ogni i vale F (X(i)) =i− 1n− 1

che e approssimativamente (per n

grande) la proporzione delle Xi che sono minori di X(i).

Esempio 2.3.1 Disponendo dei seguenti valori osservati: 1, 0.4, 4, 2, 2.5, 3.6, 3 costruire ilgrafico della distribuzione empirica. Dopo aver ordinato le osservazioni si ottiene il grafico dellaF (x) riportato nella Figura 2.3.1.

Come abbiamo gia osservato, uno svantaggio nell’utilizzare una distribuzione em-pirica e che le variabili aleatorie generate da essa durante un’esecuzione di unasimulazione non possono essere mai piu piccole di X(1) o piu grandi di X(n).

Page 156: dispensa unica SSS

150 SIMULAZIONE

1/61/31/22/35/61

1 2 3 40.4 2.5 3.6Fig. 2.3.1 Grafico della distribuzione empirica dell’Esempio 2.3.1

Analogamente si possono costruire distribuzioni empiriche per distribuzioni dis-crete; infatti, e sufficiente per ogni x definire p(x) come “proporzione” delle Xi

che sono uguali ad x.

2.3.2 Distribuzioni teoriche

• Distribuzioni ContinueLe distribuzioni teoriche continue alle quali si puo fare riferimento nellacostruzione di un modello di simulazione sono molte. Quelle piu comune-mente utilizzate sono la distribuzione uniforme, la distribuzione esponen-ziale, la distribuzione gamma, la distribuzione normale, la distribuzione log-normale, la distribuzione di Weibull, la distribuzione beta, la distribuzionetriangolare.

In realta spesso si tratta di famiglie di distribuzioni in quanto sono presentiuno o piu parametri che possono essere classificati in:

· parametro di posizione: specifica un punto del range della distribuzionee una sua variazione provoca solamente una traslazione;

· parametro di scala: specifica l’unita di misura dei valori,

Page 157: dispensa unica SSS

SCELTA DELLE DISTRIBUZIONI DI INPUT 151

· parametro di forma: specifica l’andamento della distribuzione.

• Distribuzioni DiscreteLe distribuzioni teoriche discrete che vengono di solito utilizzate come in-put di una simulazione sono: la distribuzione uniforme, la distribuzione diBernoulli, la distribuzione binomiale, la distribuzione geometrica, la dis-tribuzione di Poisson, la distribuzione binomiale negativa.

Per una descrizione dettagliata di ogni singola distribuzione di probabilita e dellecaratteristiche specifiche, si rimanda ad un qualsiasi testo di Calcolo delle Prob-abilita.

2.3.3 Scelta di una distribuzione teorica

Determinare quale distribuzione teorica e adatta a rappresentare dei dati e unproblema complesso. Un modo efficiente per effettuare questa scelta puo esserecosı schematizzato: Verif ica dell段ndipendenzadelle osservazioni

Individuazione di una famiglia di distribuzioniStima dei parametridella distribuzione

Verif ica della rappresentat ivit�Dopo una preliminare verifica dell’indipendenza delle osservazioni, si cerca di in-dividuare una o piu famiglie di distribuzioni candidate, stimando poi nella fasesuccessiva i parametri di queste distribuzioni. A questo punto e necessario effet-tuare una verifica della rappresentativita dei dati reali da parte della distribuzioni

Page 158: dispensa unica SSS

152 SIMULAZIONE

scelta. Se tale verifica non ha successo, e necessario individuare una differentefamiglia di distribuzioni ed eventualmente iterare il processo fino a che la verificae soddisfatta.

Indipendenza delle osservazioni

Preliminarmente e necessario verificare l’indipendenza delle osservazioni in quantoquesta e un’assunzione essenziale per l’utilizzo di tecniche statistiche quali lastima della massima verosimiglianza o il test chi–quadro. Un primo strumento dianalisi e basato su una tecnica grafica. Siano X1, . . . , Xn le osservazioni elencatecosı come sono state osservate nel tempo; un modo possibile per avere un’ideainformale sull’indipendenza consiste nel valutare la correlazione fra diverse osser-vazioni. Sia

ρj =

n−j∑

i=1

(Xi − Xn)(Xi+j − Xn)

(n− j)s2n

la stima del coefficiente di correlazione ρj di Xi e Xi+j , ovvero di due osservazionidistanti j. Se le osservazioni sono indipendenti allora il coefficiente di correlazionee nullo, cioe ρj = 0 per ogni j = 1, . . . , n− 1. Tuttavia poiche ρj e una stima diρj , anche nel caso di osservazioni indipendenti ρj potrebbe essere non nullo. Cisi aspetta, comunque che esso sia prossimo a zero, e quindi possiamo dire che seρj e diverso da zero in maniera significativa, allora le Xi non sono indipendenti.Ci sono due modi grafici per verificare informalmente se le Xi sono indipendenti:il grafico di ρj al variare di j e il diagramma di dispersione delle osservazioniX1, . . . , Xn, ovvero le coppie (Xi, Xi+1) con i = 1, 2, . . . , n − 1. In caso di os-servazioni indipendenti i punti dovrebbero risultare distribuiti casualmente sulpiano, altrimenti, in presenza di correlazioni, essi saranno concentrati intorno arette.

Individuazione di una famiglia di distribuzioni

Una volta verificata l’indipendenza delle osservazioni, il passo successivo e quellodi individuare una distribuzione da scegliere come input della simulazione chesia rappresentativa della variabile aleatoria in ingresso alla simulazione. In unaprima fase vorremmo individuare una famiglia generale senza occuparci, per ora,dei suoi parametri. In alcuni casi, quando esiste una conoscenza “a priori” delfenomeno che la variabile aleatoria rappresenta, essa puo essere utilizzata perottenere la distribuzione. Cio e fatto su base teorica e non richiede osservazioni.Ad esempio, se supponiamo che dei clienti arrivano ad un sistema di servizio unoalla volta e che il numero dei clienti che arrivano in intervalli disgiunti e indipen-dente, allora ci sono motivi teorici per assumere che i tempi di interarrivo sianovariabili aleatorie indipendenti identicamente distribuite secondo la distribuzione

Page 159: dispensa unica SSS

SCELTA DELLE DISTRIBUZIONI DI INPUT 153

esponenziale. Oppure, puo anche accadere che la conoscenza “a priori” permettasolo di escludere alcune distribuzioni. Tuttavia, nella pratica spesso queste infor-mazioni “a priori” non sono disponibili, o comunque non sufficienti. Quello chesi fa piu frequentemente e ricorrere a due strumenti di analisi statistica: le stati-stiche riassuntive delle osservazioni e i grafici dell’andamento delle osservazioni.

• Statistiche riassuntiveDalle osservazioni e possibile ricavare stime di parametri dalle quali cercaredi individuare una famiglia di distribuzioni che meglio realizza il fittingdei dati. I parametri che di solito vengono presi in considerazione sono iseguenti:

– l’intervallo [X(1), X(n)] che ha per estremi il piu piccolo e il piu grandevalore osservati e che approssima il range della distribuzione;

– la stima della media µ data Xn =1n

n∑

i=1

Xi;

– la stima della mediana data da{

X(n+1)/2 se n e dispari[X(n/2) + X((n/2)+1)]/2 se n e pari;

– la stima della varianza σ2 data da

s2n =

n∑

i=1

(Xi − Xn)2

n− 1;

– stime di misure di variabilita:

· nel caso continuo, la stima del rapporto cv =√

σ2/µ

(coefficiente di variazione) data da cv =√

s2n/Xn

· nel caso discreto, la stima del rapporto τ = σ2/µ

data da τ = s2n/Xn

– la stima del grado di asimmetria ν =E[(X − µ)3]

(σ2)3/2

data da ν =

n∑

i=1

[(Xi − Xn)3]/n

(s2n)3/2

.

Un confronto tra media e mediana puo farci capire se considerare la dis-tribuzione simmetrica o no; questo perche nel caso di distribuzioni continuesimmetriche, media e mediana coincidono, come ad esempio nel caso delladistribuzione normale (nel caso di distribuzioni discrete questo e vero solose il numero dei valori distinti che possono essere assunti e pari, altrimenti

Page 160: dispensa unica SSS

154 SIMULAZIONE

sono solo approssimativamente uguali). E importante tener presente che sihanno solo le stime dei parametri, pertanto anche nel caso di distribuzionicontinue simmetriche, stima di media e mediana possono non essere esat-tamente uguali.Per quanto riguarda la misura di variabilita data nel caso continuo dalrapporto cv, si ha che cv = 1 per la distribuzione esponenziale indipenden-temente dal parametro; nel caso discreto si considera invece il rapporto τ esi ha che τ = 1 per la distribuzione di Poisson e τ < 1 per la distribuzionebinomiale.Il grado di asimmetria ν vale zero per distribuzioni simmetriche mentre seν > 0 la distribuzione ha asimmetria verso destra (ν = 2 per la distribuzioneesponenziale); se ν < 0 la distribuzione ha asimmetria verso sinistra.

• Uso di grafici (tecnica dell’istogramma)Per distribuzioni continue e molto utile costruire un istogramma di valoriassunti dalla variabile aleatoria sulla base delle osservazioni che si hannoa disposizione. Un istogramma puo essere considerato una “stima grafica”del grafico della densita di probabilita corrispondente alla distribuzione deidati X1, . . . , Xn. Le funzioni densita di probabilita tipiche hanno formeche in molti casi sono ben riconoscibili e quindi un istogramma puo fornireutili indicazioni. Ricordiamo che per costruire un istogramma si suddividel’intervallo formato dal minimo e dal massimo dei valori assunti dai dati, ink intervalli disgiunti adiacenti

[b0, b1), [b1, b2), . . . , [bk−1, bk)

di uguale ampiezza ∆b = bi − bi−1. Per j = 1, 2, . . . , k si definisce hj ilnumero delle osservazioni che cadono nel j-esimo intervallo diviso il numerototale delle osservazioni, ovvero la proporzione delle Xi contenute nel j-esimo intervallo [bj−1, bj). Si definisce la funzione

h(x) =

0 se x < b0

hj se bj−1 ≤ x < bj , j = 1, 2, . . . , k

0 se x ≥ bk.

Il grafico di h(x) e costante a tratti e puo fornire una buona indicazione sultipo di distribuzione che ha la variabile aleatoria in questione, confrontan-dolo con i grafici delle densita di probabilita ignorando, per il momento,posizione e scala, ma considerando solo la forma.

Mostriamo ora le motivazioni che sono alla base del fatto che la forma dih(x) dovrebbe “somigliare” alla densita di probabilita f dei dati. A questo

Page 161: dispensa unica SSS

SCELTA DELLE DISTRIBUZIONI DI INPUT 155

scopo, sia X una variabile aleatoria con densita di probabilita data da f .Allora per ogni j fissato (j = 1, 2, . . . , k), applicando il teorema della mediasi ha

P (bj−1 ≤ X ≤ bj) =∫ bj

bj−1

f(x)dx = ∆b f(y)

per qualche y ∈ (bj−1, bj). D’altra parte hj approssima P (bj−1 ≤ X ≤ bj)che e il valore di h(y) perche h(x) = hj per ogni x ∈ [bj−i, bj); si ha dunque:h(y) = hj ≈ ∆bf(y). Quindi, h(y) e approssimativamente proporzionale af(y), ovvero h e f hanno approssimativamente forma simile.Una difficolta e data dall’assenza di criteri generali per scegliere k. C’e unaregola detta regola di Sturges che suggerisce di scegliere k = b1 + log2 nc. Regola di

SturgesTale regola non e pero utile in generale e si raccomanda piuttosto di provaredifferenti valori di ∆b e scegliere il piu piccolo che fornisce un istogramma“smooth”. La scelta di ∆b e problematica in genere; infatti se si sceglietroppo piccolo, l’istogramma sara molto poco uniforme (frastagliato); se sisceglie troppo grande l’istogramma puo avere una forma a blocchi e il veroandamento della densita che stiamo cercando sara mascherata in quanto idati sono sovraggregati.Nel caso di variabili discrete si puo ugualmente rappresentare la distribuzionedi probabilita usando un istogramma; per ogni valore xj che puo essere as-sunto dai dati, sia hj = nj/n dove nj e il numero delle occorrenze di talivalori, ovvero hj e la proporzione delle Xi che sono uguali a xj . Si traccianopoi le barre verticali di altezza hj in corrispondenza di xj .

Stima dei parametri

Dopo aver individuato una o piu famiglie di distribuzioni candidate a rappre-sentare i dati osservati, e necessario determinare i parametri di queste distribuzioniin modo che siano completamente definite e utilizzabili in ingresso ad una simu-lazione. Gli stessi dati utilizzati per individuare le famiglie di distribuzioni sonoutilizzati per stimare i loro parametri. La stima dei parametri e stata trattata nelparagrafo 2.2.2 dove, tra tutti i possibili metodi per la stima, e stato consideratolo stimatore di massima verosimiglianza (Maximum Likelihood Estimator) che emolto utilizzato in pratica.

Page 162: dispensa unica SSS

156 SIMULAZIONE

Verifica della rappresentativita della distribuzione di probabilita

Dopo aver individuato una o piu distribuzioni di probabilita candidate e i relativiparametri, si devono esaminare queste distribuzioni di probabilita per verificarese esse rappresentano bene i dati osservati. A tale scopo, si utilizzano di solitoprocedure euristiche basate su confronti grafici e test statistici.

• Procedure grafichePer distribuzioni continue, si confronta l’istogramma dei dati con il graficodella densita di probabilita della distribuzione di probabilita ipotizzata,oppure, per distribuzioni discrete, si confronta l’istogramma con la funzionep(x) della distribuzione ipotizzata.Un altro possibile confronto e tra il grafico della distribuzione empirica e ilgrafico della funzione di distribuzione della distribuzione ipotizzata.

• Test statisticiCome ampiamente discusso nel paragrafo 2.2.3, possono essere utilizzati itest delle ipotesi per verificare se le osservazioni X1, . . . , Xn sono un cam-pione indipendente di una particolare distribuzione di probabilita con fun-zione di distribuzione F . I due test trattati (Chi–quadro e Kolmogorov–Smirnov) sono adatti al caso che stiamo esaminando anche se, come giavisto, essi presentano le loro limitazioni intrinseche.

2.3.4 Scelta delle distribuzioni di input in assenza di dati

In alcuni casi, nella pratica, puo accadere che non sia possibile raccogliere datisul funzionamente del sistema che si vuole studiare perche esso e ancora in fasedi progettazione e quindi non ancora esistente. In questi casi non sono quindidisponibili dati da utilizzare per selezionare una distribuzione di input ad unasimulazione e quindi non sono applicabili le tecniche viste fino ad ora. Senza entranei dettagli, osserviamo solamente che sara necessario far ricorso a procedureeuristiche che si basano sulla natura del sistema, sul ricorso a persone espertedi sistemi della tipologia di interesse, sulle limitazioni fisiche o convenzionali delprocesso in esame.

Page 163: dispensa unica SSS

GENERAZIONE DI OSSERVAZIONI CASUALI 157

2.4 GENERAZIONE DI OSSERVAZIONI CASUALI

Una volta determinate le distribuzioni di input, la simulazione dovra generare du-rante ogni esecuzione osservazioni casuali di variabili aleatorie distribuite secondoparticolari distribuzioni di probabilita. Ad esempio, nel simulare un sistema dicode M/M/1 si avra bisogno di generare i tempi di interarrivo in accordo alla dis-tribuzione esponenziale e cosı anche per i tempi di servizio. Un esempio banaledi cio e stato mostrato alla pagina 123, dove nell’effettuare una semplice esem-plificazione di una simulazione abbiamo avuto bisogno delle due liste di valorigenerati casualmente dalle distribuzioni corrispondenti.Ogni metodo per generare osservazioni casuali da distribuzioni fissate utilizzavariabili indipendenti identicamente distribuite secondo la distribuzione uniformein [0, 1) (che indichiamo con U(0, 1)), nel senso che costruisce le osservazioni ca-suali desiderate a partire da numeri casuali generati uniformemente in [0, 1) at-traverso opportune trasformazioni. Quindi preliminarmente analizziamo breve-mente nel prossimo paragrafo la generazione di numeri casuali con distribuzioneuniforme e nel paragrafo successivo studieremo come generare osservazioni casualisecondo distribuzioni fissate a partire dalla distribuzione U(0, 1).

2.4.1 Generazione di numeri pseudocasuali con distribuzione uniforme

In generale, per generare successioni di numeri casuali si potrebbero utilizzaremetodi quali il lancio dei dadi, l’estrazione da urne, ma ovviamente questi metodinon sono utilizzabili nella simulazione dove e necessario generare lunghe succes-sioni di numeri casuali in tempi molto brevi. Attualmente per generare successionidi numeri casuali si ricorre all’uso del calcolatore e in realta quello che si fa e lagenerazione deterministica di successioni di numeri aventi proprieta statisticheche approssimano molto bene quelle di successioni veramente casuali e che adun’analisi statistica risultano indistinguibili da successioni di numeri casuali. I Numeri

pseudo-casuali

numeri determinati con questa procedura si chiamano numeri pseudocasuali.Per generare numeri pseudocasuali con distribuzione uniforme esistono diversimetodi; i piu utilizzati sono i generatori congruenziali lineari. In questi metodi Generatori

congruen-ziali lineari

una successione di numeri interi Zi viene definita dalla seguente formula ricorsiva

Zi+1 = aZi + c ( mod m )

dove a si chiama moltiplicatore e c viene detto incremento4. Il termine Z0 sichiama seme. Il generatore si dice moltiplicativo se c = 0. Quindi vengonogenerati al piu m numeri interi Zi distinti con 0 ≤ Zi ≤ m − 1. Per ottenerenumeri casuali Ui in [0, 1) e sufficiente definire Ui = Zi/m.

4La notazione “ mod m ” indica la congruenza modulo m, ovvero il resto della divisione per m

Page 164: dispensa unica SSS

158 SIMULAZIONE

Esempio 2.4.1 Vediamo un esempio di generatore moltiplicativo (c = 0). Prendiamo a = 3,Z0 = 3 e m = 7. Si ottiene

Z1 = 9 ( mod 7 ) = 2Z2 = 6 ( mod 7 ) = 6Z3 = 18 ( mod 7 ) = 4Z4 = 12 ( mod 7 ) = 5Z5 = 15 ( mod 7 ) = 1Z6 = 3 ( mod 7 ) = 3Z7 = 9 ( mod 7 ) = 2

Naturalmente la successione e periodica di periodo al piu pari ad m. Se ungeneratore ha periodo pari ad m, ovvero il periodo massimo, si dice che il gene-Periodo

pieno ratore ha periodo pieno e, in questo caso, ogni scelta del seme Z0 portera allagenerazione dell’intero ciclo di valori da 0 a m− 1. Se invece un generatore nonha periodo pieno allora la lunghezza del ciclo puo dipendere dal particolare valoredel seme Z0. E importante avere periodo lungo o, ancora meglio, periodo pieno inmodo che vengono generati tutti gli interi tra 0 e m−1 ed inoltre essi apparirannoesattamente una volta ogni ciclo e questo contribuisce all’uniformita delle Ui.Il teorema che segue riporta le condizioni che devono essere soddisfatte daiparametri m, a e c affinche il generatore abbia periodo pieno.

Teorema 2.4.1 Un generatore congruenziale lineare ha periodo pieno se esolo se sono soddisfatte le seguenti condizioni:

i) m e c sono primi tra loro;

ii) se q e un numero primo che divide m, allora q divide a− 1;

iii) se 4 divide m, allora 4 divide a− 1.

E obiezione comune a tutti i generatori pseudo–random il fatto che le Zi nonsono realmente casuali, ma ogni Zi e completamente determinata dai quattroparametri m, a, c e Z0. Tuttavia, un’attenta scelta di questi parametri inducele Zi ad assumere valori tali che le Ui corrispondenti siano indipendenti identica-mente distribuite secondo la distribuzione uniforme in [0, 1). Un’altra obiezioneriguarda il fatto che, ovviamente ogni numero reale nell’intervallo [0, 1) dovraavere la stessa probabilita di essere generato, mentre le Ui assumono solamentevalori razionali. A questo inconveniente si puo ovviare scegliendo m molto grande(m ≥ 109) in modo che i numeri generati Ui costituiscono un sottoinsieme densodell’intervallo [0, 1).Nei linguaggi di programmazione sono di solito disponibili generatori di numeripseudocasuali ed esistono metodi statistici per valutarne la qualita.

Page 165: dispensa unica SSS

GENERAZIONE DI OSSERVAZIONI CASUALI 159

Tra tutti i generatori di numeri pseudocasuali basati su metodi congruenzialimoltiplicativi, nel caso di computer a 32 bit, il piu utilizzato e il generatore diLearmouth–Lewis dato da c = 0, a = 75 e m = 231 − 1.

2.4.2 Generazione di osservazioni casuali da una distribuzione di probabilita

Esaminiamo ora come, a partire da numeri casuali uniformemente distribuiti in[0, 1) sia possibile generare osservazioni da una fissata distribuzione di probabilita.Per questo scopo sono state introdotte molte tecniche. Ci limitiamo nel seguitoa considerarne due tra le piu utilizzate: il metodo della trasformazione inversa eil metodo dell’accettazione–reiezione.

Metodo della trasformazione inversa

E un metodo per generare osservazioni da una distribuzione di probabilita. Ilmetodo si basa sul seguente risultato teorico [Ross, 2003a] valido nel caso didistribuzioni continue:

Proposizione 2.4.2 Sia U una variabile aleatoria uniforme in [0, 1). Alloraper ogni funzione di distribuzione continua F , la variabile aleatoria

X = F−1(U)

ha funzione di distribuzione F .

Dimostrazione: Sia FX la funzione di distribuzione della variabile aleatoria X.Quindi, per ogni y risulta

FX(y) = P (X ≤ y) = P(F−1(U) ≤ y

).

Poiche F (x) e una funzione di distribuzione, essa e monotona crescente e quindisi ha che F−1(U) ≤ y se e solo se U ≤ F (y). Quindi, poiche U ha distribuzioneuniforme, si ha

FX(y) = P (U ≤ F (y)) = F (y),

ovvero F e la funzione di distribuzione della X.

Quindi, sulla base di questo risultato, data una distribuzione di probabilita confunzione di distribuzione F , a partire dalla distribuzione uniforme in [0, 1) possi-amo costruire una variabile aleatoria la cui funzione di distribuzione e F .

Osservazione 2.4.3 Nel caso in cui la funzione F non e strettamente monotona,non e possibile definire la sua invera; in questi casi, si puo utilizzare la funzione

Page 166: dispensa unica SSS

160 SIMULAZIONE

pseudoinversa data da

F−1(x) = inf {y ∈ IR | x ≤ F (y)} .

Esempio 2.4.4 Supponiamo di voler costruire una successione di numeri pseudocasuali comeosservazioni dalla distribuzione esponenziale, ovvero con funzione di distribuzione F (x) = 1 −e−λx. Innanzitutto determiniamo F−1: da u = F (x) = 1 − e−λx si ricava x = −1/λ ln(1 − u),ovvero

F−1(u) = − 1

λln(1− u).

Quindi se U e una variabile aleatoria uniformemente distribuita in [0, 1),

X = F−1(U) = − 1

λln(1− U) (2.4.1)

e una variabile aleatoria con distribuzione esponenziale con media 1/λ. Quindi, data una suc-cessione di numeri pseudocasuali con distribuzione uniforme in [0, 1), dalla (2.4.1) possiamoottenere una successione di numeri pseudocasuali con distribuzione esponenziale.

Osservazione 2.4.5 E importante osservare che se una variabile aleatoria U hadistribuzione uniforme in [0, 1), anche 1 − U ha distribuzione uniforme in [0, 1)e quindi nella (2.4.1) si puo sostituire nell’argomento del logaritmo (1− U) conU . Tuttavia, come vedremo nel seguito nel paragrafo 2.6.1 sulle tecniche per lariduzione della varianza, questo cambiamento potrebbe indurre un cambiamentonella correlazione delle variabili X generate.

Esempio 2.4.6 Utilizzando quanto ricavato nel precedente Esempio 2.4.4 si puo ottenere lagenerazione di osservazioni casuali dalla distribuzione di Erlang. Infatti sappiamo che la sommadi k variabili aleatorie indipendenti identicamente distribuite secondo la distribuzione esponen-ziale, ciascuna con media 1/(kµ) ha distribuzione di Erlang di parametro k e media 1/µ. Quindiavendo una successione di numeri uniformemente distribuiti in [0, 1), u1, . . . , uk, le osservazionidalla distribuzione di Erlang possono essere ottenute da

x =

k∑i=1

ln(1− ui)

−kµ

che e equivalente a

x = − 1

kµln

[k∏

i=1

(1− ui)

].

Il metodo della trasformazione inversa puo essere esteso ed utilizzato anche nelcaso di distribuzioni discrete, ovvero quando si assume che la variabile X sia unavariabile aleatoria discreta. In questo caso, naturalmente si ha

F (x) = P (X ≤ x) =∑

xi≤x

p(xi),

Page 167: dispensa unica SSS

GENERAZIONE DI OSSERVAZIONI CASUALI 161

dove p(xi) = P (X = xi).Supponiamo quindi che X assuma i valori x1, x2, . . . e supponiamo che essi sianoordinati, ovvero x1 < x2 < · · · . Data una variabile U uniformemente distribuitain [0, 1) si definisce la variabile X nel seguente modo: si determina il piu pic-colo intero positivo k tale che U ≤ F (xk) e si pone X = xk. Dobbiamo oradimostrare che effettivamente la X cosı generata e quella desiderata, ovvero cherisulta P (X = xi) = p(xi) per ogni i. Infatti si ha:

• per i = 1 risulta X = x1 se e solo se U ≤ F (x1), ma F (x1) = p(x1) perchele xi sono ordinate. Ora, poiche la U e uniformemente distribuita in [0, 1),si ha P (X = x1) = P (U ≤ F (x1)) = F (x1) = p(x1)

• per i ≥ 2 risulta X = xi se e solo se F (xi−1) < U ≤ F (xi) per come e sceltoi. Inoltre, poche la U e uniformemente distribuita in [0, 1) si ha

P (X = xi) = P (F (xi−1) < U ≤ F (xi)) = F (xi)− F (xi−1) = p(xi)

Il metodo della trasformazione inversa nel caso discreto ha una giustificazionemolto intuitiva: si divide l’intervallo [0, 1) in sottointervalli contigui di ampiezzap(x1), p(x2), . . . e si assegna X a seconda del fatto che questi intervalli contenganola U che e stata generata.

Metodo dell’accettazione–reiezione

Il metodo della trasformazione inversa e basato sul cacolo della trasformazioneinversa F−1 che non sempre puo essere calcolata o comunque non in manieraefficiente. Per questa ragione sono stati sviluppati altri metodi fra i quali ilmetodo che esaminiamo in questo paragrafo detto “acceptance–rejection” o anche“metodo del rigetto”.

Consideriamo il caso continuo e supponiamo di voler generare osservazioni ca-suali da una distribuzione di probabilita avente funzione di distribuzione F edensita di probabilita f (il caso discreto si tratta in maniera del tutto analoga).Supponiamo di disporre di un metodo per generare osservazioni casuali da una va-riabile aleatoria Y avente per densita di probabilita una funzione g(x). Il metodoaccettazione–reiezione utilizza queste osservazioni per generare osservazioni casu-ali dalla distribuzione di probabilita avente per densita di probabilita la funzionef(x). In particolare, si generano osservazioni casuali della variabile aleatoriaY e poi si accettano o si rifiutano queste osservazioni come osservazioni casualidelle distribuzione con densita data dalla f con una probabilita proporzionale alrapporto f(Y )/g(Y ). Piu in dettaglio, sia c una costante tale che

f(y)g(y)

≤ c, per ogni y.

Il metodo si puo schematizzare nel seguente modo:

Page 168: dispensa unica SSS

162 SIMULAZIONE

Passo 1: si genera un osservazione casuale della variabile aleatoria Y e sigenera un numero casuale U dalla distribuzione uniforme in [0, 1);

Passo 2: se U ≤ f(Y )cg(Y )

allora si pone X = Y e STOP

altrimenti si torna al Passo 1.

Le generazione viene quindi effettuata mediante un algoritmo iterativo che adogni passo genera un coppia di osservazioni casuali (Y, U) e si arresta quando e

soddisfatta la diseguaglianza U ≤ f(Y )cg(Y )

, accettando il valore di Y come osser-

vazione casuale della X.

Si puo dimostrare [Ross, 2003a] che la variabile aleatoria X le cui osservazionicasuali sono generate con il metodo accettazione–reiezione ha la densita di prob-abilita voluta, ovvero vale la seguente proposizione.

Proposizione 2.4.7 La variabile aleatoria X generata con il metodoaccettazione–reiezione ha densita di probabilita f .

Esempio 2.4.8 Applichiamo il metodo dell’accettazione–reiezione per generare osservazionicasuali da una variabile aleatoria avente densita di probabilita f(x) = 20x(1−x)3, 0 < x < 1 (sitratta della distribuzione beta con parametri 2 e 4). Innanzitutto dobbiamo scegliere la funzioneg(x): in questo una scelta di una funzione molto semplice e g(x) = 1, 0 < x < 1, ovvero si scegliela distribuzione uniforme. Ora si deve determinare una costante c tale che risultif(x)/g(x) ≤ cper ogni x. Naturalmente, in questo caso si puo determinare facilmente c massimizzando lafunzione f(x)/g(x); poiche la derivata prima di f(x)/g(x) si annulla in x? = 1/4 e la derivataseconda in questo punto e negativa, il punto x? e un punto di massimo per la funzione f(x)/g(x)e risulta

f(x)

g(x)≤ 135

64= c,

e quindi il test diventa U ≤ 256/27x(1− x)3.Quindi il metodo in questo caso puo essere cosı realizzato:

Passo 1: si generano osservazioni casuali U1 e U2 dalla distribuzione uniforme in [0, 1);

Passo 2: se U2 ≤ 256

27U1(1− U1)

3 allora si pone X = U1 e STOP, altrimenti si torna al Passo 1.

Esistono inoltre tecniche speciali per generare osservazioni da variabili aleatoriedistribuite secondo distribuzioni particolari per le quali si rimanda alla letteraturadedicata.

Page 169: dispensa unica SSS

PROGETTAZIONE DI UNA SIMULAZIONE E ANALISI DELL’OUTPUT 163

2.5 PROGETTAZIONE DI UNA SIMULAZIONE E ANALISI DELL’OUTPUT

In questo paragrafo analizziamo uno degli aspetti fondamentali di una simu-lazione, ovvero la progettazione della simulazione stessa e l’analisi statistica deirisultati. L’errore tipico che si commette nell’effettuare una simulazione e quellodi eseguire un singolo “run” di lunghezza arbitraria e di prendere i risultati chesi ottengono come stime delle caratteristiche del vero modello. Poiche in unasimulazione si utilizzano osservazioni casuali da una o piu distribuzioni di proba-bilita, queste stime sono solamente realizzazioni particolari di variabili aleatorieche possono anche avere varianza molto grande. Questo implica che, in un parti-colare run di una simulazione, queste stime possono anche differire di molto dallecorrispondenti reali caratteristiche del modello.Affinche i risultati di uno studio effettuato attraverso la simulazione abbiano sensoe necessario l’uso di tecniche statistiche per progettare e analizzare gli esperimentidi una simulazione. Nel fare cio si manifesta subito il problema derivante dalfatto che i processi di output della simulazione sono, in generale, autocorrelatie non stazionari e questo rende inapplicabili direttamente le tecniche statisticheclassiche che sono invece basate su osservazioni indipendenti, identicamente dis-tribuite.Un altro problema esistente nell’ottenere stime precise delle caratteristiche delvero modello e dato dal tempo di calcolo necessario per raccogliere la quan-tita necessaria di dati di output per effettuare un’analisi statistica efficace, chepotrebbe essere anche molto elevato.

2.5.1 Dati di output

Siano Y1, Y2, . . . i dati di output di un singolo run di una simulazione; ciascunaYi puo essere vista come una variabile aleatoria e quindi la collezione di variabilialeatorie {Yi, i = 1, 2, . . .} e un processo stocastico. Ad esempio, in un sistema dicode, le Yi possono rappresentare il tempo di attesa in coda dell’i-esimo utente.In generale, le variabile aleatorie Yi potrebbero non essere ne indipendenti, neidenticamente distribuite e quindi nell’analisi di questi dati non possono essereapplicati direttamente i metodi di analisi statistica. Per ovviare a questo in-conveniente, si effettuano piu repliche della simulazione, ciascuna di lunghezzam e si basa l’analisi sulle varie repliche. Formalmente, siano y11, y12, . . . y1m larealizzazione delle variabili aleatorie Y1, . . . , Ym ottenute con la prima replica.Nella seconda replica si avranno differenti realizzazioni delle variabili aleatorieY1, . . . , Ym; siano esse y21, y22, . . . y2m. In generale, supponiamo di aver effettuato

Page 170: dispensa unica SSS

164 SIMULAZIONE

n repliche indipendenti di lunghezza m, ottenendo cosı

y11 y12 · · · y1m

y21 y12 · · · y2m...

......

yn1 yn2 · · · ynm

(2.5.1)

Le realizzazioni di una stessa replica non sono indipendenti, identicamente dis-tribuite, ma se per ogni i = 1, . . . , m consideriamo le osservazioni y1i, y2i, . . . yni,ovvero l’i-esima colonna della (2.5.1) allora esse costituiscono osservazioni in-dipendenti, identicamente distribuite della variabile aleatoria Yi. Quindi l’analisistatistica e applicabile alle osservazioni y1i, y2i, . . . yni, per ogni fissato i = 1, . . . , n.

2.5.2 Transitorio e stato stazionario

Un altro problema importante nella progettazione e nell’analisi dell’output diuna simulazione e dato dalla scelta delle condizioni iniziali e dal fatto che in unsistema si deve distinguere lo stato stazionario e il transitorio.Sia {Yi, i = 1, 2, . . .} il processo stocastico di output e, per ogni i = 1, 2, . . ., sia

Fi(y | I) = P (Yi ≤ y | I) ,

dove y ∈ IR e I rappresenta le condizioni iniziali, ovvero le condizioni alle qualiinizia la simulazione al tempo 0; Fi(y | I) e quindi la probabilita condizionatache l’evento {Yi ≤ y} accada, date le condizioni iniziali I. Ad esempio, in unimpianto di produzione, I potrebbe rappresentare il numero dei job presenti altempo 0, oppure in un sistema di trasporto potrebbe indicare la posizione deiveicoli al tempo 0.La Fi(y | I) e la distribuzione transitoria del processo di output al tempo (dis-Distribuzio-

ne transi-toria

creto) i con condizioni iniziali I. In generale, la Fi(y | I) e diversa per differentivalori di i e per ogni insieme di condizioni iniziali I.Per y e I fissati, la successione {Fi(y | I)}i puo essere convergente per i → ∞.Se per ogni y e I esiste il limite

limi→∞

Fi(y | I) = F (y), (2.5.2)

allora F (y) e la distribuzione stazionaria del processo di output {Yi, i = 1, 2, . . .}.Distribuzio-ne stazio-naria

Lo stato stazionario si raggiunge, in teoria, al limite per i →∞, ma, nella pratica,molto spesso esiste un indice temporale finito k tale che le distribuzioni da quelpunto in poi rimarrano approssimativamente coincidenti. Quando questo accade,si assume che il sistema e nello stato stazionario a partire dal tempo k.

Osservazione 2.5.1 Ovviamente il raggiungimento dello stato stazionario nonequivale a dire che le variabili aleatorie Yk, Yk+1, . . . assumeranno tutte lo stesso

Page 171: dispensa unica SSS

PROGETTAZIONE DI UNA SIMULAZIONE E ANALISI DELL’OUTPUT 165

valore in una particolare replica, ma solamente che hanno (approssimativamente)la stessa distribuzione

Osservazione 2.5.2 La distribuzione F (y) non dipende dalle condizioni inizialiI, ma puo dipendere dalle condizioni iniziali la rapidita di convergenza delledistribuzioni Fi(y | I) a F (y).

2.5.3 Tipi di simulazioni

Una distinzione fondamentale deve essere compiuta tra simulazioni per le qualiesiste un evento “naturale” il cui accadimento indica la conclusione della simu-lazione stessa e simulazioni in cui questo non accade. Ad esempio, se si e inte-ressati a simulare un sistema di code che rappresenta un ufficio postale che aprealle 8.30 e chiude alle 14.00 e finisce di operare dopo che e stato servito l’ultimocliente entrato prima della chiusura, e chiaramente presente l’evento dato dalfatto che il sistema e vuoto dopo le ore 14.00 che identifica la fine dell’operativitadel sistema stesso e quindi della simulazione corrispondente. Un’altro esempiopotrebbe essere dato da un’industria navale che ha un contratto per produrre30 navi in 24 mesi; si vorrano simulare diverse configurazioni in cui puo operarel’industria per studiare quale permetta di evadere l’ordine entro la data fissata;in questo caso l’evento e la fabbricazione di 30 navi. In altri casi, invece un taleevento non esiste; si pensi, ad esempio, ad un sistema di produzione continuo incui si vogliono valutare misure di prestazione a regime.

Formalmente distinguiamo i due casi parlando, nel primo caso, di simulazione con Simulazionecon o senzatermina-zione

terminazione (finita), quando esiste un evento naturale che specifica la lunghezzadi ciascuna replica. In questo caso le condizioni iniziali influenzano le misure diprestazione del sistema e verra naturalmente effettuata un’analisi del transitorio.Nel secondo caso si parla di simulazione senza terminazione nel senso che nonesiste un evento che specifica la lunghezza di una replica; in questo caso si edi solito interessati al comportamento a regime del sistema, ovvero all’analisidello stato stazionario e questo puo comportare che per stimare una misura diprestazione possano essere necessari run molto lunghi della simulazione.Si deve anche notare come in alcuni casi reali lo stato stazionario potrebbe nonessere raggiunto perche le caratteristiche del sistema cambiano nel tempo; tut-tavia, il corrispondente modello di simulazione potrebbe raggiungerlo, poiche nelcostruire il modello si e assunto che le caratteristiche del modello non cambianonel tempo. In questi casi, quando ci sono cambiamenti delle caratteristiche del sis-tema e necessario inserire questi cambiamenti nel modello ed effettuare di nuovolo studio.

Page 172: dispensa unica SSS

166 SIMULAZIONE

2.5.4 Simulazioni con terminazione: analisi del transitorio

Supponiamo di effettuare n repliche indipendenti di una simulazione con ter-minazione dove ciascuna replica ha le medesime condizioni iniziali e finisce conl’evento che determina il termine della replica. Per semplicita, assumiamo che cisia una singola misura di prestazione da considerare rappresentata dalla variabilealeatoria X e sia Xi la realizzazione di questa variabile aleatoria ottenuta nellai-esima replica. Per quanto visto nel paragrafo 2.5.1, le Xi sono variabili aleato-rie indipendenti, identicamente distribuite e questo permette di determinare unastima della media µ = E(X) e il relativo intervallo di confidenza dalle X1, . . . , Xn.Infatti si puo definire lo stimatore (corretto) della media µ dato da

Xn =

n∑

i=1

Xi

n

e lo stimatore (corretto) della varianza dato da

s2n =

n∑

i=1

(Xi − Xn)2

n− 1.

Inoltre, dato α ∈ (0, 1), un intervallo di confidenza approssimato al 100(1− α)%e dato da

Xn ± tn−1,1−α2

√s2n

n,

dove tn−1,1−α2

e il punto critico (1− α2 ) della distribuzione t student a n−1 gradi

di liberta. Indicando con

δ(n, α) = tn−1,1−α2

√s2n

n(2.5.3)

la semiampiezza dell’intervallo di confidenza, si puo scrivere l’intervallo di confi-denza nella forma [

Xn − δ(n, α) , Xn + δ(n, α)].

Se n fosse fissato “a priori” (fixed–sample–size), non ci sarebbe nessuna possibilitadi controllare la precisione della stima Xn, ovvero l’ampiezza dell’intervallo diconfidenza. Quindi e necessario considerare la possibilita di decidere il numerodelle repliche da effettuare in modo da raggiungere una precisione desiderata.Naturalmente esistono due modi di misurare l’errore che si commette:

errore assoluto∣∣Xn − µ

∣∣

errore relativo∣∣Xn − µ

∣∣|µ|

Page 173: dispensa unica SSS

PROGETTAZIONE DI UNA SIMULAZIONE E ANALISI DELL’OUTPUT 167

Iniziamo ad esaminare il caso dell’errore assoluto. In genere si richiede di effet-tuare un numero di repliche n in modo tale che risulti Errore

assolutoP

(|Xn − µ| ≤ β) ≥ 1− α, α ∈ (0, 1), β > 0. (2.5.4)

La (2.5.4) afferma che l’errore assoluto commesso e pari al piu a β con proba-bilita pari ad almeno 1− α. Quindi, se, ad esempio, costruiamo 100 intervalli diconfidenza al 90% utilizzando il criterio di arresto sul numero delle repliche cheabbiamo adottato, ci aspettiamo che l’errore assoluto

∣∣Xn − µ∣∣ sia al piu pari a

β in circa 90 dei 100 casi, mentre nei rimanti 10 casi l’errore assoluto potrebbeessere maggiore di β. Esistono regole che determinano il numero minimo n?

a direpliche da effettuare affinche la (2.5.4) sia soddisfatta; una delle piu semplici ela seguente:

n?a = min {n ≥ 2 | δ(n, α) ≤ β} .

Per quanto riguarda l’errore relativo, si richiede che il numero di repliche n da Errorerelativoeffettuare sia tale che risulti

P

(|Xn − µ||µ| ≤ γ

)≥ 1− α, α ∈ (0, 1), γ > 0. (2.5.5)

Anche in questo caso esistono regole empiriche che forniscono il valore del numerominimo n?

r di repliche da effettuare affinche la (2.5.5) sia soddisfatta; una di questee la seguente:

n?r = min

{n ≥ 10 | δ(n, α)

|Xn| ≤ γ

1 + γ

}.

Il termine γ/(1 + γ) deriva dal fatto che nel calcolare l’errore relativo stiamoutilizzando |Xn|, ovvero una stima di |µ| e non il valore esatto |µ|. Infatti,supponiamo di aver effettuato un numero di repliche sufficienti a garantire cherisulti

δ(n, α)|Xn| ≤ L. (2.5.6)

Allora si ha

1− α ≈ P(|Xn − µ| ≤ δ(n, α)

)= P

(|Xn − µ||Xn| ≤ δ(n, α)

|Xn|

)≤

≤ P

(|Xn − µ||Xn| ≤ L

)= P

(|Xn − µ| ≤ L|Xn − µ + µ|

)≤

≤ P((1− L)|Xn − µ| ≤ L|µ|

)= P

(|Xn − µ||µ| ≤ L

1− L

).

Quindi, affiche valga la (2.5.5) si deve avere L/(1−L) = γ, ovvero L = γ/(1+γ).

Page 174: dispensa unica SSS

168 SIMULAZIONE

Per applicare nella pratica quanto ora discusso sono state definite due strategiegenerali:

• procedura a due fasi: in una prima fase vengono effettuate n0 repliche sullabase delle quali si calcola s2

n0e la semiampiezza dell’intervallo di confidenza

δ(n0, α). Poi, eventualmente, si effettuano altre repliche fino al raggiungi-mento della precisione desiderata non ricalcolando la stima della varianzaall’aumentare delle repliche;

• procedura iterativa: si aumenta iterativamente il numero delle repliche finoa che non si raggiunge il livello di accuratezza desiderato, ricalcolando lastima della varianza ad ogni nuova replica.

Procedura a due fasi

Con questa procedura e possibible determinare il numero delle repliche necessarieper stimare il valore atteso µ = E(X) con una precisione fissata. Nella prima fasevengono effettuate un numero fissato n0 di repliche e sulla base di queste si calcolala stima della varianza s2

n0e l’intervallo di confidenza per µ. A questo punto, nella

seconda fase, assumendo che la stima della varianza non cambi significativamenteall’aumentare del numero delle repliche, si effettuano, eventualmente, ulteriorirepliche fino ad ottenere la precisione voluta. Considerando l’errore assoluto, ilnumero totale delle repliche da effettuare per ottenere un errore assoluto pari alpiu a β e dato da

n?a = min

i ≥ n0 | ti−1,1−α

2

√s2n0

i≤ β

,

ovvero si incrementa il numero delle repliche aggiuntive i di 1 fino a quando siottiene la disuguaglianza verificata. Ovviamente, se n?

a > n0, allora si dovrannoeffettuare n?

a − n0 repliche aggiuntive.

Analogamente, considerando l’errore relativo, supponendo di aver costruito unintervallo di confidenza per µ basato su un numero fissato n0 di repliche, allorasi puo verificare che il numero totale delle repliche da effettuare per ottenere unerrore relativo pari a γ e

n?r = min

i ≥ n0 |ti−1,1−α

2

√s2n0

i

|Xn0 |≤ γ

1 + γ

.

Anche in questo caso, se tale valore n?r e maggiore del numero delle repliche

gia effettuate n0, sara necessario effettuare n∗r − n0 repliche aggiuntive fino alsoddisfacimento della disuguaglianza.

Page 175: dispensa unica SSS

PROGETTAZIONE DI UNA SIMULAZIONE E ANALISI DELL’OUTPUT 169

Procedura iterativa

Quanto visto nel paragrafo precedente presenta l’inconveniente di utilizzare lastima della varianza basata sulle n0 repliche fissate nel calcolo del numero direpliche necessarie per ottenere una precisione desiderata. Tuttavia tali stimepotrebbe essere imprecise e quindi questo potrebbe portare ad una scelta del nu-mero delle repliche troppo grande con notevole spreco di tempo di calcolo, oppuretale numero potrebbe essere troppo piccolo e quindi, di fatto, non si otterrebbe laprecisione voluta. Infatti, se s2

n0e una sottostima della varianza, allora il numero

di repliche necessarie determinato dalla procedura e piu piccolo del necessario,mentre se s2

n0e una sovrastima della varianza, allora tale numero e piu grande

del necessario e quindi vengono effettuate repliche inutili. Questo inconvenientepuo essere superato utilizzando una procedura iterativa che ha lo scopo di deter-minare una stima di µ con errore relativo pari a γ (o assoluto pari a β) e intervallodi confidenza del 100(1 − α)%. La differenza fondamentale rispetto alla proce-dura a due fasi vista nel paragrafo precedente sta nel fatto che, ad ogni replicaaggiuntiva eventualmente effettuata, viene ricalcolata la stima della varianza cheinvece nel caso precedente rimaneva fissata a s2

n0. Uno schema algoritmico che

permette di ottenere una stima di µ con errore relativo non superiore a γ ovveroche permette di soddisfare la (2.5.5) e il seguente:

Passo 0: si effettuano n0 repliche della simulazione e si pone n = n0;

Passo 1: si calcolano Xn e δ(n, α) da X1, . . . , Xn;

Passo 2: seδ(n, α)|Xn| ≤ γ

1 + γsi usa Xn come stima di µ e STOP;

altrimenti si effettua un’ulteriore replica, si pone n = n + 1 e si va alPasso 1.

Da una sperimentazione diretta su un grande numero di modelli e di distribuzionidi probabilita per le quali sono noti i valori di µ e stato verificato che la proceduraora descritta fornisce una buona copertura dell’intervallo di confidenza al 90%utilizzando n0 ≥ 10 e γ ≤ 0.15.

Naturalmente, la stessa procedura puo essere utilizzata considerando l’errore asso-luto al posto dell’errore relativo; tuttavia, il fatto che l’errore assoluto sia piccolo,ovviamente e estremamente dipendente dal modello e molto sensibile alla sceltadi β e quindi, in generale, si preferisce una procedura basata sull’errore relativo.

Page 176: dispensa unica SSS

170 SIMULAZIONE

2.5.5 Simulazioni senza terminazione: analisi dello stato stazionario

Sia {Yj , j = 1, 2, . . .} il processo di output di una simulazione senza terminazione,e supponiamo che esista il limite (2.5.2). Supponiamo di voler stimare la media

µ = limj→∞

E(Yj) = E(Y )

della variabile aleatoria di interesse Y . Naturalmente, date m osservazione Y1, . . . Ym,una stima di µ si puo ottenere da

Ym =

m∑

j=1

Yj

m. (2.5.7)

Tuttavia, a causa del transitorio iniziale dipendente dalla scelta delle condizioniiniziali, Ym non e uno stimatore corretto in quanto e possibile che E(Ym) 6= µ perogni m.Questo problema e detto problema del transitorio iniziale o problema dello startup.Problema

dello“startup”

Per superare questo problema si utilizza una tecnica di cancellazione dei dati ini-ziali detta anche “warming up” del modello che consiste nel non considerare nellastima le prime osservazioni che sono quelle piu influenzate dalle condizioni iniziali.Quindi, invece di utilizzare la stima Ym data dalla (2.5.7), si considera

Y(m,`) =

m∑

j=`+1

Yj

m− `,

dove quindi ` e il numero delle osservazioni che vengono scartate. Ovviamentec’e il problema di come scegliere `, ovvero il periodo di warming up, in modo cheE(Y(m,`)) ≈ µ. Se il valore di ` e troppo piccolo c’e il rischio che la stima risentadelle condizioni iniziali, mentre se e troppo grande si potrebbe avere uno sprecodi tempo di calcolo.Sono state proposte diverse regole per determinare `, nessuna delle quali parti-colarmente soddisfacente. C’e, invece, una procedura basata su un’analisi graficache e efficace. Poiche si vuole determinare un valore ` tale che per i > ` risultiE(Yi) ≈ µ, graficamente questo si traduce nel determinare quando la curva E(Yi),i = 1, 2, . . . si “stabilizza” intorno al valore µ. Il problema e che, molto spesso,si ha un andamento influenzato da un’alta varianza e quindi molto oscillante.Per superare questo inconveniente, e stata introdotta una procedura nota comeProcedura

di Welch procedura di Welch che, prima di effettuare l’analisi grafica prevede un “tratta-mento” dei dati per ridurre la varianza. Uno schema della procedura di Welch eil seguente:

Page 177: dispensa unica SSS

PROGETTAZIONE DI UNA SIMULAZIONE E ANALISI DELL’OUTPUT 171

Passo 1: Si effettuano n repliche ciascuna di lunghezza m:

Y11 Y12 · · · Y1m

Y21 Y12 · · · Y2m...

......

Yn1 Yn2 · · · Ynm.

Passo 2: Si costruisce la successione Y1, Y2, . . . Ym dove

Yj =

n∑

i=1

Yij

n.

Passo 3: Dato k ≤ bm/4c, si sostituisce ciascun termine della successioneY1, Y2, . . . Ym con

Yj(k) =

k∑

h=−k

Yj+h

2k + 1, j = k + 1, . . . , m− k

j−1∑

h=−(j−1)

Yj+h

2j − 1, j = 1, . . . , k

Passo 4: Si sceglie quel valore di ` oltre il quale la successione{Yj(k)

}appare

giunta a convergenza.

Al Passo 2 si effettua la media fra i dati corrispondenti nelle diverse repliche,costruendo cosı le Yj . Poiche risulta E(Yj) = E(Yj) e V ar(Yj) = V ar(Yj)/n,si ha che la media e rimasta invariata, mentre la varianza e stata ridotta di unfattore 1/n.

Al Passo 3, si sostituisce ciascuna Yj ottenuta al passo precedente con la mediatra essa e le Yj immediatamente precedenti e successive ovvero, se j non e troppovicino all’inizio della successione, Yj(k) non e altro che la media di 2k + 1 valoridelle Yj centrate alla j-esima. Il valore k che determina quanti termine inclu-dere nelle media si chiama “time window”. Il valore Yj(k) e chiamato “movingaverage”.

Ad esempio, per k = 2 si ha:

Page 178: dispensa unica SSS

172 SIMULAZIONE

Y1(2) = Y1

Y2(2) =13

(Y1 + Y2 + Y3

)

Y3(2) =15

(Y1 + Y2 + Y3 + Y4 + Y5

)

Y4(2) =15

(Y2 + Y3 + Y4 + Y5 + Y6

)

...

Ym−2(2) =15

(Ym−4 + Ym−3 + Ym−2 + Ym−1 + Ym

).

Nella pratica, le linee guida che conviene seguire per la determinazione dellalunghezza del transitorio sono le seguenti: si disegna il grafico delle Yj(k) perdiversi valori di k e si sceglie il piu piccolo valore di k (se esiste) per il quale ilgrafico e “sufficientemente smooth”; si utilizza questo grafico per determinare lalunghezza ` del periodo di warming up.

Per concludere, ribadiamo il fatto che e molto importante scgeliere in modo ap-propriato i tre parametri fondamentali di una simulazione, m, n e k:

• per quanto riguarda la lunghezza delle repliche m, essa dovra essere suffi-cientemente grande tanto da essere piu grande del valore che ci si aspettaper ` e tale da permettere nella simulazione un numero elevato di occorrenzedi tutti gli eventi, anche quelli poco probabili;

• per quanto riguarda il numero delle repliche n, e opportuno iniziare convalori di n pari a 5 o 10 per poi aumentare il valore, se necessario;

• per quanto riguarda il valore del time window k, esso deve essere sufficiente-mente grande da rendere regolare il grafico delle Yj(k), ma non cosı grandeda non permettere l’individuazione del transitorio.

Stima della media basata sull’approccio “repliche–cancellazioni”

Supponiamo di aver effettuato n repliche di una simulazione, ciascuna di lunghezzam (repliche pilota) e di aver determinato il valore della lunghezza del transitorio`. L’analisi statistica da effettuare per il calcolo della media e dell’intervallo diconfidenza e del tutto analoga a quella gia vista nel paragrafo 2.5.4 nel caso disimulazioni con terminazione, con l’unica differenza che consiste nell’utilizzare,in ciascuna replica, solamente le osservazioni successive alla `-esima.Sia n′ il numero delle repliche ed m′ la lunghezza di ogni replica, assumendo chem′ À ` e dove ` e stato determinato con la procedura di Welch. Per ogni replica

Page 179: dispensa unica SSS

PROGETTAZIONE DI UNA SIMULAZIONE E ANALISI DELL’OUTPUT 173

i si definisce una variabile aleatoria

Xi =

m′∑

k=`+1

Yik

m′ − `, i = 1, . . . n′.

Si ha che le Xi sono indipendenti, identicamente distribuite con E(Xi) ≈ µ e,analogamente al caso dell’analisi del transitorio, si puo definire

Xn′ =

n′∑

i=1

Xi

n′

che e uno stimatore (approssimativamente corretto) della media µ; un intervallodi confidenza approssimato del 100(1− α)% per µ e

Xn′ ± tn′−1,1−α2

√s2n′

n′.

Nella maggior parte dei casi, per il basso costo del tempo di calcolo, non costitu-isce un problema l’uso di n repliche pilota per determinare ` e poi l’uso delle soleultime m′ − ` osservazioni provenienti da n′ repliche differenti da quelle pilota.Naturalmente continuano a valere tutte le considerazioni fatte nel paragrafo 2.5.4per quanto riguarda la possibilita di ottenere una precisione desiderata.

Page 180: dispensa unica SSS

174 SIMULAZIONE

2.6 TECNICHE PER LA RIDUZIONE DELLA VARIANZA

Come abbiamo avuto modo piu volte di osservare, l’output di una simulazionenecessita di un’analisi statistica approfondita per ottenere una buona interpre-tazione dei risultati. Alcune volte, simulazioni di grandi dimensioni richiedonomolto tempo di calcolo e nonostante questo, la precisione dei risultati che si otten-gono potrebbe non essere del tutto soddisfacente. Naturalmente la qualita dellestime e tanto migliore quanto piu e piccola la varianza delle variabili aleatoriedi output. Questo significa che, se si riesce a ridurre tale varianza senza alter-are il valore atteso, si puo ottenere una precisione migliore, ovvero intervalli diconfidenza piu piccoli a parita di carico computazionale della simulazione, op-pure si riesce a raggiungere una precisione desiderata con un minor numero direpliche e/o con repliche di minore lunghezza. A tale scopo, si possono utilizzarele cosiddette tecniche per la riduzione della varianza. Ovviamente e general-mente impossibile conoscere “a priori” la misura della riduzione della varianzache dovra essere ottenuta. Esistono diverse tecniche di riduzione della varianza;nel seguito ne consideriamo due tra le piu utilizzate: l’uso di variabili antitetichee il condizionamento.

2.6.1 Variabili antitetiche

L’uso di variabili antitetiche si basa sulla seguente osservazione: sia X una varia-bile di output di una simulazione e supponiamo di voler stimare il valore attesoθ = E(X). A tale scopo, supponiamo di aver generato due variabili aleatorieX1, X2 identicamente distribuite con media θ. Consideriamo la nuova variabilealeatoria (X1 + X2)/2; ovviamente essa ha la stessa media θ, e la sua varianza edata da

V ar

(X1 + X2

2

)=

14

(V ar(X1) + V ar(X2) + 2Cov(X1, X2)

).

Ora, se X1 e X2 fossero negativamente correlate (ovvero Cov(X1, X2) < 0),utilizzando (X1 + X2)/2 si avrebbe una riduzione della varianza.

Sulla base di questa semplice osservazione, la tecnica delle variabili antiteticheconsiste nell’effettuare coppie di repliche della simulazione e utilizzare la mediadelle coppie delle osservazioni. La correlazione negativa e indotta utilizzandonumeri casuali complementari nella generazione delle osservazioni casuali delledistribuzione di probabilita.Come abbiamo visto nel paragrafo 2.4.2, durante una simulazione, per generareosservazioni casuali secondo una distribuzione di probabilita si utilizza una suc-cessione di numeri casuali Uk uniformemente distribuiti nell’intervallo [0, 1). Latecnica delle variabili antitetiche prevede di utilizzare nella prima replica dellacoppia numeri casuali Uk per generare le osservazioni di una certa distribuzione

Page 181: dispensa unica SSS

TECNICHE PER LA RIDUZIONE DELLA VARIANZA 175

di probabilita, mentre nella seconda replica, per generare osservazioni dalla me-desima distribuzione di probabilita si utilizzano numeri casuali 1− Uk (comple-mentari). Questo e possibile, in quanto come gia visto nell’Osservazione 2.4.5, seUk e distribuita uniformemente in [0, 1), anche 1−Uk e distribuita uniformementein [0, 1).Formalmente, si ha

X1 = h(U1, . . . , Um)

X2 = h(1− U1, . . . , 1− Um),

con Uk variabile aleatoria con distribuzione uniforme in [0, 1) e h un’opportunafunzione. Si puo dimostrare [Ross, 2003a], che se h e una funzione monotona,allora le X1 e le X2 sono correlate negativamente. Infatti, vale la seguente propo-sizione.

Proposizione 2.6.1 Se h(x1, . . . , xm) e una funzione monotona nellex1, . . . , xm, allora, se U1, . . . , Um e un insieme di numeri casuali uniforme-mente distribuiti in [0, 1) allora

Cov (h(U1, . . . , Um), h(1− U1, . . . , 1− Um)) ≤ 0.

Si procede, quindi, in questo modo: si effettuano n coppie di repliche di unasimulazione ottenendo le osservazioni

(X

(1)1 , X

(2)1

),

(X

(1)2 , X

(2)2

), . . . ,

(X(1)

n , X(2)n

)

dove la X(1)j e ottenuta dalla prima replica della j−esima coppia di repliche

utilizzando Uj e dove la X(2)j e ottenuta dalla seconda replica della j−esima

coppia di repliche utilizzando 1− Uj .Quindi, per ogni j = 1, . . . , n, si hanno coppie di osservazioni

(X

(1)j , X

(2)j

)e

quindi si puo definire

Xj =X

(1)j + X

(2)j

2, j = 1, . . . n,

e calcolare la stima della media

Xn =

n∑

j=1

Xj

n.

Si ha

V ar(Xn) =V ar(Xj)

n=

1n

V ar

X

(1)j + X

(2)j

2

=

Page 182: dispensa unica SSS

176 SIMULAZIONE

=V ar

(X

(1)j

)+ V ar

(X

(2)j

)+ 2Cov

(X

(1)j , X

(2)j

)

4n.

Quindi, inducendo una correlazione negativa tra X(1)j e X

(2)j , la varianza V ar(Xn)

viene ridotta. Naturalmente e importante che le repliche siano sincronizzate,ovvero se nel generare il j−esimo elemento della prima replica si utilizza Uj ,allora nel generare il corrispondente elemento j−esimo della seconda replica deveessere utilizzato 1− Uj .

2.6.2 Condizionamento

Un’altra tecnica di riduzione della varianza e basata sul condizionamento. Questatecnica e basata su alcuni noti risultati di Calcolo delle probabilita riguardantiil valore atteso condizionato e la varianza condizionata. In particolare, si fariferimento ai risultati riportati nella seguente proposizione.

Proposizione 2.6.2 Siano X e Y due variabili aleatorie. Allora valgono leseguenti relazioni:

i) E(X) = E (E(X/Y ))

ii) V ar(X) = E (V ar(X/Y )) + V ar (E(X/Y )).

Dimostrazione: [Questa dimostrazione non fa parte del programma di esame]Dimostriamo queste relazioni nel caso in cui le variabili X e Y siano discrete (ilcaso di variabili continue si tratta in maniera analoga).Dato un qualsiasi valore y di Y si puo calcolare E(X | Y = y) e risulta

E(X | Y = y) =∑x

xP (X = x | Y = y) =∑x

xP (X = x, Y = y)

P (Y = y),

da cui

E (E(X | Y )) =∑y

E(X | Y = y)P (Y = y)

=∑y

∑x

xP (X = x, Y = y)

=∑x

x∑y

P (X = x, Y = y)

=∑x

xP (X = x) = E(X)

Page 183: dispensa unica SSS

TECNICHE PER LA RIDUZIONE DELLA VARIANZA 177

e questo dimostra la i). Per dimostrare la ii) si consideri che vale

V ar(X/Y ) = E((X − E(X/Y ))2 /Y

)= E(X2/Y )− (E(X/Y ))2 . (2.6.1)

Prendendo il valore atteso ad entrambi i membri della (2.6.1) si ha

E (V ar(X/Y )) = E(E(X2/Y )

)− E

((E(X/Y ))2

)

= E(X2)− E((E(X/Y ))2

). (2.6.2)

Inoltre vale

V ar(E(X/Y )) = E((E(X/Y ))2

)− (E(E(X/Y )))2

= E((E(X/Y ))2

)− (E(X))2 . (2.6.3)

Sommando la (2.6.2) e la (2.6.3) si ha

E (V ar(X/Y )) + V ar(E(X/Y )) = E(X2)− (E(X))2,

ovvero la ii).

Dalla ii) segue facilmente che poiche la varianza e sempre non negativa, cia-scun termine della ii) deve essere maggiore o uguale a zero e quindi risultaE (V ar(X/Y )) ≥ 0, da cui si ha

V ar(X) ≥ V ar(E(X/Y )). (2.6.4)

Questo ci permette di affermare che se X e una variabile di output di una si-mulazione e supponiamo di voler stimare il valore atteso θ = E(X), per la i), siha

θ = E(X) = E (E(X/Y )) ,

ovvero E(X/Y ) e uno stimatore corretto della media e, per la (2.6.4), si ha chela sua varianza e inferiore. Quindi puo essere piu conveniente utilizzare E(X/Y )come stima di θ.

In sintesi, lo spirito di questa tecnica e quello di sfruttare qualche proprietaspeciale di un modello di simulazione (ove esista), sostituendo una stima di unaquantita con il suo valore analitico esatto. Rimuovendo questa fonte di variabilitasi dovrebbe avere una variabile aleatoria di output piu “stabile”, anche se non c’ealcuna garanzia che questo sia verificato.

Page 184: dispensa unica SSS

178 SIMULAZIONE

2.7 SOFTWARE DI SIMULAZIONE: ARENA

Nel paragrafo 2.1.4 abbiamo fatto cenno ad alcuni pacchetti software di simu-lazione tra i piu diffusi. Tra questi scegliamo di utilizzare il software ARENA

Basic Edition 7.01, prodotto dalla Rockwell Software che e disponibile in “aca-demic mode”. I siti web di riferimento sono http://www.arenasimulation.com

e http://www.software.rockwell.com/arenasimulation.

Per ogni dettaglio sull’uso di ARENA si fa riferimento a [Kelton et al., 2004] ealla User’s Guide disponibile on line.

Si riportano di seguito alcuni esercizi svolti durante le esercitazioni.

Esercizio 2.7.1 In un laboratorio di analisi di un ospedale il centro prelievi e aperto dal lunedıal sabato dalle 7.30 alle 11.00. Gli utenti arrivano al centro con intertempi di arrivo distribuitiesponenzialmente con media 7 minuti. Appena arrivato al centro prelievi un utente deve ritirareun numero da una macchinetta distributrice e poi deve attendere di essere chiamato allo sportelloper l’accettazione dove presentera la richiesta di analisi del proprio medico curante; gli utentisono chiamati in ordine di numero crescente e le operazioni per l’accettazione sono eseguitein tempi distribuiti uniformemente tra 1 e 1.5 minuti. Dopo l’accettazione l’utente si recaall’ufficio cassa se deve pagare il ticket oppure, se e esente da tale pagamento, si reca direttamenteall’ambulatorio per il prelievo. Il pagamento del ticket richiede tempi distribuiti uniformementetra 0.5 e 1 minuto, mentre i tempi per effettuare i prelievi presso l’ambulatorio sono distribuitiesponenzialmente con media 5 minuti. Realizzare un modello si simulazione per questa situazionein ARENA.

Esercizio 2.7.2 Un’impresa per la trasformazione di semilavorati deve processare l’arrivo di100 semilavorati; inoltre questi ultimi dovranno passare attraverso 2 ulteriori processi di la-vorazione: detti Machining Center ed Inspection Station. Dopo tali processi verra effettuatoil controllo di qualita sul prodotto finito valutandone il grado di finitezza. I dati relativi alproblema sono:

• al primo processo produttivo i semilavorati arrivano uno alla volta con intertempo diarrivo esponenziale (media pari ad 1 minuto);

• i tempi di processamento (espressi in minuti) al Machining Center sono uniformementedistribuiti nell’intervallo [0.65, 0.70];

• i tempi di processamento (espressi in minuti) al Inspection Station sono uniformementedistribuiti nell’intervallo [0.75, 0.80];

• con probabilita del 50% i pezzi controllati sono “perfect” ed escono dal sistema attraversoun proprio canale;

• con probabilita del 20% i pezzi controllati sono “very good” ed escono dal sistema at-traverso un proprio canale;

• con probabilita del 5% i pezzi controllati sono “good” ed escono dal sistema attraversoun proprio canale;

• con probabilita del 25% i pezzi controllati rientrano nel sistema e vengono rilavorati suidue processi.

Si costruisca con il simulatore ARENA il processo sopra descritto e se ne verifichi il funziona-mento. Si provi a modificare poi il numero degli arrivi da 100 a 1000 e verificarne il differentefunzionamento. Infine si modifichi il sistema, agendo solo sui due processi, al fine di evitare ilproblema che si crea passando da 100 a 1000 arrivi.

Page 185: dispensa unica SSS

SOFTWARE DI SIMULAZIONE: ARENA 179

Esercizio 2.7.3 Un Computer consta di 1 CPU, 3 terminali, 1 unita Hard Disk (HD) e 1unita a nastro (Tape). In ciascun terminale siede un utente il quale invia jobs alla CPU conintertempi distribuiti esponenzialmente (valore atteso pari a 100 secondi). I jobs si accumulanoin una coda (FIFO) prima di essere processati dalla CPU. Ciascun job processato dalla CPU latiene occupata per un tempo distribuito esponenzialmente (valore atteso pari a 1 secondo). Unjob che lascia la CPU puo:

• con probabilita 20% ritornare al terminale che l’ha inviato;

• con probabilita 72% andare nella coda (FIFO) dell’ Hard Disk;

• con probabilita 8% andare nella coda (FIFO) dell’unit a nastro.

Ciascun job processato dall’Hard Disk necessita di un tempo distribuito esponenzialmente (va-lore atteso pari a 1.39 secondi), dopodiche torna alla coda della CPU. Analogamente ciascunjob processato dall’unita a nastro necessita di un tempo distribuito esponenzialmente (valoreatteso pari a 12.50 secondi), poi torna alla coda della CPU. Tutti i job prodotti dagli operatorisono tra loro statisticamente indipendenti. Si costruisca con il simulatore ARENA un modellodel processo sopra descritto e si stimino i tempi di attesa in coda alla CPU, Hard Disk e unitaa nastro. Si supponga di eseguire la statistica in due situazioni distinte:

per un numero di repliche pari a 10 ed una durata di ciascuna replica pari a 60 minuti;

per un numero di repliche pari a 5 ed una durata di ciascuna replica pari a 60 secondi.

Quale conclusione suggerisce il confronto dei risultati riportati nelle due prove ?

Page 186: dispensa unica SSS

180 SIMULAZIONE

2.8 RIFERIMENTI DEL CAPITOLO 2

La trattazione di questo capitolo e basata sul testo [Law, Kelton, 2000] che rapp-resenta un testo completo su tutti gli aspetti della simulazione e quindi utile ancheper approfondimenti. Per aspetti piu teorici si puo consultare il capitolo 11 deltesto [Ross, 2003a]. Fra i numerosi ulteriori testi sulla simulazione citiamo, adesempio, [Ross, 2002] e [Banks et al., 2001]. Il testo [Banks, 1998] riporta unacollezione di articoli che forniscono un’adeguata panoramica sulle metodologie ele aree di applicazione della simulazione.

Per quanto riguarda il software di simulazione ARENA trattato nel paragrafo 2.7si fa riferimento al testo [Kelton et al., 2004].

Segnaliamo inoltre il sito Web dell’Informs College on Simulationhttp://www.informs-cs.org

e il sito dei proceedings delle conferenze annuali “Winter Simulation Conference”http://www.informs-cs.org/wscpapers.html

nel quale si possono trovare molti articoli e survey aggiornate su diversi aspettidella simulazione e su applicazioni della simulazione.

Banks, J. (1998). Handbook on Simulation. Principles, Methodology, Ad-vances, Applications, and Practice. Wiley and Sons, New York.

Banks, J., J.S.Carson, Nelson, B., Nicol, D. (2001). Discrete–eventsystem simulation. Prentice Hall.

Law, A., Kelton, W. (2000). Simulation modeling and analysis. McGraw– Hill, New York, third edition.

Kelton, W., Sadowski, R., Sturrock, D. (2004). Simulation withArena. McGraw – Hill, New York, third edition.

Ross, S. (2002). Simulation. Academic Press, San Diego, third edition.

Ross, S. (2003a). Introduction to probability models. Academic Press, SanDiego.

Ross, S. (2003b). Probabilita e statistica. Apogeo, Milano.

Page 187: dispensa unica SSS

ESERCIZI SULLA SIMULAZIONE 181

2.9 ESERCIZI SULLA SIMULAZIONE

Esercizio 2.9.1 Applicare il metodo della trasformazione inversa per generarecinque osservazioni casuali dalla distribuzione esponenziale con media pari ad 1,a partire dai seguenti cinque numeri casuali generati dalla distribuzione uniformein [0, 1)

0.495 0.335 0.791 0.469 0.279

Esercizio 2.9.2 Si vuole effettuare una simulazione di un sistema di code M/M/3in cui la frequenza media di arrivo e pari a 20 e la velocita di servizio e pari a10, essendo interessati a stimare il numero medio di utenti presenti nel sistema.Supponiamo che siano state effettuate 5 repliche indipendenti dalle quali si sonoottenuti i seguenti risultati:

1a replica: 3.282a replica: 2.573a replica: 3.014a replica: 2.935a replica: 2.55

Calcolare la stima della media e l’intervallo di confidenza al 95%. Facendo rifer-imento a tale intervallo di confidenza, trascurando il problema dello start up esupponendo di voler ottenere un errore assoluto sulla stima della media inferiorea 0.2, determinare se le cinque repliche effettuate sono sufficienti ad ottenere taleprecisione. In caso negativo, applicando la procedura iterativa, determinare il nu-mero delle repliche necessarie per ottenere la precisione voluta sapendo che nelleeventuali successive cinque repliche si ottengono i seguenti valori:

6a replica: 2.697a replica: 2.618a replica: 2.859a replica: 2.9110a replica: 2.88

Esercizio 2.9.3 Applicare la procedura di Welch, con un valore di time windowk = 2, al seguente output di una simulazione

1a replica: 3.72 2.90 3.32 2.50 2.12 3.90 3.10 2.602a replica: 2.37 3.80 4.00 3.75 2.90 3.12 2.30 2.703a replica: 3.12 2.05 2.90 2.55 2.95 3.30 3.00 2.804a replica: 2.98 3.90 3.54 3.10 2.78 2.10 1.90 2.355a replica: 2.50 1.90 3.10 2.60 2.20 3.00 2.70 2.85

Dei valori Yj(2) ottenuti dalla procedura, (trascurando il problema dello startup)determinare media e t intervallo di confidenza al 95%.

Page 188: dispensa unica SSS
Page 189: dispensa unica SSS

3

3.1 ESERCIZI DI RIEPILOGO

Esercizio 3.1.1 Dato un sistema M/M/2 con frequenza media di arrivo pari aλ e velocita di servizio pari a µ, con λ < 2µ

• Scrivere le equazioni di Kolmogorov relative al processo di nascita e morteal quale si puo ricondurre questo sistema;

• ricavare un’espressione di pn in funzione di λ e µ.

Esercizio 3.1.2 In un fast–food e previsto il servizio “drive”, ovvero si raggiungecon l’auto una piattaforma e si viene serviti senza scendere dall’auto. Vieneservita un’auto alla volta e attualmente c’e spazio solamente per 3 auto in attesa.Gli arrivi dei clienti sono poissoniani con in media 40 auto l’ora e i tempi diservizio sono distribuiti esponenzialmente con media di 50 auto l’ora. Il profittomedio che il gestore ricava dall’effettuazione di un servizio e di 0.50 Euro. Inoltreil gestore puo affittare altri spazi auto a 9 Euro al giorno. Il fast–food e aperto24 ore su 24. Determinare se e conveniente affittare posti auto aggiuntivi e, incaso affermativo, calcolare quanti.

Esercizio 3.1.3 In un ciclo produttivo di un’industria c’e una stazione di is-pezione il cui servizio consiste nell’effettuare un controllo su un pezzo semilavo-rato e che ha un ciclo operativo costante di 6 minuti. Gli arrivi alla stazione diispezione sono poissoniani alla media di 4 pezzi l’ora. Determinare

• il numero medio di pezzi presenti in coda in attesa di essere lavorati dallastazione di ispezione;

183

Page 190: dispensa unica SSS

184

• il numero medio di pezzi presenti nel sistema;

• il tempo medio di attesa di un pezzo in coda prima di essere lavorato;

• il tempo medio di permanenza nel sistema.

Senza effettuare il calcolo diretto, ma utilizzando i valori gia calcolati, dedurre ivalori del tempo medio di attesa in coda e il numero medio di pezzi in coda nelcaso in cui i tempi di servizio fossero esponenziali.

Esercizio 3.1.4 Presso un ambulatorio medico arrivano i pazienti ad intervallimedi di 20 minuti e sono necessari, in media 15 minuti per la visita medica. Siassume che gli arrivi sono poissoniani e che i tempi di durata delle visite sonoesponenziali. Il medico desidera avere sufficienti posti a sedere tra la sala d’attesadell’ambulatorio e quello su cui siede il paziente durante la visita in modo che nonpiu dell’1% dei pazienti deve attendere in piedi. Quante sedie dovra acquistare ?

Esercizio 3.1.5 Supponiamo che in 10 repliche indipendenti di una simulazione,una variabile aleatoria assuma i seguenti valori Xj : 9.98, 10.07, 9.94, 10.22, 9.98,10.01, 10.11, 10.01, 9.99, 9.92. Determinare la stima della media e l’intervallo t

di confidenza al 95%.

Esercizio 3.1.6 In un ufficio postale ci sono 6 sportelli cassa che operano dalle8 alle 14. Assumiamo che i clienti arrivino secondo Poisson con frequenza di 2al minuto, e che i tempi di servizio di ciascun servente sono uniformemente dis-tribuiti tra 2 e 3 minuti. Effettuando 10 repliche indipendenti di una simulazione,si ottengono i seguenti valori per il numero medio degli utenti in coda

numero replica valore1 1.492 1.643 1.954 1.455 1.516 1.557 1.888 1.369 1.7810 1.46

Determinare se le 10 repliche effettuate sono sufficienti per stimare il numeromedio di utenti in coda con un errore relativo pari a 0.07 e un intervallo diconfidenza al 90%. Dire, inoltre, motivando la risposta, se si possono utilizzarele formule per le misure di prestazione di un sistema di code M/G/s per studiarequesto problema.

Page 191: dispensa unica SSS

BIBLIOGRAFIA 185

Bibliografia

Banks, J. (1998). Handbook on Simulation. Principles, Methodology, Advances,Applications, and Practice. Wiley and Sons, New York.

Banks, J., J.S.Carson, Nelson, B., Nicol, D. (2001). Discrete–event systemsimulation. Prentice Hall.

Bertsekas, D., Gallager, R. (1991). Data Networks. Prentice Hall, UpperSaddle River, NJ, second edition.

Bhat, U. (2008). An Introduction to Queueing Theory. Birkhauser, Boston.

Billingsley, P. (1979). Probability and mesaure. Wiley and Sons, New York.

Bratley, P., Fox, B., Schrage, L. (1987). A guide to simulation. Springer–Verlag, New York, second edition.

Cooper, R. (1981). Introduction to queueing theory. North Holland, New York.

Gross, D., Harris, C. (1998). Fundamental of queueing theory. Wiley andSons, New York, third edition.

Hillier, F., Lieberman, G. (2001). Introduction to operations research. Mc-Graw – Hill, New York.

Kelton, W., Sadowski, R., Sturrock, D. (2004). Simulation with Arena.McGraw – Hill, New York, third edition.

Page 192: dispensa unica SSS

186 BIBLIOGRAFIA

Kleinrock, L. (1975). Queueing systems, vol. I: Theory. Wiley, New York.Disponibile nella traduzione italiana: Sistemi a coda, Introduzione alla teoriadelle code, Hoepli, 1992.

Kleinrock, L. (1976). Queueing systems, vol. II: Computer Applications. Wiley,New York.

Law, A., Kelton, W. (2000). Simulation modeling and analysis. McGraw –Hill, New York, third edition.

Ross, S. (2002). Simulation. Academic Press, San Diego, third edition.

Ross, S. (2003a). Introduction to probability models. Academic Press, San Diego.

Ross, S. (2003b). Probabilita e statistica. Apogeo, Milano.

Page 193: dispensa unica SSS

Sommario

Prefazione iii

Introduzione v

1 Teoria delle code 11.1 Generalita 3

1.1.1 Esempi reali di sistemi di code 41.1.2 Componenti di un sistema di servizio 51.1.3 Notazione di Kendall 8

1.2 Problematiche di interesse e relazioni fondamentali 101.2.1 Definizioni e notazioni standard 101.2.2 Misure di prestazione 121.2.3 Relazioni fondamentali 15

1.3 Modelli stocastici dei processi di arrivo e di servizio 201.3.1 La distribuzione esponenziale e le sue proprieta 201.3.2 Il processo di Poisson 251.3.3 Altri modelli per processi di arrivo 30

1.4 Processi di nascita e morte 331.4.1 Caratterizzazione dei processi di nascita e morte 331.4.2 Le equazioni di Kolmogorov e la soluzione

stazionaria 371.4.3 Sistemi di code e processi di nascita e morte 45

187

Page 194: dispensa unica SSS

188 SOMMARIO

1.5 Sistemi a coda basati su processi di nascita e morte 461.5.1 Sistemi con arrivi poissoniani: proprieta PASTA 471.5.2 Sistemi M/M/s 501.5.3 Sistemi M/M/s/K 611.5.4 Sistemi M/M/s/ · /U 671.5.5 Sistemi con velocita di servizio e frequenza di arrivo

dipendenti dallo stato 711.5.6 Sistemi M/M/∞ 75

1.6 Sistemi a coda con distribuzioni non esponenziali 761.6.1 Sistemi M/G/1 761.6.2 Sistemi con arrivi non poissoniani 82

1.7 Modelli di code con disciplina della coda basata su criteridi priorita 83

1.8 Reti di code 871.8.1 Generalita 871.8.2 Il processo delle partenze per i sistemi M/M/s 881.8.3 Serie di code 901.8.4 Reti di Jackson aperte 931.8.5 Reti di Jackson chiuse 101

1.9 Riferimenti del Capitolo 1 1041.10 Esercizi di riepilogo 105

Appendice A: Formulario – Sistemi a coda 111A.1 Modelli basati su processi di nascita e morte 111

A.1.1 Sistemi M/M/1 111A.1.2 Sistemi M/M/s 112A.1.3 Sistemi M/M/1/K 112A.1.4 Sistemi M/M/s/K 113A.1.5 Sistemi M/M/1/ · /U 113A.1.6 Sistemi M/M/s/ · /U 114A.1.7 Sistemi con λ e µ dipendenti dallo stato – singolo

servente 114A.1.8 Sistemi con λ e µ dipendenti dallo stato –

multiservente 115A.1.9 Sistemi M/M/∞ 115

A.2 Modelli con distribuzioni non esponenziali 116A.2.1 Sistemi M/G/1 116

Page 195: dispensa unica SSS

SOMMARIO 189

A.2.2 Sistemi M/D/s 116A.2.3 Sistemi M/Ek/1 116

A.3 Modelli con disciplina della coda basata su criteri dipriorita 117A.3.1 Priorita senza interruzione del servizio 117A.3.2 Priorita con interruzione del servizio – singolo

servente 117

2 Simulazione 1192.1 Generalita sui modelli di simulazione 120

2.1.1 Elementi di un modello di simulazione 1202.1.2 Classificazione dei modelli si simulazione 1222.1.3 Simulazione ad eventi discreti 1222.1.4 Schema dello studio di un problema basato sulla

simulazione 1242.1.5 Applicazioni tipiche della simulazione 127

2.2 Elementi di Statistica inferenziale 1292.2.1 Statistiche campionarie e loro distribuzione 1292.2.2 Stima di parametri 1332.2.3 Test delle ipotesi 141

2.3 Scelta delle distribuzioni di input 1482.3.1 Distribuzioni empiriche 1492.3.2 Distribuzioni teoriche 1502.3.3 Scelta di una distribuzione teorica 1512.3.4 Scelta delle distribuzioni di input in assenza di dati 156

2.4 Generazione di osservazioni casuali 1572.4.1 Generazione di numeri pseudocasuali con

distribuzione uniforme 1572.4.2 Generazione di osservazioni casuali da una

distribuzione di probabilita 1592.5 Progettazione di una simulazione e analisi dell’output 163

2.5.1 Dati di output 1632.5.2 Transitorio e stato stazionario 1642.5.3 Tipi di simulazioni 1652.5.4 Simulazioni con terminazione: analisi del transitorio 1662.5.5 Simulazioni senza terminazione: analisi dello stato

stazionario 170

Page 196: dispensa unica SSS

190 SOMMARIO

2.6 Tecniche per la riduzione della varianza 1742.6.1 Variabili antitetiche 1742.6.2 Condizionamento 176

2.7 Software di simulazione: ARENA 1782.8 Riferimenti del Capitolo 2 1802.9 Esercizi sulla simulazione 181

3 1833.1 Esercizi di riepilogo 183