Un metodo per liberarci dalle code

U

Perchè si generano le code?  Come fare per evitare la creazione delle code?

Ciao, sono Francesco Massimo Gallo, Ingegnere Informatico e dal 2012 sono Responsabile Logistica in una importante azienda della GDO.
Il mio lavoro è diventata la mia passione, e per questo motivo ho deciso di condividere alcune informazioni con te.

In questo articolo voglio riportare un esempio pratico sul funzionamento delle code di attesa.
Le code sono oggetto di studio nella Teoria delle Code, la quale è una branca della Ricerca Operativa, ed ha come obiettivo lo studio matematico delle linee di attesa.
Trovi una descrizione precisa su wikipedia.
In pratica, la Teoria delle Code studia con metodo matematico il processo di arrivo degli utenti in coda, l’attesa degli utenti ed il processo di erogazione del servizio.

Possono essere analizzate, studiate e migliorate le esperienza delle code di attesa, ad esempio:

  • clienti in banca, o posta, o supermercato;
  • persone in attesa di un taxi;
  • automobili ad incrocio;
  • pazienti del pronto soccorso;
  • camion in attesa di essere caricati/scaricati dal magazzino.

Vediamo qualche esempio che può aiutarti a capire meglio il problema.

🏰 Disneyland, la coda a serpentina e la psicologia umana

Quanto si pensa ad una coda, la prima cosa che viene in mente è una linea retta con tante persone in fila indiana.

Non è l’unico tipo di coda. Si ritiene che negli ’60 sia comparsa per la prima la coda a serpentina, in occasione dell’esposizione universale di New York, ad opera della Disney. Molti anni più tardi, nel 1999, la Disney ha introdotto il FastPass. Si tratta di un pass a pagamento che consente ai visitatori di saltare la fila di alcune attrazioni all’interno del parco divertimenti.

La stessa tipologia di pass viene offerta da alcune compagni aree, es. Ryanair, per permettere di sorpassare la fila di ingresso nell’aeromobile, ai clienti disposti a pagare un piccolo extra sul biglietto.

Mentre capisco chiaramente chi usa il FastPass all’intenrno di DisneyLand con l’obbiettivo di massimizzare il numero di attrazioni visitate all’interno di una giornata, non capisco i passeggeri dei voli che vogliono superare la fila ai tornelli. L’aereo parte allo stesso momento per tutti i passeggeri, e quindi il tempo guadagnato saltando la fila, deve essere speso all’interno dell’aereo in attesa del decollo.
A mio avviso sarebbe più utile un badge salta coda all’uscita dell’aereo, il quale dovrebbe permettere di essere fuori dall’aeroporto in maniera più veloce rispetto agli altri passeggeri, e quindi sfruttare al meglio il tempo nella destinazione di arrivo.

Ti voglio porre un quesito simile a quello indicato della pagina instagram gli scorsi giorni: in un supermercato con 4 casse e 20 clienti in fila, è più efficiente usare una coda unica (magari a serpentina) per servire tutte le casse? Oppure avere una fila distinta per ogni cassa?
Quando sei in fila ad una cassa, solitamente la fila di fianco sembra camminare più velocemente, mentre con una fila unica non si nota questa differenza. Quindi psicologicamente conviene organizzare una coda unica.
In teoria il tempo totale di smaltimento delle code dovrebbe essere simile, sia per la coda unica, sia per le 4 code dell’esempio.
La coda unica ottimizza il flusso e non si creano differenze nella velocità di servizio, però per la psicologia umana una fila unica risulta inconsciamente più lunga di tante file brevi.

Vediamo le nozioni alla base della Teoria delle Code, e subito dopo un esempio pratico.

👩🏼‍💻 Teoria delle Code: Notazione di Kendall

Nello studio della Teoria delle Code si usa spesso la notazione indicata per la prima volta dal matematico e statistico inglese David George Kendall.
La classificazione utilizza una notazione con 6 valori:

  1. Distribuzione dei tempi di arrivo
    Possono essere presenti diverse tipologie di arrivo, ad esempio se si pensa ai passeggeri di un treno, potremmo avere due differenti tipologie. Gli utenti più giovani tenderanno ad arrivare all’ultimo minuto, mentre gli utenti più avanti con l’età, tenderanno ad arrivare in stazione con largo anticipo rispetto all’orario di partenza.
  2. Distribuzione dei tempi di servizio
    Similmente si può pensare alla gestione del servizio. Nel caso del treno, gli utenti vengono serviti contemporaneamente alla partenza del treno. Se invece il servente è la cassa del supermercato, riesce a servire un numero finito di persone, e quindi la coda viene smaltita più lentamente rispetto al treno.
  3. Numero di canali del sistema
    Sono detti anche server, come ad esempio le casse del supermercato.
  4. Numero massimo di presenze nel sistema
    Indica il numero massimo di utenti che il sistema è in grado di contenere: numero utenti in coda + numero di utenti che usufruiscono dei serventi. Se non è specificata, è infinita.
  5. Dimensione massima della popolazione che genera le richieste di servizio
    Il numero massimo di utenti che potenzialmente potrebbero accedere al servizio. Se non è specificata, è infinita.
  6. Disciplina della coda
    L’ordine in cui vengono serviti gli utenti del servizio. Se non viene indicata, è di tipo FIFO (First In First Out). Altrimenti se specificato, possono esistere sistemi LIFO (Last In First Out), oppure random, oppure con un sistema di selezione che utilizza delle regole di priorità, come ad esempio il pronto soccorso.

Date queste notazioni, proviamo ad usarle in un caso pratico.

🗒️Esempio pratico

Ipotizziamo di avere un magazzino dove arrivano 10 ordini al minuto, ed supponiamo che ogni operatore riesca a gestire un ordine ogni 2 minuti.
Quanti operatori bisogna predisporre per avere un tempo medio di preparazione ordine non superiore ai 5 minuti?

Usando la definizione di Kendall, avremmo le seguenti variabili:

  • μ=2 : tasso medio di servizio  ⇒ 1/μ = 0.5 : tempo atteso di servizio
  • λ=10 : tasso medio di arrivo  ⇒  1/λ=0.1 : tempo atteso tra due arrivi
  • incognita: s numero di serventi

Introduciamo il cosiddetto fattore di utilizzazione ρ = λ / (sμ).
Questa variabile esprime il rapporto tra tempo medio di servizio e tempo medio tra due arrivi.

Per avere un sistema stabile, ossia che non vada al collasso, e riesca a gestire tutte le richieste in arrivo, il valore di ρ deve essere ρ<=1.

Quindi, usando la formula ρ = λ/(sμ), abbiamo ρ = 10 / (s * 0.5) deve essere inferiore (o uguale) ad 1. Per avere vera questa disequazione, il valore di s deve essere uguale a 20.

Quindi con 20 operatori a disposizione, si avrebbe la certezza che il sistema sia in grado di smaltire la coda.

Per calcolare il tempo di attesa in coda, si può usare la formula Ws = s/(μ*s-λ), dove s è la variabile che indica il numero di servitori attivi.

Esempio liberamente ispirato da Math is in the air

💡Conclusioni

In virtù di quanto appena detto, conviene andare a fare la spesa in un giorno feriale al mattino presto o la sera tardi, per evitare di perdere tempo alle casse 😎.

Spero che questo articolo ti sia stato utile. Fammi sapere nei commenti se l’argomento è di tuo interesse, così continuerò ad approfondire l’argomento

Un abbraccio,

Francesco

Sull'autore

Francesco Gallo

Ingegnere informatico, responsabile logistica in una importante azienda della GDO dal 2012.

Lascia un commento

Francesco Gallo

Ingegnere informatico, responsabile logistica in una importante azienda della GDO dal 2012.

Restiamo in contatto

Sfruttiamo insieme la community per far crescere le nostre idee, aiutare il business e sentici meglio!

Iscriviti alla Newsletter