Simulare un sistema di servizio

 

Caso 1. L’operatore ha disabilitato la modalità automatica sul secondo terminale.

Siamo nel caso in cui si forma un’unica coda allo sportello e l’operatore serve gli utenti in successione regolare.

I passi fondamentali dell’algoritmo, peraltro individuati e commentati all’interno del codice, sono i seguenti:

 

  • Vengono generate due serie con distribuzione esponenziale, di parametri 1/7 e 1/20 per i tempi di servizio e di arrivo degli utenti rispettivamente.
  • Si calcolano le successioni dei tempi di arrivo e di servizio cumulando le due serie precedenti.
  • Si calcolano gli utenti in coda al momento dell’arrivo di ogni utente.
  • Si effettua il calcolo degli utenti in coda istante per istante fra t0 e l’istante in cui arriva l’utente n. 100.
  • Viene calcolato il numero di utenti serviti in tre ore dal momento dell’apertura dello sportello.
  • Viene calcolato il tempo medio di permanenza in coda da parte di un generico utente

Gli output delle variabili citate, tutte facilmente individuabili all’interno del codice, possono essere stampate “a vista” oppure plottate usando i comandi matlab del caso. Nel seguito si mostrano alcuni esempi.

A titolo esemplificativo si è fatto “girare” lo script una sola volta ottenendo i parametriche di seguito vengono riportati in grafico.

Iniziamo con la distribuzione dei tempi di arrivo degli utenti. In ascissa è riportato il tempo di arrivo e in ordinata la porzione su 100 degli arrivi in quel range temporale:

 

 

… e con quella dei tempi di servizio:

 

 

L’andamento esponenziale dei fenomeni appare perfettamente individuato e individuabile nei due istogrammi.

Il prossimo diagramma mostra invece il numero di utenti che vengono trovati allo sportello dai singoli cittadini al momento del loro arrivo:

 

 

 … e l’andamento della coda nel tempo (il tempo è in ascissa ed è misurato in minuti):

 

 

Nel caso specifico alcuni parametri significativi sono:

  1. Il numero di utenti serviti in tre ore che è pari a 10;
  2. Il tempo medio di permanenza in coda degli utenti che vale 16’51’’

Va detto che si tratta di un'unica “seduta” di applicazione del modello ed è quindi una delle innumerevoli circostanze casuali (con distribuzione esponenziale) che possono verificarsi. E’ chiaro che tutta la potenza di uno strumento come la simulazione può essere sfruttata (e quindi diventare realistica in termini statistici) solo a fronte di un numero significativo di loop. Conviene quindi individuare una variabile di interesse e far ciclare l’intero codice n volte andando successivamente a calcolare la media delle suddette variabili.

In questo esempio e nei successivi si è operato in questo modo (con 100 cicli ma niente vieta di farne anche di più anzi è sicuramente meglio) per mettere in evidenza alcuni parametri “critici” di efficienza e di servizio. E cioè: tempo medio di permanenza in coda, utenti serviti mediamente nell’arco di un giorno, e costo di emissione delle carte calcolato su 100 giorni lavorativi.

Nel caso 1, che è quello che stiamo affrontando, tali parametri assumono i valori seguenti:

 

  • Tempo medio di permanenza in coda. TPC = 10’57’’1
  • Utenti serviti in una giornata. US/gg = 18.64
  • Costo delle carte per 100 giorni di servizio. C = €. 5518.00

_____________________
1. Il parametro tempo medio di permanenza in coda è stato calcolato, vista la semplicità dell’esempio, solo per questo primo caso di servizio. Dal momento che viene richiesto di fare una valutazione soprattutto economica.

Niente toglie comunque, che con qualche piccola modifica al codice, si possa avere lo stesso parametro anche per gli altri due casi.

Allegati:
Scarica questo file (Caso1.txt)Caso1.txt[Script Matlab Caso-1]1 kB
Scarica questo file (Caso2.txt)Caso2.txt[Script Matlab Caso-2]3 kB
Scarica questo file (Caso3.txt)Caso3.txt[Script Matlab Caso-3]3 kB