In questa pagina

Come funziona il motore di simulazione

Process Intelligence Process Intelligence Disponibile con una postazione Process Intelligence o superiore. Questa funzionalità è disponibile solo per le postazioni di questo piano o di un piano superiore. Confronti i piani Disponibile con una postazione Process Intelligence o superiore

Comprendere il motore di simulazione

ProcessMind utilizza un motore di simulazione a eventi discreti (DES) per modellare i processi. Comprenderne il funzionamento Le consentirà di configurare le simulazioni in modo più efficace e interpretarne correttamente i risultati.

Configurazione e risultati della simulazione di ProcessMind

Che cos’è la simulazione a eventi discreti?

Nella simulazione a eventi discreti, lo stato del sistema cambia solo in corrispondenza di specifici eventi: l’orologio passa da un evento all’altro e, tra un evento e il successivo, non accade nulla. Questo approccio è ideale per i processi aziendali perché:

  • Le attività hanno orari di inizio e fine distinti
  • Le risorse vengono assegnate e rilasciate in momenti specifici
  • I casi arrivano e si concludono in momenti definiti

Perché gli eventi discreti?

A differenza della simulazione continua, utilizzata in fisica o nella fluidodinamica, i processi aziendali non richiedono una modellazione istante per istante. Una richiesta di prestito non passa gradualmente dallo stato «inviata» a quello «approvata»: cambia stato in corrispondenza di eventi specifici.

Il ciclo principale degli eventi

Il motore di simulazione segue un ciclo semplice:

1. Initialize: Set up starting conditions
2. Get Next Event: Find the earliest scheduled event from the priority queue
3. Advance Time: Move simulation clock to that event's time
4. Process Event: Handle the event (start activity, complete activity, etc.)
5. Schedule New Events: Based on what happened, add new events
6. Repeat: Continue until end time or max events reached (5,000,000)
7. Output: Generate the complete event log

Tipi di eventi

La simulazione genera ed elabora diversi tipi di eventi:

Tipo di evento Descrizione
Arrivo del caso Un nuovo caso entra nel processo tramite un evento di inizio
Inizio dell’attività Un caso avvia un’attività (le risorse vengono assegnate)
Completamento dell’attività Un caso conclude un’attività (le risorse vengono rilasciate)
Valutazione del gateway Un punto decisionale determina il percorso o i percorsi da seguire
Completamento del caso Un caso raggiunge un evento finale

Generazione e arrivo dei casi

I casi entrano nella simulazione attraverso gli eventi di inizio del modello BPMN. Il modello degli arrivi è determinato dalla distribuzione di generazione dei casi.

Modello di arrivo predefinito

Per impostazione predefinita, i casi arrivano secondo una distribuzione di Poisson, con una frequenza di un caso all’ora. Si ottengono così intervalli tra gli arrivi casuali e realistici, tipici di molti processi aziendali.

Personalizzare gli arrivi

È possibile configurare diversi modelli di arrivo utilizzando le distribuzioni descritte nella documentazione sulle distribuzioni.

Flusso dei casi nel processo

Sequence Flows

Quando un caso completa un elemento, segue immediatamente il Sequence Flow in uscita. Se è disponibile un solo percorso in uscita, il caso lo segue automaticamente.

Comportamento dei gateway

I gateway determinano come i casi si diramano e si ricongiungono:

Tipo di gateway Comportamento
XOR (esclusivo) Viene selezionato un solo percorso in uscita, con una scelta casuale ponderata in base alle probabilità. Le probabilità sono considerate pesi relativi e normalizzate automaticamente.
AND (parallelo) Tutti i percorsi in uscita vengono seguiti contemporaneamente. Il caso si divide in token paralleli.
OR (inclusivo) Selezione casuale dei percorsi, con la garanzia che ne venga seguito almeno uno.
Basato su eventi Selezione casuale tra gli eventi disponibili.

Impostare le probabilità

Per i gateway XOR, si assegnano probabilità a ciascun flusso in uscita. Si tratta di pesi relativi:

  • Se si impostano i flussi su 70, 20 e 10, vengono normalizzati rispettivamente al 70%, 20% e 10%
  • Impostando i flussi su 7, 2 e 1 si ottiene lo stesso risultato
  • Ai flussi senza un valore assegnato viene attribuita la percentuale rimanente

Esecuzione delle attività

Quando un caso raggiunge un task (attività), il motore segue questa sequenza:

1. Verificare la disponibilità delle risorse

La risorsa necessaria ha capacità disponibile?

2. Inserire il caso in coda, se necessario

Se le risorse non sono disponibili, il caso entra nella coda di attesa. Per impostazione predefinita, ProcessMind utilizza l’ordine FIFO (First In, First Out): i casi vengono elaborati nell’ordine di arrivo.

3. Assegnare le risorse

Quando diventano disponibili, le unità di risorsa necessarie vengono riservate per il caso.

4. Determinare il tempo di elaborazione

Il motore estrae un valore dalla distribuzione configurata per il tempo di elaborazione, che determina la durata dell’attività.

5. Pianificare l’evento di completamento

Nella coda degli eventi viene aggiunto un evento di completamento all’istante current_time + processing_time.

6. Rilasciare le risorse

Quando si verifica l’evento di completamento, le risorse vengono restituite al gruppo e rese disponibili per gli altri casi.

Tempo di elaborazione minimo

Per garantire timestamp univoci e un comportamento realistico, tutte le attività hanno una durata minima di 1 secondo. Anche con una distribuzione di durata pari a zero, le attività durano almeno un secondo.

Probabilità di salto

È possibile configurare per le attività una probabilità di salto (0-100%). Quando un’attività viene saltata:

  • Il caso passa immediatamente all’elemento successivo
  • Non vengono utilizzate risorse
  • Non trascorre tempo (a eccezione del secondo minimo)
  • L’attività compare nel log con una durata minima

Questo consente di modellare situazioni reali in cui alcuni passaggi vengono talvolta saltati.

Gestione del tempo

L’orologio della simulazione

La simulazione utilizza un orologio virtuale che avanza a intervalli discreti, da un evento all’altro. Se l’evento successivo è alle 10:35 e l’ora corrente è 10:30, l’orologio passa direttamente alle 10:35.

Unità di tempo

Internamente, tutti gli orari vengono convertiti in unità coerenti. È possibile specificare le durate in:

  • Secondi
  • Minuti
  • Ore
  • Giorni

Le frequenze di arrivo si impostano separatamente, per ora, giorno, settimana, mese o anno.

Periodicità e fasce orarie

I parametri possono variare in base all’ora della simulazione. Per esempio:

  • Frequenze di arrivo diverse nei giorni feriali e nel fine settimana
  • Tempi di elaborazione diversi nei turni del mattino e del pomeriggio
  • Capacità delle risorse diversa nelle ore di punta

Per i dettagli di configurazione, consulti la documentazione sulla periodicità.

Gestione delle risorse

Gruppi di risorse

Ogni risorsa ha una capacità definita, ovvero il numero di casi che può gestire contemporaneamente.

Gestione delle code

Quando la domanda supera la capacità, i casi attendono in coda. Per impostazione predefinita, ProcessMind utilizza l’ordine FIFO (First In, First Out), così i casi vengono elaborati nell’ordine di arrivo.

Generazione dell’Event Log

Durante la simulazione, ogni esecuzione di un’attività viene registrata nell’Event Log generato:

Campo Descrizione
ID del caso Identificativo univoco di ciascun caso (generato in sequenza)
Attività Nome dell’elemento BPMN
Timestamp di inizio Momento in cui è iniziata l’attività
Timestamp di completamento Momento in cui è terminata l’attività
Risorsa Risorsa che ha eseguito l’attività
Attributi Eventuali attributi del caso in quel momento

Questo log segue i formati standard degli Event Log e può essere analizzato con tutti gli strumenti di ProcessMind.

Limiti della simulazione

Limite Valore Scopo
Numero massimo di eventi 5.000.000 Evita che la simulazione prosegua senza controllo
Durata minima 1 secondo Garantisce timestamp univoci

Inizi in piccolo, poi estenda la simulazione

Quando configura una nuova simulazione, inizi con un periodo breve (alcuni giorni o settimane) per convalidare la configurazione. Dopo aver verificato che il modello si comporta correttamente, estenda la simulazione a periodi più lunghi.

Prossimi passaggi

Risorse
Scopra come modellare le risorse e i vincoli di capacità.