Teoria delle code: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti. |
||
(16 versioni intermedie di 10 utenti non mostrate) | |||
Riga 1:
[[File:Teoria_de_colas.svg|thumb|Schema di un sistema a coda, con clienti, serventi, code di attesa e flussi di traffico in ingresso e uscita]]
La '''teoria delle code''' è lo studio [[matematica|matematico]] delle linee di attesa (o [[Coda (informatica)|code]]) e di processi correlati, quali il processo di arrivo in coda, l'attesa (essenzialmente un processo di immagazzinamento) e il processo di servizio. Può essere applicata ad un'ampia varietà di problemi, soprattutto nel campo dei [[trasporti]], delle [[telecomunicazioni]], della fornitura di servizi (ad es. in [[Sistema sanitario|sanità]]) e delle [[operations|operazioni]] [[azienda]]li. Usualmente considerata una branca della [[ricerca operativa]], le sue origini risalgono al [[1909]] quando l'ingegnere [[Danimarca|danese]] [[Agner Krarup Erlang]] pubblicò un articolo intitolato ''The theory of probability and telephone conversations'' relativo alle attese nelle chiamate telefoniche.
==Descrizione==
=== Notazione di Kendall ===
[[File:Exponential_pdf.svg|thumb|[[Distribuzione esponenziale|Distribuzione esponenziale negativa]]]]
Nel [[1953]], [[David George Kendall]] introdusse la notazione '''A/B/C''', successivamente estesa come '''1/2/3/4/5/6''' al fine di fornire una descrizione immediata del modello del sistema a code:▼
[[File:Degenerate_distribution_PMF.png|thumb|[[Distribuzione degenere]]]]
[[File:Gamma_distribution_pdf.svg|thumb|[[variabile casuale Erlanghiana|Distribuzione di Erlang]]]]
▲Nel [[1953]], [[David George Kendall]] introdusse la notazione
# Un codice che descrive la distribuzione di probabilità dei tempi di arrivo dei ''jobs'' nel sistema; i codici più usati sono:
#*
#*
#*
#*
# Un codice che rappresenta la distribuzione di probabilità dei tempi di servizio dei ''jobs'', usando gli stessi simboli precedenti.
# Il numero di canali di servizio, detti anche ''serventi'', o ''server'' (ad esempio gli sportelli alla posta).
# Le dimensioni massime del sistema, che corrisponde alla somma tra i ''jobs'' in coda e i ''jobs'' nei canali di servizio; quando il massimo viene raggiunto ulteriori arrivi vengono rifiutati. Se non indicata la dimensione si intende infinita.
# Le dimensioni della popolazione da cui possono arrivare i clienti; questo limita il ritmo di arrivi, tanti più ''jobs'' sono presenti nella coda tanti meno ne sono disponibili per entrare nel sistema. Se non indicata la dimensione si intende infinita.
# L'ordine con il quale sono serviti i ''jobs'' nella coda (per default è FIFO):
#* First Come First Served (
#* Last Come First Served (
#* Service In Random Order (
#* PRI (esiste un sistema di selezione degli utenti a priorità (un esempio è il pronto soccorso, con i codici bianco, verde e rosso).
I modelli più studiati sono i sistemi M/M/
=== Sistemi a coda e
{{vedi anche|Traffico (telecomunicazioni)}}
[[File:FIFO-LIFO.svg|thumb|Confronto tra tecnica FIFO e LIFO.]]
[[File:Mminfinity-statespace.svg|thumb|upright=1.0|[[Catene di Markov]] per sistemi a coda con stati, transizione di stati e relative probabilità, usata per la modellazione dei sistemi a coda]]
I sistemi a coda sono modellizzabili tramite [[processo markoviano|catene di Markov]] a tempo continuo ossia con [[sistema dinamico|sistemi dinamici]] caratterizzati da <math>N</math> stati, probabilità di stato <math>P(N_i)</math> e [[probabilità di transizione]] da uno stato a un altro uguale al prodotto tra la frequenza di transizione <math>f</math> e l'intervallo di tempo <math>dt,</math> dipendente solo dallo stato presente del sistema e non da quelli precedenti (sistema senza memoria). Lo stato rappresenta la situazione in cui si trova il sistema rispetto a variabili prese come riferimento (in linea di massima non univoche) e l'evoluzione del sistema è mappata con una sequenza di salti fra gli stati stessi. Note le frequenze di transizione, ossia la probabilità di transizione di stato, è possibile derivare le probabilità di stato <math>P(S_i)</math> risolvendo la catena di Markov; dalla conoscenza di queste probabilità si possono poi derivare i parametri prestazionali di interesse quali il traffico smaltito, la probabilità di rifiuto, il tempo di coda, ecc…
Definendo il flusso proveniente dallo stato <math>i</math>-esimo verso lo stato <math>k</math>-esimo come il prodotto <math>P(
Un tipo di
▲Definendo il flusso proveniente dallo stato i-esimo verso lo stato k-esimo come il prodotto P(Sk)*qk, i tra la probabilità di stato in k e la frequenza di transizione verso lo stato k, per il calcolo della probabilità di stato si utilizza la condizione espressa dalla legge di conservazione dei flussi la quale afferma che la somma dei flussi entranti è uguale alla somma dei flussi uscenti da uno stato.
In un sistema
▲Un tipo di Catene di Markov sono le Catene di Nascita e Morte dove sono ammesse transizioni solo tra strati 'adiacenti' e per i quali è identificabile una linea di taglio di flusso. Un sistema a coda è detto Markoviano se è modellabile tramite una Catena di Markov di Nascita e Morte con processo di arrivo e di servizio di tipo [[esponenziale]] negativo di parametri λ (nascita) e υ (morte) e valori attesi corrispondentemente pari a 1/λ e 1/υ.
▲In un sistema a S Serventi diventa fondamentale un parametro prestazionale detto Probabilità di Blocco, che dipende dal numero S di Serventi e dal Traffico Offerto Ao in ingresso. Tale parametro si calcola facendo riferimento alla [[formula di Erlang B]] i cui valori, per S e A fissati, sono espressi in forma tabulata. Altrettanto di interesse è la probabilità di attesa in coda espressa in funzione del numero di serventi e del traffico offerto attraverso la [[formula di Erlang C]].
== Voci correlate ==
Riga 44:
== Altri progetti ==
{{interprogetto|preposizione=sulla}}
== Collegamenti esterni ==
|