Sur cette page

Fonctionnement du moteur de simulation

Comprendre le moteur de simulation

ProcessMind utilise un moteur simulation à événements discrets (DES) pour modéliser vos processus. Comprendre son fonctionnement vous aide à mieux paramétrer vos simulations et à bien interpréter les résultats.


Qu’est-ce que la discrete event simulation ?

Dans la discrete event simulation, l’état du système change uniquement lors d’events — l’horloge saute d’un event à un autre, il ne se passe rien entre deux. Cette méthode est idéale pour les processus métier car :

  • Les activités ont des débuts et fins précises
  • Ressources allouées/libérées à des moments définis
  • Les cas arrivent et se terminent à un instant défini

Pourquoi les événements discrets ?

Contrairement à la simulation continue (physique, fluide), les processus métier n’exigent pas de suivi instantané. Une demande de prêt ne passe pas peu à peu de “soumise” à “approuvée” : le changement intervient lors d’un event précis.


Boucle centrale des events

Le moteur de simulation suit une boucle simple et puissante :

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

Types d’événements

La simulation génère et traite différents types d’événements :

Type d’eventDescriptionn
Arrivée du cas (Case Arrival)Un nouveau case entre dans le process via un événement de début (start event)
Début d’activité (Activity Start)Un case démarre une activité (ressources allouées)
Fin d’activité (Activity Complete)Une activité s’achève pour un cas (ressources libérées)
Évaluation de passerelleUn point de décision détermine la voie à suivre
Fin du casUn case atteint un événement de fin (end event)

Génération et arrivée des cases

Les cases entrent dans la simulation via des Événement de débuts de votre modèle BPMN. Le schéma d’arrivée est contrôlé par la distribution de génération des cases.

Schéma d’arrivée par défaut

Par défaut, les cases arrivent selon une loi de Poisson à raison d’1 case par heure. Cela simule des délais réalistes et aléatoires courants en business process.

Personnaliser les arrivées

Vous pouvez configurer différents schémas d’arrivée en utilisant les distributions évoquées dans la documentation Distributions .


Flux du cas dans le process

flux de séquence (Sequence Flow)s

Quand un cas termine un élément, il suit aussitôt le flux de séquence sortant. S’il n’y a qu’une seule option, elle est prise automatiquement.

Comportement des gateways

Les gateways gèrent la façon dont les cases se divisent et se rassemblent :

Type de GatewayComportement
XOR (Exclusive)Une seule sortie, choisie par tirage au sort pondéré selon la probabilité attribuée. Les probabilités sont des poids, normalisés automatiquement.
AND (Parallel)Toutes les sorties sont prises ensemble. Le case se duplique en jetons en parallèle.
OR (Inclusive)Sélection au hasard d’au moins une sortie garantie.
Event-BasedSélection aléatoire parmi les événements disponibles.

Paramétrage des probabilités

Pour les gateways XOR, attribuez un poids à chaque flow sortant. Ce sont des poids relatifs :

  • Par exemple, 70, 20, 10 donnent 70 %, 20 %, 10 %
  • 7, 2, 1 donnent le même résultat
  • Toutes les sorties doivent être pondérées, les sorties non affectées prennent le reste

Exécution d’une activité

Lorsqu’un cas atteint une task (activité), le moteur suit cette séquence :

1. Vérifier la disponibilité des ressources

La ressource demandée a-t-elle une capacité disponible ?

2. Mettre en attente si nécessaire

Si aucune ressource n’est disponibleble, le case entre en file d’attente. ProcessMind utilise le modèle FIFO (First In, First Out) : chaque cas est traité dans l’ordre d’arrivée.

3. Allouer les ressources

Dès qu’elles sont libres, les ressources nécessaires sont attribuées à ce case.

4. Calculer le temps de traitement

Le moteur prélève une valeur dans la distribution de temps de traitement paramétrée. Cela fixe la durée de l’activité.

5. Planifier la fin de l’activité

L’event de fin est ajouté à la file d’attente à « current_time + processing_time ».

6. Libérer les ressources

À la fin, les ressources sont restituées et disponible pour d’autres cases.

Durée minimale de traitement

Pour garantir des horodatages uniques et un résultat réaliste, toute activité dure au moins 1 seconde, même si la durée distribuée est zéro.


Taux de saut

Les activities peuvent être configurées avec un taux d’omission (0-100 %). Lorsqu’une activity est sautée :

  • Le case passe immédiatement à l’élément suivant
  • Aucune ressource n’est consommée
  • Aucun temps ne s’écoule (hors 1 seconde minimum)
  • L’activité apparaît dans le log avec une durée minimale

Cela modélise les situations réelles où certaines étapes sont parfois ignorées.


Gestion du temps

Horloge de simulation

La simulation garde une horloge virtuelle qui avance uniquement d’un event à l’autre. Si le prochain event est à 10h35 et qu’il est 10h30, l’horloge saute à 10h35.

Unités de temps

Tous les temps sont harmonisés en interne. Vous pouvez indiquer les durées en :

  • Secondes
  • Minutes
  • Heures
  • Jours
  • Semaines
  • Mois

Périodicité et créneaux horaires

Les paramètres varient selon le moment de la simulation, par exemple :

  • Taux d’arrivée différent semaine/weekend
  • Temps de traitement différents matin/après-midi
  • Capacité ressource supérieure aux heures de pointe

Voir la doc Périodicité  pour le paramétrage.


Gestion des ressources

Pools de ressources

Chaque ressource a une capacité : nombre de cases traités en même temps.

Gestion de la file d’attente

Si la demande dépasse la capacité, les cases attendent. ProcessMind s’appuie sur FIFO (First In, First Out) : tout est traité dans l’ordre d’arrivée.


Génération du journal des events

Pendant la simulation, chaque exécution d’activité est enregistrée dans l’événement log :

ChampDescriptionn
ID du casIdentifiant unique du cas (généré séquentiellement)
ActivityNom de l’élément BPMN
Start HorodatageDate/heure de début de l’activité
Complete HorodatageDate/heure de fin de l’activité
ResourceRessource ayant réalisé l’activité
AttributesAttributs du cas à ce moment

Ce log respecte les formats standards d’journal d’événements et peut être analysé avec tous les outils ProcessMind.


Limites de simulation

LimiteValeurObjectif
Max Events2 000 000Empêche une simulation sans fin
Min Duration1 secondeAssure des horodatages uniques

Commencez petit, puis montez en charge

Lors de la création d’une nouvelle simulation, commencez par une courte période (quelques jours ou semaines) pour valider la configuration. Une fois votre modèle validé, augmentez progressivement la durée.


Prochaines étapes

Ressources
Découvrez comment modéliser ressources et contraintes de capacité.