In questa pagina

Come funziona il motore di simulazione

Process Intelligence Process Intelligence Disponibile con una postazione Process Intelligence o superiore. Solo le postazioni di questo piano o di un piano superiore possono utilizzare questa funzionalità. Confronta 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. Comprendere il funzionamento del motore Le permette di configurare le simulazioni in modo più efficace e di interpretare 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 allocate e rilasciate in momenti specifici
  • I casi arrivano e si completano in punti definiti

Perché gli eventi discreti?

A differenza della simulazione continua, utilizzata per la fisica o la dinamica dei fluidi, i processi aziendali non richiedono una modellazione istante per istante. Una richiesta di prestito non passa gradualmente da “inviata” ad “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 evento

La simulazione genera ed elabora diversi tipi di evento:

Tipo di evento Cosa accade
Arrivo del caso Un nuovo caso entra nel processo attraverso un evento di inizio
Inizio dell’attività Un caso inizia a eseguire un’attività, con allocazione delle risorse
Completamento dell’attività Un caso completa un’attività, con rilascio delle risorse
Valutazione del Gateway Un punto decisionale determina quale percorso o quali percorsi seguire
Completamento del caso Un caso raggiunge un evento di fine

Generazione e arrivo dei casi

I casi entrano nella simulazione attraverso gli Start Events del modello BPMN. Il modello degli arrivi è controllato dalla distribuzione di generazione dei casi.

Modello di arrivo predefinito

Per impostazione predefinita, i casi arrivano secondo una distribuzione di Poisson, con un tasso di 1 caso all’ora. In questo modo si ottengono intervalli realistici e casuali tra gli arrivi, tipici di molti processi aziendali.

Personalizzazione degli arrivi

Può configurare diversi modelli di arrivo utilizzando le distribuzioni descritte nella documentazione Distribuzioni.

Flusso dei casi nel processo

Sequence Flows

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

Comportamento dei Gateway

I Gateway controllano il modo in cui i casi si diramano e si ricongiungono:

Tipo di Gateway Comportamento
XOR (esclusivo) Viene selezionato esattamente un percorso in uscita mediante una selezione casuale ponderata per probabilità. Le probabilità sono trattate come pesi relativi e normalizzate automaticamente.
AND (parallelo) Tutti i percorsi in uscita vengono seguiti simultaneamente. Il caso si divide in token paralleli.
OR (inclusivo) Selezione casuale dei percorsi, con la garanzia che almeno un percorso venga seguito.
basato sugli eventi Selezione casuale tra gli eventi disponibili.

Impostazione delle probabilità

Per i Gateway XOR, assegna le probabilità a ogni flusso in uscita. Si tratta di pesi relativi:

  • Se imposta i flussi su 70, 20 e 10, questi vengono normalizzati rispettivamente al 70%, 20% e 10%
  • Se imposta i flussi su 7, 2 e 1, ottiene lo stesso risultato
  • Ai flussi non assegnati viene applicata la percentuale rimanente

Esecuzione delle attività

Quando un caso raggiunge una task, il motore segue questa sequenza:

1. Verifica della disponibilità delle risorse

La risorsa richiesta dispone di capacità disponibile?

2. Accodamento, 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 in cui sono arrivati.

3. Allocazione delle risorse

Quando diventano disponibili, le unità della risorsa richiesta vengono riservate per questo caso.

4. Estrazione del tempo di elaborazione

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

5. Pianificazione dell’evento di completamento

Un evento di completamento viene aggiunto alla coda degli eventi a current_time + processing_time.

6. Rilascio delle risorse

Quando si verifica l’evento di completamento, le risorse vengono restituite al pool per essere utilizzate da altri casi.

Tempo minimo di elaborazione

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à richiedono almeno questo tempo.

Probabilità di salto

Le attività possono essere configurate con una probabilità di salto, compresa tra 0 e 100%. Quando un’attività viene saltata:

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

Questo consente di modellare scenari reali in cui alcuni passaggi vengono occasionalmente saltati.

Gestione del tempo

L’orologio della simulazione

La simulazione mantiene un orologio virtuale che avanza in modo discreto da un evento all’altro. Se il prossimo evento è alle 10:35 e l’ora corrente è 10:30, l’orologio passa direttamente alle 10:35.

Unità di tempo

Internamente, tutti i tempi vengono convertiti in unità coerenti. Può specificare le durate in:

  • Secondi
  • Minuti
  • Ore
  • Giorni

I tassi di arrivo vengono impostati separatamente, per ora, giorno, settimana, mese o anno.

Periodicità e intervalli temporali

I parametri possono variare in base all’orario della simulazione. Ad esempio:

  • Tassi di arrivo diversi 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 sulla configurazione, consulti la documentazione sulla Periodicità.

Gestione delle risorse

Pool di risorse

Ogni risorsa ha una capacità definita, cioè 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), assicurando che i casi vengano elaborati nell’ordine di arrivo.

Generazione dell’Event Log

Durante l’esecuzione della simulazione, ogni esecuzione di un’attività viene registrata nell’Event Log di output:

Campo Descrizione
ID caso Identificativo univoco di ogni 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 Impedisce simulazioni senza fine
Durata minima 1 secondo Garantisce timestamp univoci

Inizi in piccolo, poi aumenti la scala

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

Passaggi successivi

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