Sistemi Servizio Simulazione - uniroma1.itroma/didattica/SSS11-12/parteL.pdf2 TEORIA DELLE CODE...
Transcript of Sistemi Servizio Simulazione - uniroma1.itroma/didattica/SSS11-12/parteL.pdf2 TEORIA DELLE CODE...
-
Facoltà di Ingegneria dell’Informazione,
Informatica e Statistica
Corso di Laurea Magistrale in
Ingegneria Gestionale
Sistemi di Servizio e Simulazione
Massimo Roma
Dipartimento di Ingegneria Informatica, Automatica e Gestionale“A. Ruberti”
[email protected]://www.dis.uniroma1.it/˜ roma
anno accademico 2011-12
-
Prefazione
Queste note sono redatte in forma di appunti delle lezioni, ad uso degli studenti
del corso di “Sistemi di Servizio e Simulazione” del Corso di Laurea Magistrale in
Ingegneria Gestionale della Facoltà di Ingegneria dell’Informazione, Informatica
e Statistica della SAPIENZA – Università di Roma.
La trattazione è divisa in due parti: nella prima parte viene affrontato lo studio
analitico della Teoria delle code con particolare attenzione ai modelli basati su
processi 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. Al termine verrà introdotto l’utilizzo di un
ambiente software specializzato per la simulazione.
Poiché il corso è destinato a studenti che per la prima volta nel loro curriculum di
studi affrontano queste tematiche, la trattazione, pur mantenendo un adeguato
rigore formale, è (per quanto possibile) semplificata nell’esposizione degli argo-
menti e nella formulazione degli esempi. Un’integrazione con gli ulteriori esempi
ed esercizi svolti durante le lezioni è indispensabile, cośı come è auspicabile un
approfondimento con “casi di studio” reali.
Prerequisiti essenziali per una buona comprensione di queste note sono una
conoscenza di base del calcolo differenziale e degli aspetti modellistici di base
della Ricerca Operativa. Si assumeranno inoltre come noti i concetti base del
Calcolo delle Probabilità e della Statistica, con particolare riferimento alla teoria
generale della probabilità, alle variabili aleatorie, alle distribuzioni di probabilità
di 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 è riportata una bibliografia essenziale.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
iv PREFAZIONE
Molte utili informazioni sulla Teoria delle code sono disponibili sul sito
http://web2.uwindsor.ca/math/hlynka/queue.html.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
Introduzione
Un sistema può essere definito come una collezione di entità (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 è
utilizzato per tentare di comprendere il comportamento del sistema stesso. L’uso
di modelli come strumento efficace per la soluzione di problemi di decisione è
oggi ampiamente diffuso. Un modello può rappresentare situazioni provenienti
dal mondo reale, anche molto complesse e anche influenzate da fenomeni di natura
aleatoria. Di fondamentale importanza e di uso ormai consolidato sono i modelli
matematici (analitici) che rappresentano la realtà attraverso variabili e relazioni
logico–matematiche e che descrivono in modo semplificato, ma sempre rigoroso,
i fenomeni del mondo reale che si vogliono considerare. È questo il caso dei
modelli di Programmazione Matematica caratterizzati dalla definizione esplicita
di una funzione obiettivo da massimizzare o minimizzare e da un insieme pre-
fissato al quale devono appartenere le variabili1. I modelli matematici sono in
grado di rappresentare moltissime e diverse realtà del mondo reale, e permettono
di ottenere efficientemente una soluzione ottima del problema considerato, o co-
munque soluzioni molto buone. Tuttavia in alcuni casi le situazioni in esame sono
talmente complesse e le dimensioni talmente elevate da rendere difficile o troppo
costoso l’uso di modelli analitici. In questo caso, uno strumento valido ed efficace
per l’analisi dei problemi è rappresentato dalla simulazione, ovvero dall’utilizzo di
un calcolatore per costruire un modello (modello di simulazione) che permetta di
1Lo studente ha acquisito una buona familiarità con modelli di questo tipo nei corsi di Ricerca Operativa
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
vi INTRODUZIONE
“replicare” le caratteristiche del problema reale in esame. Questi modelli hanno
la differenza fondamentale rispetto ai modelli analitici di utilizzare il calcolatore
non solo come strumento di calcolo, ma anche come strumento per rappresentare
le realtà in esame. Questo significa che se, ad esempio, in un modello di pro-
grammazione matematica c’è una corrispondenza tra relazioni del modo reale e
relazioni matematiche, in un modello di simulazione c’è corrispondenza funzionale
tra elementi della realtà e l’“oggetto” (struttura dati, sottoprogramma, etc.) che
ne svolte le funzioni.
La simulazione, oltre ad essere alternativa all’uso di modelli analitici, gioca un
ruolo di fondamentale importanza all’interno dell’approccio modellistico per la
soluzione 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 troppo
costosa;
• 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 la
conoscenza dei modelli analitici introducendo i cosiddetti modelli di file d’attesa,
che sono uno strumento essenziale per analizzare un’importante classe di sistemi
stocastici, i sistemi di servizio, che sono strutture molto diffuse nella vita reale
caratterizzate dall’arrivo casuale di utenti ciascuno dei quali richiede un servizio,
con la possibilità 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 realtà già esistente, oppure di valutare
diverse scelte progettuali di una realtà ancora da costruire. Le tecniche di simu-
lazione saranno studiate in termini generali e al termine della parte metodologica
verrà introdotto l’uso di un “simulatore ad eventi discreti”, ovvero un ambiente
software specializzato che permette di implementare modelli di simulazione. Si
tratta di ARENA c© prodotto dalla Rockwell Software, un simulatore oggi larga-
mente utilizzato, che attraverso un’interfaccia grafica consente sia di realizzare
un modello di simulazione, sia di effettuare i diversi run di una simulazione e
di analizzare i risultati ottenuti. È possibile scaricare gratuitamente la “student
edition” di ARENA c©.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
1Teoria delle code
L’esperienza quotidiana ci mette in continuo rapporto con la necessità di richiedere
l’erogazione di un servizio a soggetti o enti con la possibilità che si crei una fila
(o coda) in attesa di essere serviti. Questo accade perché il servizio richiede
un certo tempo per essere espletato e perché l’arrivo di coloro che richiedono il
servizio è casuale. Una struttura di questo tipo, ovvero con arrivo casuale di
clienti che richiedono lo svolgimento di un servizio viene chiamato Sistema di
Servizio. Esempi di sistemi di servizio sono molto numerosi anche nella realtà
quotidiana come i distributori di benzina, gli sportelli degli uffici postali o delle
banche, le casse di un supermercato; esempi di situazioni di code per ottenere
un servizio sono anche gli aerei in attesa del decollo o dell’atterraggio, le parti
in attesa di essere lavorate all’interno di un impianto di produzione, i computer
in un sistema di comunicazione in attesa di ricevere o trasmettere dati e molte
altre. Tuttavia, dover aspettare non è solo fonte di disagio personale, ma se si
considera l’ammontare totale delle ore che un popolo di una nazione spreca in
attesa in code esso è un importante fattore della qualità della vita e dell’economia
della nazione. L’impatto degli eccessivi tempi di attesa va anche oltre la semplice
attesa di persone che sono in fila: in un impianto di produzione una macchina
in avaria che è in attesa di essere riparata causa una perdita nella produzione;
ritardi in una rete di telecomunicazioni dovute a linee sature può causare mal
funzionamenti; aerei in attesa del decollo possono seriamente alterare gli orari
dei 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 possono
verificare quando si richiede un servizio. Come si è 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
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
2 TEORIA DELLE CODE
flessibili di lavorazione, i sistemi di trasporto e molti altri. Quindi oltre che
migliorare la qualità della vita delle persone, la teoria delle code trova applicazione
nel settore industriale, dei servizi e moltissimi altri.
Dal punto di vista storico, la formulazione del primo problema di teoria delle
code risale al 1908, quando A.K. Erlang, un ingegnere impiegato presso la Danish
Telephone Company di Copenaghen, ritenuto il fondatore della teoria delle code,
voleva studiare come dimensionare centrali telefoniche allo scopo di mantenere
ad un valore ragionevolmente basso il numero delle chiamate che non potevano
essere connesse (chiamate perse) perché il centralino era occupato.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
GENERALITÀ 3
1.1 GENERALITÀ
Un Sistema di Servizio (o sistema a coda) è una struttura caratterizzata dall’arrivo
casuale di utenti detti clienti ciascuno dei quali richiede lo svolgimento di un’ope- Sistema di
Serviziorazione che viene detta servizio. L’operazione è svolta da un’unità che viene detta
servente (server) (o stazione di servizio) che può servire un utente alla volta.
Poiché gli arrivi degli utenti che richiedono il servizio è casuale e poiché il tempo
necessario per espletare il servizio dal parte del servente è non nullo, si possono
verificare situazioni temporanee in cui il servente non ha la possibilità di soddis-
fare immediatamente le richieste con conseguente generazione di una fila o coda
di clienti in attesa di essere serviti.
Il servente può essere uno solo (singolo canale) oppure ci può essere più di un
servente. Gli utenti che arrivano al sistema attendono in fila se tutti i serventi
sono impegnati, poi vengono serviti ed infine lasciano il sistema. Si tenga conto
del fatto che, di solito, chi gestisce il servizio ricava un utile dall’effettuazione del
servizio stesso, e quindi si adopererà affinché i clienti non vengano scoraggiati da
attese eccessive rinunciando al servizio o rivolgendosi altrove, overo non fornendo
alcun utile al gestore; d’altra parte, il gestore per ovviare a questo inconveniente
potrebbe aumentare il numero dei serventi, ma questo implica un aumento dei
costi ed inoltre l’aumento degli operatori addetti al servizio potrebbe non essere
assolutamente conveniente se questi, tranne nei momenti di maggiore richiesta,
rimangono inattivi per lunghi periodi.
Lo scopo della teoria della code è quello di valutare alcune grandezze (misure
di prestazione) sulle quali basarsi per dimensionare il sistema di servizio. Esse
possono essere la lunghezza media della coda, il numero medio di utenti presenti
nel sistema, la durata media del tempo passato nella coda. Ovvero, deve poter
fornire 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 prima
di essere servito ? Qual è la probabilità che un cliente aspetti più di un tempo
prefissato prima di essere servito ? Qual è l’utilizzazione che ci si aspetta dei
serventi e il tempo che essi sono occupati ? Qual è la probabilità che la coda
superi una certa lunghezza ?
Sistemi con tipologie abbastanza semplici possono essere analizzati analitica-
mente, ma quando le tipologie sono più complicate come, ad esempio, più code
presenti nel sistema, relative ad operazioni diverse, effettuate da serventi diversi, e
tali che tutte le operazioni devono essere effettuate affinché il servizio richiesto sia
espletato, un’analisi analitica non è sempre possibile e l’utilizzo della simulazione
è in questo caso indispensabile per l’analisi delle prestazioni del sistema.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
4 TEORIA DELLE CODE
1.1.1 Esempi reali di sistemi a coda
La descrizione fino ad ora fornita di un sistema di servizio (sistema a coda)
potrebbe sembrare abbastanza astratta e applicabile solamente ad alcuni casi
particolari. Al contrario, i sistemi a coda presentano un vasto campo di appli-
cazione in differenti contesti. Riportiamo di seguito alcune situazioni in cui la
teoria delle code può essere applicata con successo.
• Sistemi di servizi commerciali.Nell’esperienza quotidiana ci sono molte situazioni in cui clienti ricevono un
servizio da una organizzazione commerciale con frequente formazione di fila
d’attesa; esempi sono le casse di un supermercato, gli uffici postali, l’ingresso
ad un museo, le biglietterie ferroviarie, l’anagrafe, gli uffici commerciali
pubblici aperti al pubblico e moltissimi altri.
• Sistemi di servizi sociali.Anche nell’espletamento dei servizi sociali in molte situazioni la formazione
di file d’attesa è spesso inevitabile. Ad esempio, i servizi ospedalieri (servizio
radiografico, laboratorio di analisi cliniche, visite specialistiche), il servizio
ambulatoriale del medico di base, oppure, in generale, uffici pubblici che
forniscono un servizio sociale. Anche il sistema giudiziario può essere visto
come un sistema a coda in cui le corti sono i serventi e gli utenti sono i
processi in attesa di essere celebrati. Il sistema legislativo è un sistema di
file d’attesa dove i progetti di legge in attesa di essere discussi rappresentano
gli utenti del sistema.
• Sistemi di trasporto.I sistemi di trasporto rappresentano un’importante classe di sistemi rapp-
resentabili mediante sistemi a coda. Si pensi, ad esempio, agli autoveicoli
in attesa ai caselli autostradali o ai semafori, agli autocarri o alle navi in
attesa di essere caricati o scaricati, agli aerei in attesa di decollare o at-
terrare. Un altro esempio può essere rappresentato dai parcheggi per auto,
dove i serventi sono gli spazi per il parcheggio. Altri casi sono rappresentati
dai taxi, dagli ascensori, dalle autopompe dei vigili del fuoco.
• Sistemi di produzione.Nei sistemi industriali molto spesso si creano situazioni di attesa da parte di
componenti che devono essere lavorati da linee di produzione. Altri esempi
sono rappresentati dai centri di assemblaggio o dai sistemi di manutenzione
in cui gli operai rappresentano i serventi e le macchine da sottoporre a
manutenzione i clienti.
• Sistemi di comunicazione.Nelle reti di comunicazioni, ad esempio quelle di trasmissione dati, pacchetti
di dati vengono trasmessi lungo le connessioni da un nodo al successivo con
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
GENERALITÀ 5
possibilità di attesa (buffering) quando la domanda in ingresso eccede la ca-
pacità. Situazioni di attesa possono anche verificarsi nel calcolo parallelo in
cui più calcolatori connessi effettuano elaborazioni in parallelo con necessità
di scambiarsi dati. Altri esempi sono rappresentati dai call–center, dove gli
operatori rappresentano i serventi e gli utenti sono coloro che chiamano e
che possono essere messi in attesa fino al momento in cui c’è un operatore
disponibile.
Naturalmente ogni lista di casi reali non può essere esaustiva, ma gli esempi
riportati rappresentano situazioni caratteristiche e dovrebbero suggerire il fatto
che i sistemi a coda pervadono la vita reale in molti e diversi settori della società.
1.1.2 Componenti di un sistema di servizio
Da un punto di vista fisico, un sistema di servizio è composto da un insieme (non
vuoto) di serventi, da un insieme (non vuoto) di aree di attesa (chiamate anche
buffer) che accolgono i clienti in attesa di essere serviti.
Un sistema di servizio può essere schematizzato nelle seguenti componenti carat-
teristiche:
• PopolazioneI potenziali clienti fanno parte della cosiddetta popolazione degli utenti (o
input source). I clienti di una popolazione sono indistinguibili e la carat- Popolazione
degli utentiteristica principale di una popolazione è la dimensione, che rappresenta il
numero totale dei distinti potenziali clienti che richiedono un servizio. Si
può assumere che la dimensione sia finita o infinita. Per semplicità di ana-
lisi, spesso si assumerà che la dimensione sia infinita anche quando essa è
finita purché sufficientemente grande. Il caso finito è più difficile da trattare
perché il numero dei clienti nel sistema influenza il numero dei clienti che
sono al di fuori del sistema. Tuttavia l’assunzione di popolazione finita è
necessaria in alcuni casi.
• Numero dei serventiIn un sistema a coda deve essere noto il numero dei serventi che indichiamo Numero dei
serventi scon s. Infatti, in generale, vi possono essere uno o più serventi e nel caso in
cui vi sono più serventi è necessario distinguere se lavorano “in parallelo”
o “in serie”.
• Schema di arrivoIn un sistema a coda deve essere specificato lo schema di arrivo che de-
scrive il modo secondo il quale i clienti si presentano a richiedere il servizio.
Esso è definito in termini di intervalli di tempo tra due arrivi successivi di
clienti nel sistema (tempo di interarrivo). Questo schema può essere deter-
ministico oppure può essere rappresentato da una variabile aleatoria che,
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
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 diinterarrivo tai esimo e il cliente i-esimo. Degli intertempi di arrivo si suppone nota la
distribuzione di probabilità.
Altri due aspetti meno comuni possono anche presentarsi: la rinuncia di
un utente in arrivo in conseguenza del fatto che la coda è troppo lunga
(balking); l’arrivo degli utenti in gruppo.
• Schema di servizioLo schema di servizio descrive il modo secondo il quale ciascun servente
eroga il servizio. Esso è specificato in termini del tempo di servizio, ovveroTempo di
servizio tsi del tempo necessario ad un servente per “servire” un utente. Il tempo di
servizio può essere deterministico, ma più spesso esso è una variabile aleato-
ria che, in riferimento al cliente i-esimo indichiamo con tsi . Dei tempi di
servizio si suppone nota la distribuzione di probabilità.
Un’assunzione comune è che, nel caso di più serventi, essi operano con il
medesimo schema di servizio, ovvero il tempo di servizio ha la stessa dis-
tribuzione di probabilità. Esiste anche la possibilità di avere i clienti serviti
da una sequenza di serventi, ovvero un cliente per essere completamento
servito richiede l’intervento di più serventi in successione.
• Capacità del sistemaIl valore massimo che può assumere la variabile associata al numero di
utenti presenti nel sistema si definisce capacità del sistema, e corrispondeCapacità
del sistema al numero massimo di utenti che possono essere contemporaneamente nel
sistema, comprendendo sia gli utenti in attesa in coda, sia quelli che stanno
fruendo del servizio.
• Disciplina della codaLa disciplina della coda specifica l’ordine rispetto al quale gli utenti vengono
serviti. Le più comunemente usate sono basate sui seguenti criteri: FIFOCriteri
FIFO,
LIFO,
SIRO
(“first in first out”)1 che corrisponde al servizio degli utenti nell’ordine in
cui arrivano; LIFO (“last in first out”)2 che corrisponde a servire per primo
l’ultimo cliente arrivato; SIRO (“service in random order”) che consiste
nel servire gli utenti scegliendoli a caso; infine, possono esistere criteri di
priorità (PRI) che consistono nel classificare gli utenti in base a classi di
priorità, servendo per primi quelli della classe di priorità più 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”)
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
GENERALITÀ 7
Il processo base che avviene in un sistema a coda è il seguente: clienti che
richiedono un servizio sono generati nel tempo dalla popolazione, entrano nel
sistema e raggiungono la coda. Ad un certo momento, un cliente viene selezion-
ato dalla coda secondo la disciplina della coda. Il servizio richiesto è effettuato da Tempo di
permanenza
nel sistema
un servente e successivamente a ciò il cliente lascia il sistema. Quindi se indichi-
amo con twi il tempo passato complessivamente dall’i-esimo utente nel sistema si
ha
twi = tqi + t
si . (1.1.1)
Rappresentazioni schematiche di sistemi a coda sono riportati nella Figura 1.1.1
e nella Figura 1.1.2.
Coda
Serventi
Popolazione
Fig. 1.1.1 Schema di un sistema a coda con una sola coda e tre serventi in parallelo
Coda
Serventi
Popolazione
Coda
Fig. 1.1.2 Schema di un sistema a coda con due code e quattro serventi in parallelo
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
8 TEORIA DELLE CODE
Naturalmente un servente non deve essere necessariamente un singolo individuo,
ma può essere costituito da un gruppo di persone che lavorano simultaneamente
per il cliente (si pensi, ad esempio, agli operai di un officina di riparazione che
lavorano contemporaneamente per effettuare riparazioni ad apparati in avaria).
Inoltre, i serventi non devono essere necessariamente delle persone: infatti, in
molti casi sono macchine, dispositivi elettronici, etc. Analogamente, un cliente
non deve essere necessariamente un individuo, ma può essere un articolo in attesa
di essere lavorato da una macchina oppure un automobile in attesa di essere
revisionata, etc.
Nel trattare la teoria delle code, un’assunzione che di solito viene fatta e che noi
assumeremo 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
È stata definita una notazione per indicare sinteticamente le caratteristiche prin-
cipali di un sistema di servizio (o a coda); la notazione, chiamata notazione di
Kendall, 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 probabilità degli
intertempi di arrivo;
B rappresenta lo schema di servizio, ovvero la distribuzione di probabilità dei
tempi di servizio;
s rappresenta il numero di serventi ;
c rappresenta la capacità del sistema;
p rappresenta la dimensione della popolazione;
Z rappresenta la disciplina della coda.
Le ultime tre componenti possono non essere specificate, assumendo, i seguenti
valori di default: in mancanza della componente c si assume che la capacità
del sistema sia infinita; se non è specificata la componente p si assume che la
popolazione sia infinita; se non è presente la componente Z si assume che la
disciplina della coda sia FIFO.
Le componenti s, c e p sono numeri interi non negativi. Per quanto riguarda le
distribuzioni di probabilità dello schema di arrivo e di servizio, quelle che vengono
più frequentemente assunte sono la distribuzione esponenziale, la distribuzione
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
GENERALITÀ 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 intertempi
di arrivo, può essere sostituita dalla sigla GI ad indicare un distribuzione
generica di eventi indipendenti.
Molto frequente è l’uso di notazioni del tipo M/M/1 (ovvero con solamente tre
sigle) che, come abbiamo già detto, corrisponde ad avere la capacità del sistema
infinita, 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 distribuzione
esponenziale e che è presente un solo servente. La notazione M/G/1 indica, ad
esempio, un modello con intertempi di arrivo distribuiti esponenzialmente e non
pone nessuna specificazione sulla distribuzione dei tempi di servizio.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
10 TEORIA DELLE CODE
1.2 PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI
Le problematiche di interesse nello studio di un sistema a coda riguardano le
prestazioni del sistema. In particolare, il gestore o il progettista di un sistema
di servizio vuole dimensionare il sistema in modo da ottimizzarne le prestazioni.
Naturalmente, ci sono due punti di vista: i clienti vorranno minimizzare i tempi
di attesa, mentre il gestore del sistema di servizio sarà interessato a sfruttare al
meglio le risorse del sistema stesso, cioè i serventi, in modo da minimizzare i suoi
costi o massimizzare i suoi profitti; da parte del gestore c’è comunque sempre
da prendere in considerazione il costo indiretto dovuto all’eventuale mancato
guadagno dovuto al fatto che, se i tempi di attesa sono troppo lunghi, gli utenti
potrebbero rinunciare al servizio e rivolgersi altrove.
Si è quindi interessati a determinare le distribuzioni di probabilità di alcune
variabili aleatorie che caratterizzano le prestazioni del sistema in relazione alla
coda di utenti che si forma. Una volta note queste distribuzioni si può risalire
ai costi che ne conseguono, ovvero il costo del personale e delle attrezzature del
sistema di servizio da parte del gestore o il costo del tempo passato in attesa da
parte dei clienti.
Salvo diversa specificazione, in presenza di più serventi, assumeremo sempre che
gli s serventi lavorino in parallelo.
1.2.1 Definizioni e notazioni standard
Introdurremo ora alcune definizioni e notazioni standard che vengono di solito
adottate nell’analisi delle prestazione di un sistema a coda e che utilizzeremo nel
seguito.
Si definisce frequenza media degli arrivi dei clienti nel sistema il numero medio diFrequenza
media degli
arrivi
arrivi di utenti nell’unità di tempo. Indicheremo con λ la frequenza media degli
arrivi.
Si definisce velocità di servizio il numero medio di utenti per il quali è espletatoVelocità di
servizio il servizio nell’unità di tempo. Indicheremo con µ la velocità di servizio.
Si definisce fattore di utilizzazione dei serventi ρ il rapporto tra la frequenza mediaFattore di
utilizzazione
dei serventi
degli arrivi e la velocità del servizio moltiplicata per il numero dei serventi, ovvero
ρ =λ
sµ,
che rappresenta la frazione di tempo che i serventi sono occupati, in quanto tale
rapporto è la frazione della capacità di servizio che ha il sistema (sµ) che è
utilizzata in media dai clienti che arrivano (λ).
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI 11
Per quanto riguarda la frequenza media degli arrivi λ e la velocità del servizio µ,
indicati con E(tai ) e E(tsi ) i valori attesi delle variabili aleatorie t
ai e t
si si ha
λ =1
E(tai )e µ =
1
E(tsi ).
Naturalmente, sia λ sia µ potrebbero non essere costanti al variare del numero di
utenti presenti nel sistema. In questi casi, se k denota il numero di utenti presenti
nel sistema, verranno denotate con λk e µk.
Esempio 1.2.1 Supponiamo che in un sistema di servizio l’intervallo di tempo tra due arrivi
successivi di clienti (tempi di interarrivo) siano rispettivamente 3′, 7′, 4′, 10′ e 6′ come illustrato
nella Figura 1.2.1. Quindi nei 30 minuti presi in esame abbiamo un tempo medio di interarrivo
pari a 6 minuti. Perciò il numero medio di arrivi di utenti nell’unità di tempo è di 5 in 30
minuti, ovvero 1/6, quindi λ = 0.1666 utenti al minuto. Analogamente se il numero medio di
utenti per il quali è espletato il servizio è pari a 4 al minuto, ovvero µ = 4, allora il tempo medio
di servizio è 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 un
sistema a
coda n(t)
sistema ed è quindi dato dalla somma del numero dei clienti che sono nella fila di
attesa e il numero dei serventi attivi. Indicheremo con n(t) lo stato del sistema
a coda al tempo t.
Si definisce lunghezza della coda al tempo t il numero di clienti che sono in attesa Lunghezza
della coda
nq(t)
del servizio, ovvero nella fila d’attesa. Indicheremo con nq(t) la lunghezza della
coda al tempo t.
Per quanto riguarda la lunghezza della coda nq(t), essa naturalmente dipende da
s e da n(t) ed in particolare vale
nq(t) =
{0 se n(t) ≤ sn(t)− s se n(t) > s.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
12 TEORIA DELLE CODE
1.2.2 Misure di prestazione
Nell’analisi di un sistema di servizio vengono prese in considerazione alcune
grandezze fondamentali come misure di prestazione. Nella maggior parte dei
casi di interesse si è interessati a valutare queste grandezze assumendo che il sis-
tema abbia raggiunto una situazione di regime e ciò avviene quando il sistema
è stato in funzione per un tempo sufficientemente grande. Infatti, quando un
sistema ha iniziato da poco ad essere operativo, lo stato del sistema sarà forte-
mente influenzato dallo stato iniziale e dal tempo che è trascorso dall’attivazione
del sistema stesso. In questo caso il sistema è detto in condizioni transitorie.Condizioni
transitorie Tuttavia, in molti casi, trascorso un tempo sufficientemente grande, il sistema
diviene 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 può accadere se risulta ρ ≥ 1 nel qual caso lo stato del sistema cresce indefiniti-vamente nel tempo. Per un sistema in condizioni stazionarie la distribuzione di
probabilità dello stato del sistema rimane la stessa nel tempo.
La teoria delle code analizza principalmente sistemi in condizioni di stazionarietà;
il caso di sistema in condizioni transitorie è più difficile da analizzare analitica-
mente e, anche se esistono alcuni risultati validi in questo caso, essi non verrano
considerati. Per effettuare l’analisi di un sistema in condizioni di stazionarietà si
fa uso delle seguenti quantità fondamentali:
pk : probabilità 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 quantità possono essere definite formalmente,
chiarendo il loro significato.
Innanzitutto si osservi che nel definire le grandezze che caratterizzano i sistemi
a coda, non si ha a che fare solamente con variabili aleatorie, ma con processi
stocastici in quanto è 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 probabilità che nel sistema siano presenti k utenti dipende dal
tempo, ovvero si deve definire pk(t) la probabilità che lo stato del sistema al
tempo t sia k. Ora, dalla definizione di valore atteso di una variabile aleatoria
discreta si ricava immediatamente
E(n(t)) =∞∑
k=0
kpk(t) (1.2.1)
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
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 densità di probabilità
delle 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 probabilità pk(t)
rimangano intorno ad un valore. La maggior parte dei sistemi a coda di interesse
raggiungono 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 probabilità limite che il sistema contenga k utenti in
un istante arbitrariamente grande. Questo, ovviamente, non significa che avendo
assunto che pk non dipenda più dal tempo il sistema rimanga sempre in questa
situazione limite. Le probabilità pk devono essere interpretate come probabilità a
lungo termine, ovvero descrivono bene la probabilità che siano presenti k in un
sistema che ha raggiunto condizioni stazionarie.
A questo punto siamo in grado di definire N il numero medio di utenti presenti
nel 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 di
utenti 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 tempo
che 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 valore
di 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, ovvero
definiamo
T q = limi→∞
E(tqi ).
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
14 TEORIA DELLE CODE
Forniamo, ora, una interpretazione grafica delle quantità appena definite. A tale
scopo, 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 degli
utenti serviti e quindi usciti dal sistema in funzione del tempo t. Per semplicità,
ci riferiremo ad un sistema con un singolo servente e con disciplina della coda
FIFO, ma i risultati che otterremo sono validi (e facilmente ottenibili) per qualsi-
asi tipo di sistema a coda. Consideriamo i diagrammi di a(t) e b(t) nell’intervallo
prefissato [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)
wt2wt1
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 =1
t
∫ 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 medio
di permanenza di un utente nel sistema ottenuto come rapporto tra somma dei
tempi di permanenza di ciascun utente nel sistema e il numero totale a(t) di
utenti arrivati nel sistema al tempo t; λt rappresenta la frequenza media degli
arrivi, ovvero il numero di arrivi nell’unità di tempo.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI 15
La maggior parte dei sistemi a coda di interesse sono ergodici nel senso che vale
inoltre la seguente uguaglianza3
limt→∞
Nt = limt→∞
E(n(t)) (1.2.9)
con probabilità 1. Ovvero, per t sufficientemente grande, vale l’uguaglianza tra
la media temporale Nt e il valore atteso N . Analogamente, vale anche
limt→∞
Tt = limi→∞
E(twi ) (1.2.10)
con probabilità 1.
Si osservi che le (1.2.9) e (1.2.10) rappresentano uguaglianze tra medie temporali
a lungo termine rappresentate da limt→∞Nt e da limt→∞ Tt e medie stocastiche
date dai valori attesi.
Ripetendo questi ragionamenti relativamente ai soli utenti in coda, si possono
definire
N qt =1
t
∫ t
0nq(τ)dτ
T qt =1
a(t)
a(t)∑
i=1
tqi
e analogamente ad N nella (1.2.9) si può ottenere N q come
limt→∞
N qt = limt→∞E(nq(t)) (1.2.11)
e analogamente a T nella (1.2.10) si può ottenere T q come
limt→∞
T qt = limi→∞
E(tqi ), (1.2.12)
dove le uguaglianze valgono con probabilità 1.
Per quanto riguarda la frequenza media degli arrivi nell’intervallo [0, t] suppor-
remo che valga
λ = limt→∞
λt = limt→∞
E (a(t))
t, (1.2.13)
avendo assunto che tali limiti esistano.
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
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
16 TEORIA DELLE CODE
1.2.3 Relazioni fondamentali
Esistono importanti relazioni che legano le quantità , N , T e N q, T q in un sistema
a coda in condizioni stazionarie. La prima relazione che analizziamo è uno dei
risultati più generali e utile della teoria delle code. È nota come teorema diTeorema di
Little Little 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 semplificare
la dimostrazione di questo risultato. Nel 1974 S. Stidham ne ha fornito una di-
mostrazione semplice e rigorosa in ipotesi del tutto generali. Tale risultato, anche
detto formula (o legge) di Little è il seguente:
Teorema 1.2.1 In un sistema a coda in condizioni stazionarie vale la seguente
relazione
N = λT (1.2.14)
Dimostrazione: Forniamo solamente una giustificazione per via grafica di questa
formula assumendo che ogni cliente è servito nell’ordine in cui arriva (FIFO); una
giustificazione simile può essere fornita nel caso generale in cui l’ordine dei servizi
è arbitrario (per ogni approfondimento si veda il paragrafo 5.2 di [Cooper, 1981]).
Consideriamo i diagrammi di a(t) (numero totale degli utenti arrivati nel sistema
al tempo t) e di b(t) (numero totale degli utenti serviti e quindi usciti dal sistema
al tempo t) riportati nella Figura 1.2.2 nell’intervallo prefissato [0, t]. L’area
racchiusa tra i due diagrammi è data da
∫ t
0n(τ)dτ (1.2.15)
o, equivalentemente da
b(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 termine
considera 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 entrati
nel 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)
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI 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 T̃t =
b(t)∑
i=1
twi +
a(t)∑
i=b(t)+1
(t− ti)/a(t), la (1.2.18) può essere
riscritta nella forma
Nt = λtT̃t. (1.2.19)
Si osservi ora che la Tt definita in (1.2.11) e la T̃t differiscono per il solo fatto
che T̃t include il tempo totale passato nel sistema da tutti gli utenti arrivati da
1 fino a b(t), ma non considera il tempo passato nel sistema dopo il tempo t
per quegli utenti che sono ancora nel sistema al tempo t; infatti questo tempo
risulta invece conteggiato nella Tt. Siamo ora interessati a passare al limite per
t → ∞ nella (1.2.18). A questo scopo osserviamo che assumendo che Nt tendaad un valore N finito, la differenza tra Tt e T̃t può essere trascurata in quanto
molto piccola 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) e la (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 si
è fatto uso solamente delle quantità Nt, Tt e λt e del fatto che limt→∞Nt = N ,
limt→∞ Tt = T e limt→∞ λt = λ. Questo significa che il teorema continua a valere
anche se le uguaglianza tra medie temporali e medie stocastiche date dalle (1.2.9)
e (1.2.10) non dovessero valere. In questo caso, però, le quantità N e T possono
solamente essere interpretate come medie temporali a lungo termine e non come
valori attesi delle corrispondenti variabili aleatorie.
Osservazione 1.2.3 È importante ribadire che la formula di Little ha una va-
lidità del tutto generale ed in particolare si osservi che:
• è indipendente dalle distribuzioni di probabilità dei tempi di interarrivo edei tempi di servizio (sistemi G/G/s).
• è indipendente dalla disciplina del servizio (la dimostrazione si riferisce alsolo caso di disciplina FIFO solo per semplicità);
• è valida per sistemi in condizioni stazionarie;
• la frequenza λ deve essere la frequenza effettiva, ovvero la frequenza degliingressi effettivi nel sistema. Come si vedrà in seguito, per alcune tipologie
di sistemi a coda (come ad esempio i sistemi a capacità limitata) poiché è
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
18 TEORIA DELLE CODE
prevista la possibilità di rinuncia al servizio, la frequenza media degli arrivi
potrebbe non coincidere con la frequenza degli ingressi effettivi.
Ripetendo le considerazioni fatte nella dimostrazione del Teorema di Little, ma
sostituendo 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 degli
utenti che escono dalla coda (e non dal sistema) si ottiene l’analoga relazione per
quanto riguarda la coda ovvero
N q = λT q (1.2.20)
Una terza importante relazione lega il valore atteso del tempo passato da un
utente nel sistema e il valore atteso del tempo passato nella coda. Vale infatti
T = T q +1
µ(1.2.21)
Questa relazione può essere ricavata dal fatto che, per ogni singolo utente vale la
(1.1.1), ovvero twi = tqi +t
si , dove ricordiamo che t
wi è il tempo passato nel sistema,
tqi è il tempo passato nella coda e tsi è il tempo di servizio. Passando ai valori
attesi 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 relazioni
fondamentali tra le quantità N , T e N q, T q e sono del tutto generali, nel senso che
valgono per qualsiasi sistema di code senza alcuna ipotesi sulle sue caratteristiche.
Esse sono molto importanti perché permettono di determinare tutte le quattro
quantità fondamentali una volta nota una di esse.
Si osservi che poiché 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 può ottenere facilmente una relazione tra N , N q e la
probabilità p0 che nel sistema non vi siano utenti, ovvero che il sistema sia allo
stato 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 relazione
tra il fattore di utilizzazione del servente ρ = λ/µ e p0.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
PROBLEMATICHE DI INTERESSE E RELAZIONI FONDAMENTALI 19
Proposizione 1.2.4 In un sistema a coda con un unico servente in condizioni
stazionarie 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)
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, poiché p0 è la
probabilità che nel sistema non vi siano utenti e che quindi il servente è inoperoso,
il complemento ad 1 di p0 rappresenta l’operosità del servente.
Questi risultati, ed in particolare la formula di Little hanno una interpretazione
immediata in riferimento a casi molto semplici; ad esempio, il traffico cittadino
nelle ore di punta si muove più lentamente (ovvero T è grande) e le strade sono
più affollate (ovvero N è grande). Analogamente in un fast–food, (ovvero in un
sistema con T piccolo) le sale possono essere più piccole (ovvero N è piccolo) di
quelle di un ristorante tradizionale a parità di frequenza di arrivo dei clienti.
Esempio 1.2.5 Consideriamo un sistema di controllo di flusso di dati su rete che deve inviare
pacchetti supponendo che il tempo dell’acnowledgement sia trascurabile. Sulla rete devono
trovarsi N pacchetti quindi non appena il pacchetto i è arrivato a destinazione, il pacchetto
i + N è immediatamento introdotto nella rete. Poiché il numero di pacchetti nel sistema è
sempre N la formula di Little ci permette di affermare che la frequenza di arrivo dei pacchetti
nel sistema λ e il tempo medio di permanenza di un pacchetto nella rete sono collegati dalla
relazione N = λT . Quindi se nella rete c’è congestione e T aumenta, λ deve diminuire. Inoltre se
la rete è congestionata e in grado di consegnare solo λ pacchetti per unità di tempo, aumentando
N avrebbe come risultato solamente un aumento del tempo di permanenza nella rete T .
Si deve comunque prestare molta attenzione nell’applicare la formula di Little
ad 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.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
20 TEORIA DELLE CODE
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 secondi
per la trasmissione con α < 1. Il tempo affinché un pacchetto arrivi a destinazione è pari a p
secondi. La frequenza di arrivo è λ = 1/k e poiché i pacchetti arrivano ad intervalli regolari, non
c’è tempo di attesa in coda quindi il tempo T che un pacchetto rimane nel sistema è T = αk+p.
Applicando la formula di Little si ottiene N = λT = α+ p/k.
Questo esempio necessita di una corretta interpretazione in quanto nel sistema
descritto n(t) è una funzione deterministica del tempo t e non converge a nessun
valore, quindi non si raggiunge la condizione di equilibrio. Tuttavia, la formula
di Little può avere una valida interpretazione anche in questo caso, nel senso che
N non può 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 probabilità pk per effettuare l’analisi di un sistema a coda. Infatti,Importante
conoscere
pk
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 misure
di prestazione del sistema.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 21
1.3 MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO
Da quanto visto nei precedenti paragrafi, emerge chiaramente come un sistema di
code sia caratterizzato fondamentalmente da due processi stocastici : il processo
degli arrivi caratterizzato dalla distribuzione di probabilità dei tempi di interar-
rivo e il processo di servizio caratterizzato dalla distribuzione di probabilità dei
tempi di servizio.
Per definire un sistema di code è necessario specificare entrambe le distribuzioni
ora 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 è necessario che le distribuzioni di probabilità assunte nella
costruzione del modello siano quanto più possibile realistiche. Al tempo stesso
esse devono essere sufficientemente semplici e matematicamente trattabili. Sulla
base di queste considerazioni la distribuzione di probabilità che maggiormente
viene presa in considerazione nella teoria delle code è la distribuzione esponen-
ziale. Cercheremo di chiarire i motivi di questa scelta attraverso l’illustrazione
delle proprietà di cui questa distribuzione gode. La principale riguarda la cosid-
detta “assenza di memoria”. Formalizzeremo questa proprietà mostrando anche
che la distribuzione esponenziale è l’unica distribuzione che gode di questa pro-
prietà. Per quanto riguarda l’applicazione alla teoria delle code, tale proprietà è
molto utile perché un arrivo in un sistema di code non è influenzato da quando si
è verificato l’ultimo arrivo e cos̀ı anche per il tempo di servizio, il tempo mancante
al completamento può essere indipendente da quando il servizio è iniziato.
Infine introdurremo il processo di Poisson, di fondamentale importanza per rap-
presentare il processo degli arrivi, descrivendo le sue proprietà fondamentali.
1.3.1 La distribuzione esponenziale e le sue proprietà
Ricordiamo innanzitutto che una variabile aleatoria continua T ha una distribu-
zione esponenziale con parametro α se la sua densità di probabilità fT (t) è data
da
fT (t) =
{αe−αt per t ≥ 00 per t < 0.
La funzione di distribuzione è
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’assunzione
che le distribuzioni dei tempi sono esponenziali, riportiamo alcune ben note pro-
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
22 TEORIA DELLE CODE
prietà fondamentali della distribuzione esponenziale. Sia quindi T una variabile
aleatoria avente distribuzione esponenziale ed fT (t) la corrispondente densità di
probabilità.
Proprietà E1: La densità di probabilità fT (t) è una funzione strettamente
decrescente di t (t ≥ 0)
Questa proprietà discende immediatamente dalla definizione della fT (t). Una
immediata conseguenza di questa proprietà è 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) può essere interpretata nel senso che è maggiore la probabilità che
la T assuma valori prossimi allo zero. In un modello di code, se T rappresenta
il tempo di servizio, il fatto che questa proprietà sia ragionevole dipende molto
dalla tipologia del servizio stesso. In alcuni casi, può essere vero che il tempo del
servizio è di solito molto breve con pochi casi in cui il servizio è più lungo.
Proprietà E2: Assenza di memoria. Per ogni t > 0 e s > 0, vale la
seguente uguaglianza
P(T > s+ t
∣∣∣ T > s)= P (T > t) . (1.3.2)
Questa proprietà si ottiene facilmente ricordando che P (T > x) = 1 − FT (x) =e−αx. Infatti, poché 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 proprietà può essere interpretata come assenza di memoria nel senso che
se, ad esempio, il tempo di durata di un’apparecchiatura è distribuito esponen-
zialmente, allora un apparecchiatura che è già in uso da un certo numero di ore
è “buona” tanto quanto una nuova in termini di tempo totale di durata prima
della sua rottura, ovvero l’apparecchiatura “non ricorda” di essere stata già in
uso per un certo numero di ore.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 23
Nell’ambito della teoria delle code, questa proprietà si può interpretare nel seguen-
te modo: la distribuzione di probabilità del tempo che rimane fino ad un evento
(arrivo o completamento del servizio) è sempre la stessa indipendentemente da
quanto tempo è trascorso, ovvero il processo “dimentica” il passato. Per quanto
riguarda gli intertempi di arrivo, questa proprietà descrive la situazione comune
in cui il tempo fino al prossimo arrivo non è assolutamente influenzato da quando
si è verificato l’ultimo arrivo. Per quanto riguarda i tempi di servizio questa pro-
prietà può essere interpretata nel senso che il tempo mancante al completamento
di un servizio può essere indipendente da quando il servizio è iniziato.
È importante notare che la distribuzione esponenziale è l’unica distribuzione con-
tinua che gode della Proprietà E2. Questo si dimostra facilmente nel seguente
modo: vogliamo far vedere che se T è una variabile aleatoria per la quale vale la
Proprietà E2, allora T è distribuita esponenzialmente. Innanzitutto osserviamo
che la relazione di assenza di memoria (1.3.2) per la (1.3.3) può 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)
Poiché è noto che l’equazione (1.3.5) ammette come unica soluzione continua da
destra g(x) = e−αx, la dimostrazione è completata. Infatti risulta S(x) = e−αx
ovvero
FT (t) = 1− e−αt
e quindi T è distribuita esponenzialmente.
Proprietà E3: Siano T1, T2, . . . , Tn variabili aleatorie indipendenti distri-
buite esponenzialmente con parametri α1, α2, . . . , αn. Sia U la variabile
aleatoria definita da U = min {T1, T2, . . . , Tn}. U è distribuita esponenzial-
mente con parametro α =n∑
i=1
αi.
Questa proprietà discende immediatamente dal fatto che per l’indipendenza vale
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
24 TEORIA DELLE CODE
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 Proprietà E3 ha una importante interpretazione per quanto riguarda i tempi
di servizio. Supponiamo infatti di avere s serventi in parallelo ciascuno dei quali
ha tempi di servizio distribuiti esponenzialmente con lo stesso parametro µ. In
questo 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 di
ciascun servente (i = 1, . . . , r). Si ha che Ti, per la Proprietà E2 è distribuita espo-
nenzialmente con parametro αi = µ e U che rappresenta il tempo fino al prossimo
completamento di un servizio ha distribuzione esponenziale con parametro rµ.
Ciò significa che un sistema di code con più serventi in parallelo che stanno at-
tualmente operando (continuously busy servers), ciascuno con tempo di servizio
distribuito esponenzialmente di parametro µ, si comporta come un sistema a sin-
golo servente con tempo di servizio distribuito esponenzialmente con parametro
rµ.
Proprietà E4: Sia T una variabile aleatoria distribuita esponenzialmente di
parametro α. 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 virtù di questa proprietà, per piccoli valori di ∆t, si ha
P(T ≤ t+∆t
∣∣∣ T > t)≈ α∆t.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 25
Interpretando T come tempo dall’ultimo evento (arrivo o completamento del
servizio) fino al prossimo evento, supponiamo che un tempo t sia già passato
senza che l’evento sia accaduto. Dalla Proprietà E2 sappiamo che la probabilità
che l’evento accadrà entro il prossimo intervallo di tempo di lunghezza fissata
∆t è una costante indipendentemente dal valore di t. La Proprietà E4 afferma
inoltre che quando il valore di ∆t è piccolo, questa probabilità costante può
essere approssimata da α∆t, ovvero questa probabilità è proporzionale a ∆t di
un fattore α.
Proprietà E5: Siano date k variabili aleatorie T1, T2, . . . , Tk indipendenti
aventi identica distribuzione esponenziale di parametro α. Allora la loro
somma
Sk = T1 + T2 + · · ·+ Tkha la seguente densità di probabilità
fSk(t) =αk
(k − 1)!e−αttk−1.
La dimostrazione di questa proprietà può essere fatta per induzione. Infatti essa
è 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 Proprietà E5 può essere interpretata
nel senso che se il servizio richiesto da un cliente richiede l’impiego di k serventi in
serie i cui tempi di servizio sono identicamente distribuiti esponenzialmente con
parametro α (oppure l’impiego dello stesso servente k volte), il tempo di servizio
totale seguirà la distribuzione della somma dei tempi servizio.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
26 TEORIA DELLE CODE
La distribuzione di probabilità avente per densità di probabilità la fSk si chiama
distribuzione di Erlang di parametri α e k che, ad eccezione della restrizione
dell’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, una
grande importanza per due aspetti fondamentali: innanzitutto molti fenomeni
fisici possono essere rappresentati attraverso tale processo; inoltre, il processo di
Poisson gode di interessanti ed utili proprietà che consentono numerose semplifi-
cazioni nella trattazione analitica. In riferimento alla teoria delle code, il processo
di Poisson è un importante strumento per la modellizzazione dei processi di ar-
rivo. Prima di definire un processo di Poisson, introduciamo un concetto che
risulterà molto utile nel seguito.
Definizione 1.3.1 Un processo stocastico {X(t), t ≥ 0} è detto processo diconteggio (counting process) se X(t) rappresenta il numero totale di eventi
che accadono fino all’istante t.
È un processo che “conta” il numero totale di aventi accaduti fino al tempo t. Si
tratta di un processo stocastico a tempo continuo e a stati discreti. Esempi di
processi 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 è invece un processo di conteggio il numero delle persone presenti in un
supermercato al tempo t.
Si verifica immediatamente che per un processo di conteggio valgono le seguenti
proprietà:
1. X(t) ≥ 0 per ogni t ≥ 0
2. X(t) è a valori interi
3. se s ≤ t allora X(s) ≤ X(t)
4. per s < t, X(t)−X(s) è il numero degli eventi che sono accaduti nell’intervallo(s, t).
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 27
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 se
il numero degli eventi che accadono in intervalli di tempo disgiunti sono in-
dipendenti.
L’assunzione che un processo ha incrementi indipendenti è ragionevole per l’esem-
pio a), ma forse non lo è per l’esempio b) perché se X(t) è molto grande, il numero
di nascite tra t e t+∆t tende ad essere grande. Nell’esempio c) potrebbe essere
ragionevole.
Definizione 1.3.3 Un processo di conteggio ha incrementi stazionari se la
distribuzione del numero degli eventi che accadono in un intervallo di tempo
dipende 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’esempio
b) sarebbe ragionevole solamente se la popolazione della terra fosse costante,
mentre nell’esempio c) non è ragionevole perché il giocatore invecchia col passare
degli anni !
Definizione 1.3.4 Un processo di conteggio {X(t), t ≥ 0} è 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 ampiezza
t (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 ed
inoltre vale E (X(t)) = λt e questa è la ragione per cui λ è anche detta frequenza
media alla quale gli eventi accadono.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
28 TEORIA DELLE CODE
Riportiamo di seguito una definizione equivalente di processo di Poisson che può
risultare più agevole da applicare in alcuni casi.
Definizione 1.3.5 Un processo di conteggio X(t) è un processo di Poisson
se 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 probabilità che un evento accada nell’intervallo
(t, t + ∆t) è proporzionale secondo il parametro λ all’ampiezza dell’intervallo a
meno di un infinitesimo di ordine superiore a ∆t, mentre la iv) afferma che la
probabilità che due o più eventi accadano nell’intervallo suddetto è pari a o(∆t).
Le due definizioni ora fornite (Definizione 1.3.4 e Definizione 1.3.5) di processo
di Poisson sono equivalenti. La dimostrazione di questa equivalenza è piuttosto
tecnica e viene omessa per brevità 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 affinché si verifichi il primo evento e
per 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)è la successione di variabili aleatorie degli intertempi tra due eventi successivi
(cioè degli intervalli di tempo tra due eventi successivi). Se definiamo
Sn = T1 + T2 + · · · + Tn,
si ha che Sn rappresenta il tempo necessario affinché 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 può 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}
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 29
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) è 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 brevità la verifica di questo risultato per il
quale si fa riferimento, ad esempio, a [Ross, 2003a] e [Billingsley, 1979].
In virtù di questo risultato, poiché le Ti sono variabili aleatorie indipendenti,
identicamente distribuite con distribuzione esponenziale, abbiamo già dimostrato
(cfr. Proprietà E5) che Sn ha distribuzione di Erlang di parametri λ e n.
Il risultato del Teorema 1.3.1 si può intuitivamente dedurre dal fatto che l’assun-
zione degli incrementi stazionari e indipendenti di fondo equivale al fatto che il
processo, in ogni istante Si, effettua un “restart”, cioè il processo da ogni punto
è indipendente da tutto ciò che accade prima (incrementi indipendenti) ed ha la
stessa distribuzione del processo originale (incrementi stazionari); in altre parole,
il processo non ha memoria e quindi gli intertempi tra due eventi successivi devono
essere distribuiti esponenzialmente.
Il Teorema 1.3.1 evidenzia l’importante equivalenza tra il fatto che il numero di
punti che cadono in un intervallo prefissato di lunghezza t ha distribuzione di
Poisson e il fatto che le lunghezze degli intervalli che separano punti contigui
hanno identica distribuzione esponenziale. Questa proprietà è particolarmente
utile per descrivere il comportamento probabilistico degli arrivi in un sistema
di code quando gli intertempi di arrivo sono distribuiti esponenzialmente con
parametro λ. In questo caso X(t) rappresenta il numero di arrivi fino al tempo t,
dove λ è la frequenza media degli arrivi. Perciò, nel caso di tempi di interarrivo
esponenziali, si dice anche che si hanno arrivi secondo un processo di Poisson di Arrivi
poissonianiparametro λ (arrivi poissoniani).
Si può 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.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
30 TEORIA DELLE CODE
Analizziamo ora un’ulteriore proprietà 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 o
di tipo B. Supponiamo inoltre che ciascun evento sia di tipo A con probabilità p
e di tipo B con probabilità 1− p, indipendentemente da tutti gli altri eventi. Adesempio i clienti che arrivano in un negozio possono essere classificati in uomini
con probabilità 12e donne con probabilità 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 di
processo aggregato e i due processi XA(t) e XB(t) prendono nome di processi
componenti o processi disaggregati. Questo si generalizza ad un numero finito di
processi 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-
babilità rispettivamente p1, p2, . . . , pk, con∑k
i=1 pi = 1. Siano X1(t), . . . ,Xk(t)
i processi componenti che contano il numero di eventi rispettivamente di classe
1, 2, . . . , k accaduti fino al tempo t. Allora vale la seguente proposizione.
Proposizione 1.3.6 Se {X(t), t ≥ 0} è 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 componenti
sono indipendenti.
Si verifica, inoltre facilmente che se X1(t), . . . ,Xk(t) sono processi di Poisson
indipendenti di tasso rispettivamente λ1, . . . , λk, aggregati in un unico processo
X(t) = X1(t) + . . . +Xk(t),
si ha che X(t) è un processo di Poisson di tasso λ = λ1 + · · ·+ λk.
Nell’ambito della teoria delle code il risultato della Proposizione 1.3.6 può essere
cos̀ı interpretata: supponiamo che ci siano un certo numero r di differenti tipi di
clienti tali che i clienti di ciascun tipo arrivano secondo un processo di Poisson
di parametro λi, (i = 1, . . . , r). Assumendo che i processi siano indipendenti, la
proprietà afferma che il processo di arrivo aggregato, ovvero il processo di arrivo
di tutti i clienti senza tener conto del tipo, è 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 clienti
arrivano al sistema di code secondo un processo di Poisson di parametro λ e che
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 31
ci sia la possibilità che alcuni clienti rinuncino ad entrare nel sistema (ad esempio
se vedono la coda molto lunga). È quindi possibile caratterizzare gli utenti se-
condo due tipi: quelli che entrano nel sistema (con probabilità p) e quelli che non
entrano nel sistema (con probabilità 1 − p). Il risultato della Proposizione 1.3.6permette di affermare che ciascun tipo di cliente arriva al sistema secondo un
processo di Poisson di tasso rispettivamente λp e λ(1 − p). Perciò il modellopoissoniano può continuare ad essere utilizzato per studiare il sistema a coda
relativamente 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 un
modello molto aderente alla realtà. Tuttavia, esistono casi in cui il modello pois-
soniano non può essere adottato ed è necessario considerare anche altre tipologie
di processi di arrivi. Ricordiamo infatti, le caratteristiche che vengono assunte
considerando 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 proprietà esclude ovviamente gli arrivi in gruppi. La seconda proprietà
afferma che il numero degli arrivi nell’intervallo (t, t+s] è indipendente dal numero
di arrivi prima di t e anche dai tempi in cui questi arrivi si sono verificati; questa
proprietà potrebbe essere violata se, ad esempio, un numero molto elevato di
arrivi nell’intervallo di tempo [0, t] può causare il fenomeno di “balking”, ovvero
la rinuncia all’ingresso nel sistema da parte di alcuni utenti nell’intervallo di
tempo (t, t+ s] perché il sistema è molto affollato. Per affrontare tale problema,
in realtà, è sufficiente applicare il risultato della Proposizione 1.3.6 come descritto
nell’Osservazione 1.3.7.
Anche la terza proprietà potrebbe essere in generale violata perché essa implica
che la frequenza degli arrivi non dipende dal tempo t, e quindi, ad esempio,
dall’orario della giornata; invece, in molti casi, è noto che la frequenza media
degli arrivi λ può variare con il tempo e quindi si può 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).
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
32 TEORIA DELLE CODE
Il processo di Poisson non stazionario
In molti sistemi reali la frequenza media degli arrivi può dipendere dal tempo e
in questo caso i tempi di interarrivo Tk non sono identicamente distribuiti. Un
modello comunemente utilizzato in queste situazioni è il cosiddetto processo di
Poisson non stazionario o processo di Poisson non omogeneo.
Definizione 1.3.8 Processo di Poisson non stazionario
Un processo di conteggio X(t) è un processo di Poisson non stazionario se 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)∆t+ o(∆t)
iv) P (X(t+∆t)−X(t) ≥ 2) = o(∆t)
La funzione λ(t) prende nome di funzione intensità e sarà tanto più grande negli
intervalli nei quali il numero atteso degli arrivi è grande. Data la funzione λ(t),
si può definire la funzione Λ(t) =
∫ t
0λ(y)dy.
Si riporta di seguito un risultato che mostra che la distribuzione del numero degli
arrivi nell’intervallo (s, s+ t] per un processo di Poisson non stazionario dipende
da s e da t, mentre, come sappiamo, in un processo di Poisson esso dipende
solamente 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) è una variabile aleatoriadistribuita secondo Poisson con media b(s, t) = Λ(s+t)−Λ(s) e la Λ(t) è chiamatafunzione valore medio del processo di Poisson non omogeneo.
È 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 la
dipendenza da s.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
MODELLI STOCASTICI DEI PROCESSI DI ARRIVO E DI SERVIZIO 33
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 è sufficiente definire X(t) come il numero dei gruppi di
utenti che arrivano fino al tempo t. Se i tempi di interarrivo dei gruppi sono
variabili aleatorie indipendenti identicamente distribuite secondo la distribuzione
esponenziale, si può anche in questa situazione utilizzare un modello Poissoniano
cercando 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 numero
degli utenti in ciascun gruppo è una variabile aleatoria discreta. Formalmente si
definisce 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.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
34 TEORIA DELLE CODE
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 probabilità
che hanno applicazioni in diverse aree. In particolare, l’evoluzione nel tempo
del numero degli utenti presenti in un sistema di servizio può essere descritta
attraverso un tale processo ed inoltre la determinazione delle probabilità che nel
sistema siano presenti n utenti (pn), che come abbiamo sottolineato alla fine del
paragrafo 1.2.3 è di fondamentale importanza, risulta facile se l’evoluzione nel
tempo dello stato di un sistema è rappresentato attraverso un processo di nascita
e 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 si
aggiunge all’insieme e una morte quando un membro lascia l’insieme. Si parla di
processo di sole nascite se si verificano solamente nascite e non morti e di processo
di sole morti se si verificano solamente morti e non nascite.
Nel contesto della teoria delle code una nascita si riferirà ad un arrivo di un
utente nel sistema e una morte si riferirà 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 e
morte esamineremo le proprietà fondamentali di questi processi; successivamente
queste proprietà saranno applicate per la determinazione delle misure di presta-
zione nel caso dei sistemi a coda più significativi.
1.4.1 Caratterizzazione dei processi di nascita e morte
Supponiamo che N(t) sia un processo stocastico a tempo continuo e con spazio
degli stati discreto costituito dai numeri interi non negativi. N(t) può essere in-
terpretato come il numero dei membri di un certo insieme al tempo t. Indichiamo
con pn(t) la probabilità che al tempo t lo stato sia n ovvero che al tempo t ci
siano n elementi nell’insieme, cioè pn(t) = P (N(t) = n).
Definiamo con pn,m(∆t) la probabilità che il processo raggiunga lo stato m alProbabilità
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 probabilità pn,m(∆t) prende nome di probabilità di transizione e può essere
interpretata come la probabilità che l’insieme, costituito da n elementi al tempo
t, sia costituito da m elementi al tempo t+∆t.
Introduciamo, ora, formalmente il concetto di processo di nascita e morte.
M. Roma – Sistemi di Servizio e Simulazione – SAPIENZA Università di Roma – a.a. 2011-2012
-
PROCESSI DI NASCITA E MORTE 35
Definizione 1.4.1 Processo di nascita e morte
Un processo stocastico N(t) che assume solamente valori interi non negativi
si dice processo di nascita e morte se le probabilità di transizione pn,m(∆t)
non dipendono esplicitamente dal tempo t, dipendono solo dal valore dello
stato al tempo t e non dai valori assunti in istanti precedenti e soddisfano le
seguenti condizioni:
pn,n+1(∆t) = λn∆t+ o(∆t) per n ≥ 0pn,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) è un infinitesimo di ordine superiore a ∆t.
La dipendenza dal valore dello stato attuale e non da quelli passati è un con- Proprietà
di Markovcetto che viene formalizzato come proprietà di Markov4. Le condizioni (1.4.1)
possono essere interpretate nel seguente modo: a meno di infinitesimi di ordine
superiore a ∆t, la probabilità che nell’intervallo [t, t+∆t] si verifichi una nascita
non dipende da t, ma è proporzionale all’ampiezza dell’intervallo (ovvero alla du-
rata ∆t) secondo un coefficiente che può dipendere dallo stato attuale, ma non
da quelli passati. Analogamente, la probabilità che nell’intervallo [t, t + ∆t] si
verifichi una morte è proporzionale alla durata ∆t secondo un coefficiente che
può dipendere dallo stato attuale, ma non da quelli passati. Il coefficiente λn Coefficiente
di natalità
e mortalità
è chiamato coefficiente di natalità, i