Op deze pagina

Hoe de Simulatie-engine werkt

De Simulatie-Engine Begrijpen

ProcessMind gebruikt een discrete gebeurtenis 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 Simulatie?

Bij discrete gebeurtenis simulation verandert de systeemstatus alleen op specifieke gebeurtenissen, de klok springt van gebeurtenis naar gebeurtenis, daartussen gebeurt er niets. Dit past goed bij bedrijfsprocessen omdat:

  • Activiteiten een duidelijke begin- en eindtijd hebben
  • Bronnen 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 bedrijfsproces niet elke seconde gemodelleerd te worden. Een leningaanvraag verandert niet langzaam van ‘ingediend’ naar ‘goedgekeurd’, de status wijzigt bij een specifiek gebeurtenis.


De Kern Event Loop

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

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 (2,000,000)
7. Output: Generate the complete event log

Type Events

De simulatie maakt en verwerkt verschillende gebeurtenis types:

Event-typeWat gebeurt er
Case ArrivalNieuwe case komt het proces binnen via een start gebeurtenis
Activiteit StartEen case begint een activiteit uit te voeren (bronnen toegekend)
Activiteit CompleteEen case rondt een activiteit af (bronnen vrijgegeven)
Gateway EvaluationBeslispunt bepaalt welke route wordt genomen
Case CompleteEen case bereikt een end gebeurtenis

Case Generatie en Binnenkomst

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

Standaard Binnenkomstpatroon

Standaard komen cases binnen volgens een Poisson-verdeling 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 Verdelingen  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. Kansen 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 zorgt voor pad.
Event-BasedWillekeurige keuze tussen beschikbare gebeurtenissen.

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 bron nog voldoende capaciteit beschikbaar?

2. Zet In Wachtlijst Indien Nodig

Als bronnen 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. Bronnen Toewijzen

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

4. Bepaal Verwerkingstijd

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

5. Plan Completion Event

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

6. Bronnen Vrijgeven

Bij het completion gebeurtenis gaan bronnen weer terug naar de pool voor andere cases.

Minimale Verwerkingstijd

Om unieke tijdstempels 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-kans

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 bronnen 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.


Tijdmanagement

De Simulatieklok

De simulatie werkt met een virtuele klok die stapsgewijs springt van gebeurtenis naar gebeurtenis. Staat het volgende gebeurtenis 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 broncapaciteit tijdens piekuren

Zie de Periodiciteit  documentatie voor configuratie-opties.


Resourcemanagement

Resource Pools

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

Wachtrijmanagement

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:

VeldOmschrijving
Case-IDUnieke identificatie van elke case (op volgorde gegenereerd)
ActiviteitNaam van het BPMN-element
StarttijdstampStarttijd van de activiteit
Complete TimestampEindtijd van de activiteit
ResourceWelke bron de activiteit uitvoerde
AttributenEventuele 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 tijdstempels

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

Bronnen
Ontdek hoe je bronnen en capaciteitsbeperkingen modelleert.