Simulation à événements discrets pour processus métier
La simulation à événements discrets (DES) représente un processus comme une suite d’événements : arrivée, début de traitement, fin de traitement, changement d’équipe. L’horloge saute toujours jusqu’à l’événement planifié suivant, au lieu d’avancer par pas de temps fixes. C’est pourquoi une journée de modèle coûte du temps de calcul de l’ordre de la milliseconde. Les entités sont les opérations, les ressources les capacités de traitement, des files d’attente apparaissent lorsque les deux ne correspondent pas. Pour les processus métier, trois décisions sont importantes : des intervalles d’arrivée exponentiellement distribués comme hypothèse standard, des distributions asymétriques à droite pour les durées de traitement, et suffisamment de répétitions pour que la bande de résultat reste stable.
Inhaltsverzeichnis
Pourquoi « discret » et pourquoi « orienté événement »
Il existe deux manières de traiter le temps dans une simulation.
Orienté pas de temps : L’horloge avance par pas fixes (chaque minute, chaque seconde), et à chaque pas on vérifie ce qui s’est passé. Facile à programmer, énergivore à l’exécution : entre deux événements dans un processus de validation il y a des heures où rien ne se passe et où l’on calcule quand même.
Orienté événement : L’horloge saute jusqu’au moment du prochain événement planifié. Entre les événements rien ne change, donc rien n’a besoin d’être calculé.
Liste d’événements (triée par temps) :
09:14 Arrivée du dossier #418
09:22 Fin de traitement du #402 à l’étape "Vérification"
09:40 Changement d’équipe de la Validation
...
L’horloge saute à 09:14, traite, planifie les événements suivants, saute à nouveau.
« Discret » signifie : l’état change de façon brusque à des instants distincts, pas de façon continue. Cela correspond exactement aux processus métier. Une demande est traitée ou non, il n’existe pas de « à moitié traitée ».
Les quatre composants
| Composant | Dans votre processus | Ce qu’il fait |
|---|---|---|
| Entité | Facture, demande, ticket, candidature | Parcourt le modèle, porte des attributs |
| Ressource | Collaboratrice, autorisant, service de contrôle | A une capacité, est libre ou occupée |
| File d’attente | Boîte de réception, liste de tickets, relance | Apparaît d’elle‑même quand la ressource est occupée |
| Événement | Arrivée, début, fin, changement d’équipe | Change l’état, planifie des événements suivants |
La propriété la plus importante : les files d’attente ne sont pas modélisées, elles apparaissent. Qui saisit une durée de séjour de trois jours comme pas fixe a présupposé le résultat au lieu de le calculer. Il ne peut ensuite pas montrer comment cette durée change si la capacité ou la dispersion changent.
Les trois décisions qui font échouer des modèles
1. Quelle distribution ?
Pour les intervalles d’arrivée : exponentielle. C’est l’hypothèse standard quand les dossiers arrivent indépendamment les uns des autres, par exemple des factures de différents fournisseurs ou des tickets de différents utilisateurs. Elle produit exactement le comportement observé dans la boîte de réception : de longues périodes calmes, puis trois qui arrivent en même temps.
Si l’arrivée n’est pas exponentielle, elle est cadencée : un lot en fin de mois, une transmission quotidienne à 8h. Alors il vous faut un calendrier, pas une distribution.
Pour les durées de traitement : asymétrique à droite. Lognormale ou Gamma. Si vous n’avez que des estimations, triangulaire à partir du minimum, de la valeur la plus probable et du maximum. La raison : les temps de traitement ont une borne inférieure stricte et une longue traîne à droite. Une distribution normale génère des durées négatives et sous‑estime les valeurs extrêmes qui créent la file d’attente.
Règle pratique : Si vous ne savez que « 5 à 15 minutes », prenez une distribution triangulaire avec le mode à 8. Le choix entre lognormale et Gamma influe moins sur le résultat que la question de savoir si vous autorisez une dispersion.
2. Phase d’échauffement
Une simulation démarre avec des files vides. C’est un état que votre processus n’a jamais. Les premiers jours du modèle sont donc systématiquement trop bons.
Traitement : soit exclure les premiers jours de l’analyse (warm‑up), soit démarrer avec un stock initial réaliste. Pour des processus avec une utilisation nettement inférieure à 85 % quelques jours suffisent ; proches de la limite la période d’ajustement peut durer des semaines.
Comment le repérer : si la moyenne de la première semaine est nettement inférieure à celle de la deuxième, la phase d’échauffement a été trop courte.
3. Combien de runs ?
Un seul run est un échantillon de taille un. Il dit autant sur le processus qu’une seule journée de travail. On répète avec de nouvelles valeurs aléatoires jusqu’à ce que la bande de résultats soit stable.
Critère pratique : doublez le nombre de runs. Si P50 et P90 bougent de moins de quelques pourcents, le nombre suffit. Pour des processus métier il se situe typiquement à quelques centaines.
Plus important que le nombre exact : répéter du tout et produire une bande de sortie. Une simulation qui ne donne qu’un seul nombre a raté l’objectif de la méthode.
Comparaison des points de vue
| Orienté processus | Orienté événement | |
|---|---|---|
| Vous décrivez | le parcours de vie d’une entité | ce qui se passe pour chaque type d’événement |
| Exemple | « La facture arrive, attend, est vérifiée, attend, est validée » | « À l’arrivée : s’aligner. Si la ressource est libre : prendre le suivant » |
| Réparti dans | SimPy, Simul8, la plupart des outils commerciaux | bibliothèques plus anciennes, implémentations maison |
Pour les processus métier la vue orientée processus est la plus naturelle : vous écrivez ce qui arrive à un dossier, et cela correspond exactement à la manière dont une unité métier décrit son déroulement.
Validation : trois contrôles
1. Little's Law. Stock ÷ débit doit donner à peu près le temps de traversée, dans le modèle comme dans la réalité. Ce test ne repose pas sur des hypothèses de distribution et c’est donc le plus solide qui existe.
2. Charge comparée au calcul manuel. ρ = demande ÷ capacité se calcule étape par étape avec une calculatrice. Si le modèle diverge fortement, une branche ou un calendrier est faux.
3. Test de valeur extrême. Doublez la capacité d’une étape. Si rien ne change, cette étape n’était jamais le goulot d’étranglement. Si vous ne vous y attendiez pas, votre modèle n’est pas conforme à votre idée du processus. C’est précisément là que commence la discussion intéressante.
Quand le DES n’est pas la bonne méthode
- Les participants prennent des décisions qui modifient le déroulement (les clients abandonnent, les agents choisissent leurs cas) → simulation multi‑agents.
- Il s’agit de stocks et de rétroactions sur des années (recrutement, dynamique de marché) → dynamique des systèmes.
- Il n’y a pas de files parce que la capacité est abondante → une simple addition suffit.
- La question est de savoir ce qui s’est réellement passé → Process Mining. Le DES calcule une hypothèse, pas un journal.
Questions fréquentes
Quelle est la différence entre simulation à événements discrets et simulation à base d'agents ?
Le DES modélise des cas qui traversent des stations fixes et attendent des ressources occupées. La logique est dans le processus. La simulation à base d'agents modélise des intervenants avec des règles propres qui interagissent entre eux. La logique est dans les agents. Pour un processus d'approbation, le DES est approprié ; dès que les intervenants décident eux‑mêmes s’ils et comment ils continuent, l'ABS devient intéressante.
Quelle distribution dois‑je choisir pour les temps de traitement ?
Une distribution à asymétrie droite : lognormale ou gamma si vous disposez de données, triangulaire à partir du minimum, de la valeur la plus probable et du maximum si vous estimez. Pas de distribution normale. Elle produit des durées négatives et sous‑estime les cas longs qui font croître la file d'attente. Plus important que le choix entre candidats à asymétrie droite est qu'il y ait effectivement de la variation.
Quelle durée doit avoir la phase d'échauffement ?
Assez longue pour que le stock et le temps d'attente ne s'accumulent plus systématiquement. À des taux d’utilisation nettement inférieurs à 85 %, ce sont quelques jours de modèle ; près de la limite de capacité, cela peut être des semaines, car la file d'attente s’y stabilise très lentement. Un test simple : si la moyenne de la première semaine est nettement inférieure à celle de la deuxième, la phase a été trop courte.
Pourquoi l'horloge saute‑t‑elle au lieu de tourner régulièrement ?
Parce qu'entre deux événements rien ne se passe qui doive être calculé. Dans un processus d'approbation, il peut s'écouler des heures entre l'arrivée et le début du traitement sans changement d'état. Le saut d'événements rend une année de modèle calculable en quelques secondes. C'est la raison pour laquelle des centaines de répétitions sont praticables.
Ai‑je besoin d'un langage de programmation pour le DES ?
Non. Des bibliothèques comme SimPy exigent du code, les outils commerciaux et les outils légers d’aide à la décision avec interface non. La différence tient à la responsabilité : avec une bibliothèque, vous choisissez vous‑même la distribution, la phase d'échauffement et le nombre de réplications ; un outil avec interface vous délègue partiellement ces choix et calcule de façon plus superficielle.
Calculez-le pour votre propre processus
FlowVisual transforme les chiffres de cet article en un modèle opérationnel, avec vos volumes, vos capacités, votre marge.
Guide: seven steps to the number- Méthode
Qu'est-ce que la simulation de processus ? Définition, méthodes, limites
La simulation de processus fait exécuter artificiellement un déroulement, au lieu de le décrire. La différence n'est pas académique : elle détermine si vous avez une opinion sur une modification ou un chiffre.
Lire - Méthode
Simulation Monte Carlo pour processus : ce qu'elle peut faire et quand elle ment
Monte Carlo n'est pas un mot magique, mais un lancer de dés systématique : le même processus, des centaines de fois, avec à chaque fois d'autres valeurs aléatoires. Ce qui en sort n'est pas un chiffre, mais une distribution. C'est justement le point.
Lire - Méthode
Calculer l'engorgement : pourquoi 85 % d'utilisation est déjà trop
L'engorgement n'est pas l'étape la plus longue, mais celle avec la plus forte utilisation. Et le temps d'attente ne croît pas linéairement avec l'utilisation, il explose juste avant la limite. Le calcul derrière tient sur une page.
Lire