Fonctionnement du moteur de simulation
Découvrez le moteur de simulation à événements discrets de ProcessMind et comment il modélise vos processus.
Les processus réels ne fonctionnent pas toujours pareil. Par exemple, le support client reçoit plus d’appels en horaires de bureau ; l’industrie fonctionne en équipes ; le commerce connaît des pics saisonniers.
La périodicité permet de définir quand des règles précises de simulation s’appliquent. Au lieu d’une valeur globale, vous adaptez les paramètres selon la période choisie :
Votre simulation reflète ainsi la réalité des différents contextes temporels.
Prenons un exemple simple : modéliser l’arrivée de clients.
Sans périodicité :
Avec périodicité :
Le second modèle reflète les variations réelles de la demande et impacte files d’attente, exploitation des ressources et performance.
ProcessMind prend en charge neuf types de périodicité qui définissent quand une règle s’applique :
| Type | Paramètres | Description |
|---|---|---|
| Always | (aucun) | S’applique en continu, sans variation |
| Default | (aucun) | Règle de secours pour toute période non couverte |
| Fixed Period | startDateTime, endDateTime | Période unique (non répétée) |
| Each Day | startTime, endTime | Même plage horaire chaque jour |
| Each Weekday | startTime, endTime | Du lundi au vendredi uniquement |
| Each Weekend Day | startTime, endTime | Samedi et dimanche uniquement |
| Each Week | startDay, startTime, endDay, endTime | Récurrence chaque semaine, peut couvrir plusieurs jours |
| Each Month | startDayOfMonth, startTime, endDayOfMonth, endTime | Récurrence mensuelle |
| Each Year | startMonth, startDayOfMonth, startTime, endMonth, endDayOfMonth, endTime | Motif annuel/saisonnier |
L’option la plus simple : la règle s’applique tout le temps, sans variation.
À utiliser si : Le paramètre ne varie pas selon le temps, ou pour une simulation simple de base.
Agit comme règle de secours si aucune autre ne correspond à l’instant simulé.
À utiliser si : Vous prévoyez des exceptions pour certaines périodes et le reste doit suivre une valeur par défaut.
Toujours inclure une Default
Quand vous utilisez plusieurs règles de périodicité, ajoutez toujours une règle Default pour combler toute lacune. Cela évite tout comportement imprévu en l’absence de correspondance.
La règle s’applique à des horaires définis chaque jour de la semaine.
Paramètres :
startTime : Heure de début (ex : 09:00)endTime : Heure de fin (ex : 17:00)Exemple : Heures d’ouverture 09h00-17h00 appliquées tous les jours, week-end inclus.
La règle s’applique à des horaires précis du lundi au vendredi uniquement.
Paramètres :
startTime : Heure de débutendTime : Heure de finExemple : Le support client est ouvert 08h00-18h00 en semaine, avec d’autres règles le week-end.
La règle s’applique à des horaires définis samedi et dimanche uniquement.
Paramètres :
startTime : Heure de débutendTime : Heure de finExemple : Support ouvert de 10h00 à 16h00 en horaires réduits le week-end.
La règle couvre une plage qui peut s’étendre sur plusieurs jours de la semaine. Pratique pour modéliser des schémas ne durant pas qu’un seul jour.
Paramètres :
startDay : Jour de début (lundi, mardi, etc.)startTime : Heure de débutendDay : Jour de finendTime : Heure de finExemple : Période de fort volume du mercredi à 14h00 au vendredi à 12h00.
La règle s’applique certains jours chaque mois.
Paramètres :
startDayOfMonth : Jour du mois de début (1-31)startTime : Heure du débutendDayOfMonth : Jour de fin de moisendTime : Heure de finExemple : Pointe de traitement de fin de mois, du 25 à 08h00 jusqu’au dernier jour à 23h59.
La règle s’applique à des dates précises chaque année.
Paramètres :
startMonth : Mois de débutstartDayOfMonth : Jour de débutstartTime : Heure de débutendMonth : Mois de finendDayOfMonth : Jour de finendTime : Heure de finExemple : Pic de fréquentation pour Noël, du 15 novembre à 00h00 au 31 décembre à 23h59.
La règle s’applique sur une plage de dates et heures précises (non récurrente). À utiliser pour un événement ponctuel.
Paramètres :
startDateTime : Date et heure de début précisesendDateTime : Date et heure de fin précisesExemple : Semaine de lancement du produit du 15 au 22 mars 2025, avec des règles de traitement spéciales.
La vraie puissance de la périodicité vient de la combinaison de plusieurs règles. Vous pouvez définir des paramètres différents selon les contextes temporels, et la simulation applique automatiquement la règle adaptée à chaque instant.
Prenons un processus industriel avec des temps variables selon l’équipe :
| Nom de la règle | Périodicité | Distribution du temps de traitement |
|---|---|---|
| Day Shift | Chaque jour ouvré, 08:00-16:00 | Normal(30 min, 5 min) |
| Evening Shift | Chaque jour ouvré, 16:00-00:00 | Normal(45 min, 10 min) |
| Weekend Crew | Chaque jour de week-end, 10:00-18:00 | Normal(60 min, 15 min) |
| Overnight/Default | Default | Normal(90 min, 20 min) |
L’équipe de jour est la plus rapide (équipe complète, collaborateurs reposés). Le soir est plus lent (moins de supervision). Le week-end, c’est le plus lent (petite équipe). La règle “Default” couvre les heures de nuit.
Quand plusieurs règles peuvent s’appliquer :
Astuce : Placez les règles spécifiques avant les règles générales. Par exemple, “Chaque jour ouvré” avant “Chaque jour” si vous voulez une logique différente semaine / week-end.
La périodicité s’applique à plusieurs paramètres de simulation :
| Paramètre | Cas d’usage de la périodicité |
|---|---|
| Case Arrivals | Taux d’arrivées plus élevé en heures ouvrées, plus faible la nuit |
| Processing Times | Traitement plus rapide avec équipes complètes, plus lent lors des heures creuses |
| Resource Capacity | Plus de staff pendant les pics, équipe réduite la nuit |
| Skip Chances | Règles de routage différentes selon week-end ou jours fériés |
| Gateway Probabilities | Décisions différentes selon le moment de la journée |
Voici un exemple concret illustrant comment la périodicité agit sur plusieurs paramètres dans une simulation de support client :
| Périodicité | Taux d’arrivée |
|---|---|
| Each Weekday 09:00-18:00 | Poisson(50 par heure) |
| Each Weekday 18:00-22:00 | Poisson(20 par heure) |
| Each Weekend Day 10:00-16:00 | Poisson(15 par heure) |
| Default | Poisson(5 par heure) |
Volume élevé en horaires de bureau, trafic modéré le soir, flux faible le week-end et la nuit.
| Périodicité | Distribution |
|---|---|
| Chaque jour ouvré 09:00-17:00 | Triangular(10, 20, 45 min) |
| Chaque jour de week-end | Triangular(20, 40, 90 min) |
| Default | Triangular(30, 60, 120 min) |
Plus rapide lors des pics d’effectif, plus lent le week-end et en dehors des horaires.
| Périodicité | Agents disponibles |
|---|---|
| Chaque jour ouvré 09:00-18:00 | 10 agents |
| Chaque jour ouvré 18:00-22:00 | 4 agents |
| Chaque jour de week-end 10:00-16:00 | 3 agents |
| Default | 1 agent |
Équipe complète pendant les heures travaillées, effectif réduit sinon.
À 10h un mardi :
À 20h un mardi :
À 14h un samedi :
Définissez toujours la règle Default d’abord. Elle couvre toute période non traitée par des règles spécifiques.
Commencez par des schémas larges (semaine vs. week-end), puis ajoutez des règles plus précises (horaires d’équipe) si besoin.
Distinguez d’abord semaine/week-end et ajoutez ensuite des détails horaires ou saisonniers si nécessaire. Vous pourrez toujours affiner.
Analysez vos données historiques pour comprendre vos vrais schémas : taux d’arrivées, temps de traitement, gestion des équipes par heure et par jour.
Vérifiez vos règles sur les transitions :
Les configurations complexes peuvent prêter à confusion. Notez pourquoi chaque règle existe et à quelle logique métier elle correspond.