Distributions Statistiques
Distributions statistiques pour modéliser la variation des temps de traitement, les taux d'arrivée et autres paramètres.
ProcessMind utilise un moteur discrete event simulation (DES) pour modéliser vos processes. Comprendre son fonctionnement vous aide à mieux paramétrer vos simulations et à bien interpréter les résultats.
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 business processes car :
Contrairement à la simulation continue (physique, fluide), les business processes 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.
Le moteur de simulation suit une boucle simple et puissante :
1. Initialisation : définir les conditions de départ
2. Prochain event : trouver l’event le plus proche dans la file prioritaire
3. Avancer le temps : placer l’horloge sur le prochain event
4. Traiter l’event : gérer l’événement (start activity, complete activity, ...)
5. Programmer la suite : ajouter les nouveaux events selon ce qui s’est passé
6. Répéter : jusqu’à la fin ou max d’events atteint (2 000 000)
7. Résultat : générer l’event log complet
La simulation génère et traite différents types d’events :
| Type d’event | Description |
|---|---|
| Case Arrival | Un nouveau case entre dans le process via un start event |
| Activity Start | Un case démarre une activité (ressources allouées) |
| Activity Complete | Une activité s’achève pour un case (ressources libérées) |
| Gateway Evaluation | Un point de décision détermine la voie à suivre |
| Case Complete | Un case atteint un end event |
Les cases entrent dans la simulation via des Start Events de votre modèle BPMN. Le schéma d’arrivée est contrôlé par la distribution de génération des cases.
Par défaut, les cases arrivent selon une distribution de Poisson à raison d’1 case par heure. Cela simule des délais réalistes et aléatoires courants en business process.
Vous pouvez configurer différents schémas d’arrivée en utilisant les distributions évoquées dans la doc Distributions .
Quand un case termine un élément, il suit aussitôt la sequence flow sortante. S’il n’y a qu’une seule option, elle est prise automatiquement.
Les gateways gèrent la façon dont les cases se divisent et se rassemblent :
| Type de Gateway | Comportement |
|---|---|
| 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-Based | Sélection aléatoire parmi les events dispo. |
Pour les gateways XOR, attribuez un poids à chaque flow sortant. Ce sont des poids relatifs :
Lorsqu’un case atteint une task (activité), le moteur suit cette séquence :
La ressource demandée a-t-elle une capacité disponible ?
Si aucune ressource n’est disponible, le case entre en file d’attente. ProcessMind utilise le modèle FIFO (First In, First Out) : chaque case est traité dans l’ordre d’arrivée.
Dès qu’elles sont libres, les ressources nécessaires sont attribuées à ce case.
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é.
L’event de fin est ajouté à la file d’attente à « current_time + processing_time ».
À la fin, les ressources sont restituées et dispo pour d’autres cases.
Pour garantir des timestamps 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.
Les activities peuvent être configurées avec un taux de saut (0-100 %). Lorsqu’une activity est sautée :
Cela modélise les situations réelles où certaines étapes sont parfois ignorées.
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.
Tous les temps sont harmonisés en interne. Vous pouvez indiquer les durées en :
Les paramètres varient selon le moment de la simulation, par exemple :
Voir la doc Périodicité pour le paramétrage.
Chaque ressource a une capacité : nombre de cases traités en même temps.
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.
Pendant la simulation, chaque exécution d’activité est enregistrée dans l’event log :
| Champ | Description |
|---|---|
| Case ID | Identifiant unique du case (généré séquentiellement) |
| Activity | Nom de l’élément BPMN |
| Start Timestamp | Date/heure de début de l’activité |
| Complete Timestamp | Date/heure de fin de l’activité |
| Resource | Ressource ayant réalisé l’activité |
| Attributes | Attributs du case à ce moment |
Ce log respecte les formats standards d’event log et peut être analysé avec tous les outils ProcessMind.
| Limite | Valeur | Objectif |
|---|---|---|
| Max Events | 2 000 000 | Empêche une simulation sans fin |
| Min Duration | 1 seconde | Assure des timestamps 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.