Documentenlijst
Op deze pagina

Hoe de Simulation Engine werkt

De Simulatie-Engine Begrijpen

ProcessMind gebruikt een discrete event simulation (DES) engine om processen te modelleren. Inzicht in deze werking helpt je simulaties beter in te richten en resultaten goed te interpreteren.


Wat is Discrete Event Simulation?

Bij discrete event simulation verandert de systeemstatus alleen op specifieke events — de klok springt van event naar event, daartussen gebeurt er niets. Dit past goed bij business processen omdat:

  • Activiteiten een duidelijke begin- en eindtijd hebben
  • Resources op specifieke momenten worden toegekend of vrijgegeven
  • Cases op bepaalde momenten binnenkomen en afronden

Waarom Discrete Events?

In tegenstelling tot een continue simulatie (voor fysica of vloeistofdynamica), hoeft een business proces niet elke seconde gemodelleerd te worden. Een leningaanvraag verandert niet langzaam van ‘ingediend’ naar ‘goedgekeurd’ — de status wijzigt bij een specifiek event.


De Kern Event Loop

De simulatie-engine werkt volgens een eenvoudige maar krachtige loop:

1. Initialiseren: Startvoorwaarden instellen
2. Volgend Event: Pak het eerstvolgende event uit de prioriteitsqueue
3. Tijd Vooruitzetten: Zet de klok van de simulatie naar het event-moment
4. Verwerk Event: Handel het event af (start activiteit, voltooi activiteit, etc.)
5. Plan Nieuwe Events: Voeg nieuwe events toe op basis van wat er gebeurt
6. Herhaal: Ga door tot de eindtijd of het maximum aantal events is bereikt (2.000.000)
7. Output: Genereer het volledige event log

Type Events

De simulatie maakt en verwerkt verschillende event types:

Event TypeWat gebeurt er
Case ArrivalNieuwe case komt het proces binnen via een start event
Activity StartEen case begint een activiteit uit te voeren (resources toegekend)
Activity CompleteEen case rondt een activiteit af (resources vrijgegeven)
Gateway EvaluationBeslispunt bepaalt welke route wordt genomen
Case CompleteEen case bereikt een end event

Case Generatie en Binnenkomst

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

Standaard Binnenkomstpatroon

Standaard komen cases binnen volgens een Poisson distribution met gemiddeld 1 case per uur. Dit zorgt voor realistische, willekeurige afstanden tussen cases zoals gebruikelijk in veel bedrijfsprocessen.

Binnenkomst Aanpassen

Je kunt verschillende binnenkomstpatronen instellen met de distributions uit de Distributions  documentatie.


Case Flow Door Het Proces

Sequence Flows

Als een case een element voltooit, volgt hij direct de uitgaande sequence flow. Is er maar één pad, dan wordt dit automatisch gekozen.

Gateway Gedrag

Gateways bepalen hoe cases splitsen en samenkomen:

Gateway TypeGedrag
XOR (Exclusive)Er wordt exact één pad gekozen d.m.v. kansgewogen random selectie. Probabilities zijn relatieve gewichten en worden automatisch genormaliseerd.
AND (Parallel)Alle uitgaande paden worden tegelijkertijd gevolgd. De case splitst in parallelle tokens.
OR (Inclusive)Willekeurige selectie van paden, met minimaal één gegarandeerd pad.
Event-BasedWillekeurige keuze tussen beschikbare events.

Probabilities Instellen

Bij XOR gateways wijs je probabilities (kansen) toe per uitgaande flow. Dit zijn relatieve gewichten:

  • Zet je flows op 70, 20 en 10, dan worden ze 70%, 20%, 10%
  • Zet je flows op 7, 2 en 1, dan krijg je hetzelfde resultaat
  • Alle flows moeten een probability krijgen; niet-toegewezen flows krijgen het restant

Activiteit Uitvoering

Wanneer een case een taak (activiteit) bereikt, volgt de engine deze volgorde:

1. Controleer Resource Beschikbaarheid

Heeft de benodigde resource nog voldoende capaciteit beschikbaar?

2. Zet In Wachtlijst Indien Nodig

Als resources niet beschikbaar zijn, komt de case in de wachtrij. ProcessMind werkt met FIFO (First In, First Out) — cases worden verwerkt op volgorde van binnenkomst.

3. Resources Toewijzen

Zodra beschikbaar, worden de benodigde resource units aan deze case toegekend.

4. Bepaal Verwerkingstijd

De engine haalt een waarde uit de ingestelde processing time distribution. Dit bepaalt hoe lang de activiteit zal duren.

5. Plan Completion Event

Een completion event wordt toegevoegd aan de event queue op current_time + processing_time.

6. Resources Vrijgeven

Bij het completion event gaan resources weer terug naar de pool voor andere cases.

Minimale Verwerkingstijd

Om unieke timestamps en realistisch gedrag te waarborgen, hebben alle activiteiten een minimale duur van 1 seconde. Ook met een nul-waardedistributie duurt een activiteit altijd minstens zo lang.


Skip Chance

Activiteiten kunnen ingesteld worden met een skip chance (0-100%). Als een activiteit wordt overgeslagen:

  • De case gaat direct door naar het volgende element
  • Er worden geen resources gebruikt
  • Er verstrijkt geen tijd (behalve minimaal 1 seconde)
  • De activiteit verschijnt in het log met minimale duur

Hiermee modelleer je praktijkgevallen waarin stappen soms overgeslagen worden.


Tijd Management

De Simulatieklok

De simulatie werkt met een virtuele klok die stapsgewijs springt van event naar event. Staat het volgende event om 10:35 en is het nu 10:30, dan springt de klok direct naar 10:35.

Tijdseenheden

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

  • Seconden
  • Minuten
  • Uren
  • Dagen
  • Weken
  • Maanden

Periodiciteit en Tijdslots

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

  • Andere aankomstrates voor werkdagen vs. weekend
  • Verschillende verwerkingstijden in ochtend- en middagshifts
  • Extra resourcecapaciteit tijdens piekuren

Zie de Periodicity  documentatie voor configuratie-opties.


Resource Management

Resource Pools

Elke resource heeft een vaste capacity; het aantal cases dat deze tegelijk kan afhandelen.

Wachtrij Management

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


Event Log Generatie

Tijdens de simulatie wordt elke activiteit vastgelegd in het event log:

VeldBeschrijving
Case IDUnieke identificatie van elke case (op volgorde gegenereerd)
ActivityNaam van het BPMN-element
Start TimestampStarttijd van de activiteit
Complete TimestampEindtijd van de activiteit
ResourceWelke resource de activiteit uitvoerde
AttributesEventuele case-attributen op dat moment

Dit log volgt standaard event log-formaten en kan worden geanalyseerd met alle ProcessMind tools.


Simulatie Limieten

LimietWaardeDoel
Max Events2.000.000Voorkomt dat simulaties uit de hand lopen
Min Duration1 secondeZorgt voor unieke timestamps

Begin Klein, Schaal Daarna Op

Begin bij een nieuwe simulatie met een korte looptijd (enkele dagen of weken) om je configuratie te controleren. Zodra je zeker weet dat het model goed werkt, kun je langere perioden gebruiken.


Volgende Stappen

Resources
Ontdek hoe je resources en capaciteitsbeperkingen modelleert.