Op deze pagina

Hoe de simulatie-engine werkt

Process Intelligence Process Intelligence Beschikbaar met een Process Intelligence-licentieplaats of hoger. Alleen licentieplaatsen in dit abonnement of een hoger abonnement kunnen deze functie gebruiken. Abonnementen vergelijken Beschikbaar met een Process Intelligence-licentieplaats of hoger

De simulatie-engine begrijpen

ProcessMind gebruikt een discrete event simulation (DES)-engine om processen te modelleren. Als je begrijpt hoe deze engine werkt, kun je simulaties beter configureren en resultaten nauwkeuriger interpreteren.

Configuratie en resultaten van een ProcessMind-simulatie

Wat is discrete event simulation?

Bij discrete event simulation verandert de systeemstatus alleen bij specifieke events. De klok springt van event naar event en tussen twee events gebeurt er niets. Deze aanpak past goed bij bedrijfsprocessen, omdat:

  • Activiteiten duidelijke begin- en eindtijden hebben
  • Bronnen op specifieke momenten worden toegewezen en vrijgegeven
  • Cases op vastgelegde momenten binnenkomen en worden afgerond

Waarom discrete events?

In tegenstelling tot continue simulatie, die wordt gebruikt voor natuurkunde of vloeistofdynamica, hoeven bedrijfsprocessen niet van moment tot moment te worden gemodelleerd. Een leningaanvraag gaat niet geleidelijk van “ingediend” naar “goedgekeurd”. De status verandert bij specifieke events.

De centrale eventlus

De simulatie-engine doorloopt een eenvoudige lus:

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

Typen events

De simulatie genereert en verwerkt verschillende typen events:

Type event Wat gebeurt er
Aankomst van case Een nieuwe case komt binnen via een startevent
Start van activiteit Een case begint een activiteit uit te voeren, bronnen worden toegewezen
Voltooiing van activiteit Een case rondt een activiteit af, bronnen worden vrijgegeven
Evaluatie van Gateway Een beslispunt bepaalt welk pad of welke paden worden gevolgd
Voltooiing van case Een case bereikt een eindevent

Genereren en aankomen van cases

Cases komen de simulatie binnen via Start Events in je BPMN-model. Het aankomstpatroon wordt bepaald door de case generation distribution.

Standaard aankomstpatroon

Standaard komen cases binnen volgens een Poisson-verdeling, met een frequentie van 1 case per uur. Zo ontstaan realistische, willekeurige tussenpozen die kenmerkend zijn voor veel bedrijfsprocessen.

Aankomsten aanpassen

Je kunt verschillende aankomstpatronen configureren met de verdelingen uit de documentatie over verdelingen.

Caseflow door het proces

Sequence Flows

Wanneer een case een element afrondt, volgt die meteen de uitgaande Sequence Flow. Als er maar één uitgaand pad is, volgt de case dat automatisch.

Gedrag van Gateways

Gateways bepalen hoe cases vertakken en weer samenkomen:

Type Gateway Gedrag
XOR (Exclusive) Precies één uitgaand pad wordt gekozen via een willekeurige selectie op basis van kansen. De kansen worden behandeld als relatieve gewichten en automatisch genormaliseerd.
AND (Parallel) Alle uitgaande paden worden tegelijk gevolgd. De case wordt opgesplitst in parallelle tokens.
OR (Inclusive) Paden worden willekeurig geselecteerd, waarbij gegarandeerd minstens één pad wordt gevolgd.
Event-Based Willekeurige selectie uit de beschikbare events.

Kansen instellen

Bij XOR-gateways wijs je aan elke uitgaande flow een kans toe. Dit zijn relatieve gewichten:

  • Als je flows instelt op 70, 20 en 10, worden ze genormaliseerd naar 70%, 20% en 10%
  • Als je flows instelt op 7, 2 en 1, krijg je hetzelfde resultaat
  • Niet-toegewezen flows gebruiken het resterende percentage

Activiteiten uitvoeren

Wanneer een case een Task bereikt, doorloopt de engine deze stappen:

1. Beschikbaarheid van bronnen controleren

Is er capaciteit beschikbaar bij de vereiste bron?

2. Zo nodig in de wachtrij plaatsen

Als er geen bronnen beschikbaar zijn, komt de case in de wachtrij. ProcessMind gebruikt standaard de volgorde FIFO (First In, First Out): cases worden verwerkt in de volgorde waarin ze zijn binnengekomen.

3. Bronnen toewijzen

Zodra ze beschikbaar zijn, worden de benodigde eenheden van de bron gereserveerd voor deze case.

4. Verwerkingstijd bepalen

De engine haalt een waarde op uit de geconfigureerde verdeling voor de verwerkingstijd. Daarmee wordt bepaald hoelang de activiteit duurt.

5. Voltooiingsevent plannen

Er wordt een voltooiingsevent aan de eventwachtrij toegevoegd op current_time + processing_time.

6. Bronnen vrijgeven

Wanneer het voltooiingsevent optreedt, worden de bronnen teruggegeven aan de pool voor andere cases.

Minimale verwerkingstijd

Om unieke timestamps en realistisch gedrag te garanderen, hebben alle activiteiten een minimale duur van 1 seconde. Zelfs bij een verdeling met een duur van nul duurt een activiteit minimaal zo lang.

Overslaankans

Je kunt activiteiten configureren met een kans op overslaan van 0 tot 100%. Als een activiteit wordt overgeslagen:

  • Gaat de case meteen door naar het volgende element
  • Worden er geen bronnen gebruikt
  • Verstrijkt er geen tijd, behalve de minimale 1 seconde
  • Verschijnt de activiteit met een minimale duur in het log

Zo modelleer je praktijksituaties waarin stappen soms worden overgeslagen.

Tijd verwerken

De simulatieklok

De simulatie houdt een virtuele klok bij die van event naar event vooruitgaat. Staat het volgende event gepland om 10:35 en is het nu 10:30, dan springt de klok rechtstreeks naar 10:35.

Tijdseenheden

Alle tijden worden intern omgerekend naar consistente eenheden. Je kunt duren opgeven in:

  • Seconden
  • Minuten
  • Uren
  • Dagen

Aankomstfrequenties stel je afzonderlijk in per uur, dag, week, maand of jaar.

Periodiciteit en tijdvakken

Parameters kunnen variëren op basis van de simulatietijd. Bijvoorbeeld:

  • Verschillende aankomstfrequenties op werkdagen en in het weekend
  • Verschillende verwerkingstijden tijdens ochtend- en middagdiensten
  • Een andere broncapaciteit tijdens piekuren

Bekijk de documentatie over periodiciteit voor informatie over de configuratie.

Bronnen beheren

Bronpools

Elke bron heeft een vastgelegde capaciteit: het aantal cases dat de bron tegelijk kan verwerken.

Wachtrijen beheren

Als de vraag groter is dan de capaciteit, wachten cases in een wachtrij. ProcessMind gebruikt standaard de volgorde FIFO (First In, First Out), zodat cases worden verwerkt in volgorde van binnenkomst.

Event log genereren

Tijdens de simulatie wordt elke uitvoering van een activiteit vastgelegd in het uitvoerlog:

Veld Beschrijving
Case-ID Unieke identificatie voor elke case, opeenvolgend gegenereerd
Activiteit Naam van het BPMN-element
Starttimestamp Wanneer de activiteit begon
Voltooiingstimestamp Wanneer de activiteit eindigde
Bron Welke bron de activiteit uitvoerde
Attributen Alle case-attributen op dat moment

Dit log volgt standaardindelingen voor event logs en kan met alle ProcessMind-tools worden geanalyseerd.

Simulatielimieten

Limiet Waarde Doel
Maximaal aantal events 5.000.000 Voorkomt simulaties die blijven doorlopen
Minimale duur 1 seconde Zorgt voor unieke timestamps

Begin klein en schaal daarna op

Begin bij een nieuwe simulatie met een korte periode, bijvoorbeeld een paar dagen of weken, om je configuratie te controleren. Als je zeker weet dat het model goed werkt, kun je opschalen naar langere perioden.

Volgende stappen

Bronnen
Lees hoe je bronnen en capaciteitsbeperkingen modelleert.