Vous êtes sur la page 1sur 17

Collection Algorithmes dirigée par Gérard Dreyfus

Simulation à
événements discrets
Gérard Fleury
Philippe Lacomme - Alain Tanguy

© Groupe Eyrolles, 2007,


ISBN : 2-212-11924-0, ISBN 13 : 978-2-212-11924-4
CHAPITRE 1

Introduction à la simulation

1.1 Intérêt de la simulation


La simulation permet d’appréhender le comportement de systèmes complexes, en
fonctionnement ou en projet, dont l’évolution serait difficile à prévoir et évaluer par tout
autre méthode. Largement utilisée en recherche opérationnelle, elle poursuit par conséquent
les mêmes objectifs : proposer un modèle, nécessairement simplifié, de la réalité, et
permettre, à partir de celui-ci l’obtention d’informations utiles sur le système réel ou
virtuel.
Le terme système désigne tout ensemble d’entités en interaction et pouvant gérer d’autres
entités (internes ou non au système). Donnons quelques exemples de systèmes :
• Un système biologique, comme le système circulatoire (au sens large) d’un
mammifère, comporte divers organes (cœur, poumons, reins, tissus divers…) qui sont
les entités de traitement du système, un organe de stockage (la rate), des veines et des
artères (les moyens de communication du système). Les entités traitées par ce système
sont principalement le sang (entité interne) et l’air (entité externe).
• Un système de production, comme un atelier de fabrication de pièces mécaniques,
comporte des machines-outils (les entités de traitement), des transporteurs permettant
d’acheminer matières premières et pièces en cours de fabrication, des stocks internes
permettant d’entreposer les pièces en attente d’un usinage…
• Une raffinerie de pétrole contient divers éléments de stockage (matières premières à
raffiner, produits en cours de raffinage ou finis), de traitement (tour de craquage par
exemple) et de transport (conduits divers, pompes…).Un bureau de poste comporte
divers guichets ; à chacun d’entre eux sont affectés un postier, des automates
permettant le pesage et l’affranchissement (ce sont des organes de traitement), devant
lesquels se forment des files d’attente (organes de stockage) où patientent des clients
en attente d’un service.
6 _______________________________________________ Simulation à événements discrets

• Un système écologique comporte, par exemple, un milieu herbeux (matière première)


nourrissant une population de lièvres (les clients) dont se nourrissent à leur tour des
lynx (autres clients). Lièvres et lynx se reproduisent, augmentant ainsi leur population,
mais ils peuvent aussi contracter des maladies ou subir une famine, circonstances
produisant l’effet inverse. Un tel système est nettement plus compliqué à appréhender
que les précédents.
La simulation d’un système réel devient utile dès lors que la réalisation d’un modèle
mathématique de ce système est, soit trop coûteuse en temps de conception ou de calcul,
soit trop simplificatrice de la réalité, de sorte que le modèle obtenu ne permet plus
d’appréhender les informations utiles sur le système à étudier.
Toute étude de simulation suppose que l’on ait identifié clairement les caractéristiques du
système qui sont nécessaires à la détermination des performances recherchées.
La simulation est très utile dans les cas suivants :
• Le système n’est pas décomposable en sous-systèmes plus simples et indépendants
les uns des autres. C’est la condition essentielle qui impose une simulation de ce
système. Au contraire, un système décomposable sera appréhendé après décomposition
en ses éléments constitutifs. C’est ainsi que la biologie décompose traditionnellement
le système complexe que constitue l’organisme d’un mammifère en sous-systèmes qui
sont considérés (au moins dans un premier temps) comme indépendants, parmi eux : le
système circulatoire…
• Le système n’existe pas encore et une étude préliminaire (phase de conception) est en
cours. Par exemple, pour préciser le dimensionnement d’un atelier de fabrication de pièces
mécaniques, il faut évaluer les performances que doivent réaliser les machines à utiliser,
leur nombre, leur emplacement, les transporteurs nécessaires, puis il faut vérifier le
fonctionnement correct du système en projet, son adéquation aux performances attendues…
• Les expériences sur le système réel coûtent cher, ou sont impossibles à réaliser
pendant son fonctionnement. Par exemple, modifier le rythme cardiaque dans le
système circulatoire pour en mesurer l’impact est une expérience peu recommandée.
• Le système est inaccessible : le système circulatoire en est un excellent exemple.
• Les temps d’observation nécessaires sur le système réel sont incompatibles avec les
besoins : l’évolution du système est très rapide, de sorte que, à l’échelle humaine, les
changements d’état du système semblent continus, ou cette évolution est au contraire
très lente, de sorte que le système n’évolue pas à l’échelle de temps dont on dispose
pour mener l’étude (c’est généralement le cas d’un système écologique, qui évolue très
lentement à l’échelle humaine).
• Faire des expériences sur le système réel est dangereux ou peut avoir des
conséquences graves : pensons au système circulatoire, ou au danger que peut
représenter la mise en œuvre d’une expérimentation dans une raffinerie de pétrole…
Rappelons que la catastrophe de Tchernobyl s’est produite au cours d’un entraînement
de sécurité pendant lequel est survenu un véritable incident… Si cet entraînement avait
été réalisé sur un modèle de simulation les conséquences auraient été moins
dramatiques.
Chapitre 1 – Introduction à la simulation _________________________________________ 7

Ce livre concerne essentiellement les systèmes discrets. Un système est considéré comme
discret si, au cours de son observation, on peut identifier des périodes de temps pendant
lesquelles le système ne change pas d’état. Ces périodes de temps dépendent fortement du
niveau de détails choisi pour l’étude, donc des caractéristiques du système qui ont été
identifiées initialement comme pertinentes. Les systèmes ci-dessus sont continus : système
circulatoire avec le rôle central du flux de sang, raffinerie de pétrole dont la matière première
principale est un liquide, système écologique avec la pousse continue de l’herbe… Certains
systèmes sont naturellement concevables comme discrets : c’est le cas du bureau de poste et de
certains ateliers de production. D’autres peuvent être modélisés comme tels bien qu’ils ne le
soient pas en première approximation : c’est le cas du système écologique herbe-lièvres-lynx.

1.2 Différents types de modèles


Pour un système donné, il est possible de construire plusieurs types de modèles selon les
objectifs poursuivis ou les contraintes à satisfaire. On peut considérer qu’il existe deux
grandes catégories de modèles : les modèles analogiques, encore appelés modèles
physiques (maquettes du système) et les modèles abstraits. Une représentation possible des
différents types de modèles est indiquée sur la figure 1-1.

Descriptif
(littéraire)
Statique Déterministe Mathématique

Modèle Analogique

Dynamique Stochastique Numérique

Abstrait

Intervention Intervention
Mise en équation
Type de ou non ou non
ou simulation
modèle du temps du hasard

Figure 1-1. Classification des différents types de modèles

Nous nous intéresserons plus particulièrement aux modèles de simulation numériques


dynamiques, déterministes ou stochastiques.
Parmi les modèles analogiques, on peut citer, par exemple, une maquette d’avion
permettant d’évaluer l’écoulement de l’air sur les ailes. Ce modèle physique est une
représentation à une échelle 1/5 de l’avion tel qu’il est imaginé par les ingénieurs, mais il
n’intègre pas tous les détails de l’appareil qui volera par la suite.
La réalisation d’un modèle mathématique signifie que tous les composants du système et
toutes les connexions entre les composants sont exprimées sous la forme de relations
mathématiques.
8 _______________________________________________ Simulation à événements discrets

Évidemment, la conception d’un modèle, quelle que soit sa nature, requiert l’acquisition de
certaines compétences dans le domaine du système étudié : productique, physique, biologie,
écologie… D’autre part, le modèle hérite des lacunes des connaissances mises en œuvre :
lois physiques approchées, collecte difficile de données souvent partielles ou estimées.

1.3 Création d’un modèle


1.3.1 Problématique
La perception du fonctionnement de beaucoup de systèmes dépend étroitement de la raison
pour laquelle on s’intéresse à lui et, en particulier de l’objectif poursuivi en tentant
d’analyser ce système. Considérons par exemple le fonctionnement d’un bureau de poste. Il
est facile d’identifier les éléments physiques de ce système (figure 1-2) :
• les postiers ;
• les automates ;
• les files d’attente ;
• les clients ;
• et enfin le bureau de poste lui-même.

Figure 1-2. Les éléments d’un guichet de poste

Chacune de ces entités jugées pertinentes peut être décrite simplement en donnant la liste
des informations qui la concernent et sont estimées intéressantes par rapport aux objectifs
de l’étude.
N’oublions pas qu’il peut apparaître nécessaire de simplifier le modèle envisagé pour
permettre la mise en œuvre d’une simulation ou d’une résolution de modèle mathématique.
Supposons que l’étude vise à évaluer l’ouverture d’un deuxième guichet et que le taux
d’utilisation du postier soit considéré comme le seul élément représentatif, en négligeant,
par exemple, le temps d’attente des clients. Dans ce cas :
• On peut négliger les automates et les files d’attente qui leur correspondent.
• Pour le postier, il faut évaluer le temps de traitement d’un client ; en particulier, on
devra choisir entre un modèle déterministe ou stochastique suivant le caractère
constant ou aléatoire de cette durée. Dans ce dernier cas, il faut déterminer la loi de
probabilité de ce temps de service.
Chapitre 1 – Introduction à la simulation _________________________________________ 9

• Pour les clients, on peut introduire la durée qui sépare les arrivées de deux clients
successifs, ce qui, dans le cas stochastique, peut nécessiter de préciser la loi de
probabilité, constatée ou estimée, de cette durée.
• Pour le bureau de poste, on doit déterminer la longueur maximale que peut avoir la file
d’attente des clients. Il est parfois nécessaire, pour simplifier, de considérer que la file
d’attente peut être de longueur infinie.
Pour estimer la durée de service au guichet, on observera le système durant une période
suffisamment longue et pendant des périodes de fonctionnement « typique ». Ainsi, on
étudiera le système pendant une période qui ne sera ni 11h-12h30, ni 16h-18h, périodes
traditionnellement très chargées qui ne sont pas représentatives d’une journée de travail. Au
contraire, on pourra se restreindre à ces périodes si l’on projette de ne doubler l’effectif de
postiers que dans les périodes chargées. Il faudra aussi déterminer s’il est opportun de
définir plusieurs classes de clients à partir des durées de service constatées.
En réalisant l’étude, on ne prend pas en considération une multitude d’éléments, tels que :
• Le fait que certains clients peuvent se décourager avant d’atteindre le guichet et quitter
la file d’attente.
• Le fait que le postier peut être, pendant de courtes périodes de temps, indisponible pour
le traitement des demandes des clients car il répond au téléphone ou à ses collègues…
• Le fait que certains clients peuvent ne pas respecter la politique de gestion de la file
d’attente qui voudrait normalement que les clients soient traités selon leur ordre
d’arrivée (clients prioritaires).

De manière générale, on considère que simuler consiste à identifier, dans un


premier temps, les éléments pertinents du système et ensuite à les séparer de
ceux qui sont superflus par rapport aux objectifs de l’étude à réaliser. Le choix
des détails que l’on juge pertinents, par rapport à ceux qui seront négligés, définit
le niveau de détails d’un modèle de simulation. Un modèle, à un niveau de
détails plus élevé qu’un modèle précédent, prend en considération, outre les
éléments déjà incorporés, des éléments qui, jusque-là, avaient été négligés.

1.3.2 Démarche
La réalisation d’un modèle de simulation (ceci est nécessaire si l’observation du système est
impossible ou bien nécessite trop de temps ou entraîne des coûts prohibitifs) implique de
répondre, avant toute chose, aux questions suivantes :
• Quel est le but de l’étude ?
• Quelles sont les hypothèses simplificatrices qu’il est raisonnable de faire ?
• Combien de temps faut-il observer le modèle afin de tirer des conclusions valables
pour le système ?
• Que doit-on évaluer avec le modèle, et sous quelle forme doit-on rendre les résultats ?
• Comment peut-on s’assurer que le modèle obtenu est correct, c’est-à-dire qu’il fournit
des estimations correctes pour les critères retenus ?
10 ______________________________________________ Simulation à événements discrets

1.4 Terminologie
1.4.1 Éléments communs
Nous nous sommes appuyés sur le modèle du bureau de poste pour illustrer notre propos,
mais de très nombreux autres systèmes auraient mérité une description identique.
Par exemple, une caisse de supermarché comprend :
• un tapis roulant qui correspond à la file d’attente des clients ;
• des produits posés sur le tapis et qui sont en attente de facturation ;
• une caissière qui joue le même rôle que le postier.
Dans un hôpital, on peut distinguer les éléments suivants :
• une salle d’attente ;
• des patients en attente de consultation ;
• un médecin qui examine un patient.
On pourrait multiplier ainsi les exemples en changeant chaque fois de domaine : système de
production, système administratif…

1.4.2 Classification des éléments


Afin de simplifier la description des systèmes, on nomme, par la suite :
Client : l’objet élémentaire se déplaçant dans le système. Il peut s’agir de pièces, de
personnes physiques, de paquets d’informations...
Serveur : une unité de traitement où des clients subissent une opération de traitement. Il
s’agit d’une machine, d’un bureau, d’un cabinet de consultation, d’un ordinateur…
Ressource : un composant consommable ou non, nécessaire au déroulement correct du
service : forêt, papier, palette, mémoire disponible…
Unité de stockage : une unité dans laquelle des clients sont stockés et sont extraits
conformément à une politique de gestion. Dans le cas du bureau de poste, l’unité de
stockage est une file dont la politique de gestion est premier arrivé, premier servi. Dans un
stock de pièces à usiner on peut, au contraire utiliser une pile, basée sur la politique dernier
arrivé, premier servi.
Station : l’ensemble constitué d’un ou plusieurs serveurs de une ou plusieurs unités de
stockage et dont le fonctionnement est autonome sans nécessairement être indépendant des
autres unités. Par exemple, l’ensemble caissière-caisse-tapis roulant peut être une station de
l’ensemble de traitement qui permet aux clients d’un supermarché de régler leurs achats.
Unité de transport : elle permet le transport d’un lieu à l’autre. En fait, les unités de
transport relient une station à une autre, ou un serveur à une unité de stockage, ou
inversement. Une unité de transport peut être un tapis roulant, ou bien un robot prenant des
pièces dans un stock et les déposant sur une machine à commande numérique.
Chapitre 1 – Introduction à la simulation ________________________________________ 11

Le fait qu’un client désigne indifféremment une pièce dans un système de production ou
une personne physique peut paraître étonnant ; néanmoins, si ces deux éléments ont peu de
points communs dans la réalité, ils sont identiques du point de vue du modèle. De même on
considérera la guichetière comme un serveur !
La file d’attente de pièces devant une machine d’usinage, la file des achats d’une ménagère
sur le tapis de la caisse du supermarché, et une file d’attente de clients devant un guichet de
poste, sont aussi, du point de vue du modèle, identiques.
Frontière du modèle

Entrée Sortie

C3 C2 C1

Entrée des
clients File d'attente Un serveur
Gestion : premier arrivé,
premier servi

Figure 1-3. Le modèle du guichet de poste

Sur les représentations des modèles, nous ferons figurer la frontière du système, qui
délimite son périmètre. De plus, sur la frontière du modèle seront ajoutés une source qui
engendre les clients en entrée du modèle, et un puits qui permet de comptabiliser les clients
qui quittent le système, ainsi que toutes les informations statistiques sur ceux-ci. On appelle
flux le mouvement des clients d’un élément à l’autre. On peut distinguer trois types de
modèles, selon qu’ils possèdent ou non une entrée ou une sortie. Dans le cas d’un modèle
ne possédant ni entrée ni sortie, le modèle est dit fermé. Dans le cas contraire, le modèle est
ouvert. Si une partie d’un flux reste indéfiniment dans le modèle alors qu’un autre type de
flux traverse le modèle (de la source vers le puits), le modèle est mixte.
Pour le guichet de poste, on obtient un modèle comportant (figure 1-3) :
• une source et un puits qui peuvent correspondre, dans la réalité à la même porte !
• une file d’attente ;
• un serveur.
Si un système se compose d’une machine à commande numérique et d’un stock de pièces
géré selon une politique dernier arrivé, premier servi, le modèle comporte une source et un
puits. Il comprend aussi une file d’attente de type pile ainsi qu’un serveur représentant la
machine (figure 1-4).
12 ______________________________________________ Simulation à événements discrets

Frontière du modèle

entrée sortie
P4
C1

un serveur

Stock de clients
C3 Gestion : dernier arrivée,
C2 premier sorti

Figure 1-4. Le modèle d’une machine avec un stock

1.5 Classification des modèles


de simulation
On peut classer les modèles de simulation en deux catégories :
• les modèles de simulation déterministes ;
• les modèles de simulation stochastiques.
On désigne par modèle de simulation déterministe un modèle ne faisant pas intervenir le
hasard. Au contraire, un modèle de simulation stochastique nécessitera la connaissance de
lois de probabilité pour représenter le système et une simulation du hasard pour décrire son
fonctionnement. La plupart des systèmes sont stochastiques et l’on approche souvent leur
comportement en faisant intervenir des lois de probabilité.
Ainsi peut-on faire deux modèles du guichet de poste :
• un modèle déterministe, dans lequel on considère, par exemple, que les clients arrivent
à intervalles de temps réguliers, toutes les 8 minutes en dehors des périodes 11h-12h30
et 16h-18h et toutes les 3 minutes pendant ces périodes, et où le temps de traitement
d’un client par le postier est de 5 minutes, quel que soit le client à traiter ;
• un modèle stochastique, dans lequel on considère que les clients n’arrivent pas tous à
intervalles réguliers. Par exemple, on suppose que la durée entre l’arrivée de deux
clients consécutifs est un nombre réparti selon une loi uniforme dans un intervalle de 5
à 11 minutes en dehors des périodes 11h-12h30 et 16h-18h et dans un intervalle de 1 à
5 minutes pendant ces périodes.
Dans les deux types de modèles, il faut préciser la dynamique du modèle. Dans le cas du
guichet de poste, la file d’attente est gérée par la politique premier arrivé, premier servi et il
n’y a pas de client prioritaire. Le serveur n’a pas de panne, ce qui signifie que les périodes
d’indisponibilité du postier ne sont pas prises en considération. Dès qu’un client a été servi,
le suivant dans la file commence immédiatement à l’être…
Nous avons vu comment représenter les entités du système en faisant abstraction du
domaine de l’étude (domaine des systèmes de production pour la fabrication de pièces,
Chapitre 1 – Introduction à la simulation ________________________________________ 13

domaine des services avec le guichet de poste). Qu’il s’agisse d’un guichet de poste ou bien
d’une machine de production, le modèle obtenu fait intervenir le même type d’entités.
Considérons à nouveau le guichet de poste en supposant :
• que les clients arrivent toutes les 10 minutes ;
• que la durée de traitement d’un client est de 15 minutes ;
• que la dynamique est celle qui est précisée ci-dessus.
À la date t = 0, la simulation du système commence et aucun événement ne survient avant
la date 10. À t = 10, le premier client, appelé C1, entre dans le bureau de poste traverse la
salle d’attente (dans le modèle, il s’agit de la file d’attente) et arrive au guichet. Comme le
serveur est libre, le client est immédiatement pris en charge (figure 1-5).

t=0

t=10

C1

C1

t=20

C2 C1

t=25

C2 C1

C2 C1

t=30

C3 C2 C1

Figure 1-5. Évolution au cours du temps du modèle initialement vide

Le temps de déplacement du client le long de la file d’attente n’est pas modélisé. En


conséquence, on considère que l’arrivée du client dans la file d’attente d’une part, et son
accès au serveur lorsque celui-ci est disponible d’autre part, sont deux événements
instantanés, qui peuvent donc être simultanés. Le traitement du client C1 débute donc à la
date t = 10 et devrait se terminer à la date t = 25.
Ensuite, aucun événement ne se produit avant la date t = 20 où le deuxième client entre
dans le bureau de poste. Le client C2 passe immédiatement dans la file d’attente.
14 ______________________________________________ Simulation à événements discrets

À la date t = 25, le client C1 termine son traitement et quitte le serveur. Immédiatement, le


client C2 occupe le serveur. On peut noter que le temps de « changement » de client n’est
pas modélisé.
À la date t = 30, le client C3 entre dans le bureau de poste (arrive dans le système) et le
processus se poursuit.
Contrairement au système réel, le temps dans le modèle évolue de manière discrète. On
peut donc facilement considérer que le temps, dans le modèle, fait des « sauts » d’un
événement à l’autre. En effet, en définissant le niveau de détails du modèle, les périodes de
temps pendant lesquelles l’état du système n’évolue pas ont été indirectement fixées.
Ainsi, les seuls instants où l’état du système doit être mis à jour sont les instants 10, 20, 25
et finalement 30 comme le montre la figure 1-6.

0 10 20 30

Figure 1-6. Évolution du modèle au cours du temps

Ainsi, représenter la dynamique du système consiste à représenter les instants auxquels le


système change d’état. Un changement d’état du système se produit lorsqu’une entité
(machine, unité de stockage...) change d’état, ce qui correspond, par exemple, à l’arrivée ou
au départ d’une pièce, ou encore à l’indisponibilité d’une machine suite à une panne.

1.6 Spécification du fonctionnement


du système
Il existe de nombreux outils permettant de représenter la dynamique du système. Parmi
ceux-ci les réseaux de Petri sont très largement utilisés dans le domaine industriel pour
spécifier le fonctionnement d’automates et plus particulièrement pour définir la
synchronisation des processus.
Dans ce type de représentation, les différentes localisations des clients sont
représentées par des cercles. Un cercle peut indifféremment représenter une place dans
une file d’attente ou la présence d’un client sur un serveur (un guichet de poste ou une
machine industrielle). Les débuts et les fins de traitement sont représentés par des
barres horizontales nommées transitions. Les cercles sont nommés places dans la
terminologie des réseaux de Petri et une place peut contenir zéro ou plusieurs ronds
noirs nommés jetons. Un jeton se déplace d’une place à l’autre si, et seulement si,
toutes les places qui sont avant une transition possèdent un jeton.
Une règle fondamentale doit être appliquée au franchissement d’une transition (mise à feu
d’une transition) dans un réseau de Petri : lorsque toutes les places qui précèdent une
transition (il existe un arc reliant ces places à la transition) contiennent un jeton, alors un
jeton est supprimé à toutes ces places puis ajouté à toutes les places qui se trouvent après la
transition (un arc relie cette transition à ces places).
Chapitre 1 – Introduction à la simulation ________________________________________ 15

les clients en entrée du


système

t1

P1 P2
troisième place de la file

t12

P3 P4 deuxième place de la file

t13

P6
P5
première place de la file

t2

les clients traités par le


système

Figure 1-7. Exemple de réseau de Petri représentant le guichet de poste


avec une file d’attente à trois places, avec un temps entre arrivées t1 et un temps de service t2

Le dessin de la figure 1-7 donne une représentation du guichet de poste. Le premier cercle à
partir du haut représente la frontière du modèle avec l’arrivée des clients. Les trois places qui
suivent représentent les places dans la file d’attente et la dernière représente la sortie des
clients. Les trois places de gauche permettent de tenir compte du fait qu’une place dans la file
d’attente ne peut être occupée que par un client à la fois. L’accès à la place P2 est conditionné
par la présence d’un jeton dans la place P1. Lorsqu’un jeton se trouve dans la place P2, la
place P1 ne contient plus de jeton ce qui interdit un nouvel accès à la place P2 tant que la
transition t12 n’a pas été franchie. Le franchissement de la transition t12 représente la
libération de la troisième place de la file : la place P2 est vide et un jeton est déposé dans la
place P1 ce qui autorise l’arrivée d’un nouveau client dans la troisième place de la file.
Considérons qu’un client arrive toutes les t1 unités de temps, et que son temps de traitement
au guichet est de t2 unités de temps.

À l’instant t = t1, le client entre dans le bureau de poste (figure 1-8). Le jeton noir qui
représente le client à l’entrée du modèle disparaît ainsi que le jeton de la place de gauche.
16 ______________________________________________ Simulation à événements discrets

Un jeton apparaît dans la place désignant la troisième place de la file. Les déplacements du
client de la troisième à la deuxième place, puis de la deuxième à la première place, sont des
opérations de durée nulle, compte tenu des hypothèses de modélisation. Au même instant
t = t1, le jeton passe dans la deuxième place et le jeton gérant l’accès au troisième
emplacement de la file retourne dans la place de gauche. À l’instant t = t1, le jeton atteint la
première place de la file : le client commence son traitement au guichet. Celui-ci se termine
t2 unités de temps plus tard et le jeton atteint la place de sortie à la date t = t1 + t2.

t1 t1 t1 t1 t1

t2 t2 t2 t2 t2

t=0 t=t1 t=t1 t=t1 t=t1+t2

Figure 1-8. La dynamique du modèle représentée avec des réseaux de Petri

1.7 Gérer les événements


D’un point de vue informatique, les difficultés viennent de ce qu’il faut :
• modifier les états des différentes entités en fonction des événements ;
• ordonner les événements correctement en tenant compte des événements simultanés.
La gestion des changements d’état des entités ne pose pas de problème informatique
particulier. En revanche, il est plus délicat de gérer les événements dans l’ordre
chronologique. Deux grandes approches peuvent être utilisées :
• La première consiste à considérer que chaque entité gère une horloge propre. Pour
déterminer quel est le prochain événement, il suffit alors de chercher, parmi les entités,
celle qui possède l’horloge la moins avancée dans le temps.
Chapitre 1 – Introduction à la simulation ________________________________________ 17

• La deuxième approche consiste à utiliser une entité, nommée ordonnanceur (scheduler


en anglais), dont la fonction consiste à gérer un échéancier des événements et
déclencher les actions correspondantes.
Le chapitre 2 concerne la réalisation de programmes informatiques simples qui reproduisent
la dynamique du système.

1.8 Exploiter les résultats obtenus


1.8.1 Types de résultats souhaités
Les résultats que peut fournir un modèle de simulation sont de deux types :
• Des résultats numériques concernant, par exemple, le nombre d’entités ayant circulé
dans le système et ayant utilisé certaines de ses ressources. Dans un atelier de
fabrication, il s’agit d’évaluer le nombre de pièces traitées par une machine pendant
une durée donnée. Dans un bureau de poste, cela peut être le nombre de clients servis à
un guichet, éventuellement des statistiques, concernant l’utilisation des ressources. Il
est possible d’évaluer le nombre moyen de clients dans une file d’attente, pendant une
durée donnée, ou bien le taux d’occupation d’une machine…
• Les résultats fournis par un modèle de simulation stochastique pourront être exploités
soit directement comme la réalisation d’une variable aléatoire, soit à l’aide de
réplications. On désigne par réplication un grand nombre d’évaluations permettant
d’obtenir des estimateurs statistiques, pour évaluer certains paramètres de la loi de
probabilité qui gouverne la variable aléatoire.

1.8.2 Utilisation des résultats


Nous avons admis, au début de cette présentation, que le but d’une simulation était
d’étudier le fonctionnement d’un système réel durant un certain intervalle de temps. En
particulier dans le cas d’un modèle stochastique, les résultats obtenus ne sont valables que
si la période d’observation du modèle est suffisamment longue. Faire des statistiques fiables
nécessite un échantillon de données représentatif, de taille convenable et suppose que le
système a atteint un équilibre : son régime stationnaire. Les simulations ne sont pas toutes
infinies. Certaines se terminent lorsqu’une date de fin initialement prévue est atteinte et
d’autres enfin lorsqu’il n’existe plus aucun événement à traiter. Quand l’étude porte sur la
capacité du système à réagir à une perturbation (régime transitoire) il faut multiplier les
simulations indépendantes (réplications) afin d’obtenir des statistiques.
Un objectif, moins intuitif au départ, consiste à étudier le fonctionnement du système pendant
qu’une certaine charge de travail s’écoule. Ceci permet alors de répondre à la question :
combien de temps faut-il pour écouler cette charge ? Cette problématique se retrouve dans
tous les systèmes de production où les industriels se posent la question : dans quel ordre doit-
on fabriquer un lot de pièces pour terminer le plus rapidement possible la production. Ceci
revient à étudier la date de fin de fabrication des pièces. Compte tenu des traitements
différents effectués sur les pièces qui passent sur des machines différentes, il doit exister un
ou plusieurs ordres de passage plus favorables. Peut-on identifier ces ordres ? Ainsi, lorsque
18 ______________________________________________ Simulation à événements discrets

les règles de fonctionnement internes du système laissent une certaine liberté dans le routage
des clients, on peut chercher la meilleure stratégie permettant de répondre au mieux à la
demande. Dans un atelier où des aléas (comme des pannes) peuvent survenir, on peut aussi
chercher comment porter remède aux difficultés qu’ils induisent, ou bien définir une politique
de gestion qui rende la fabrication aussi peu sensible que possible à ces aléas.

1.9 Conclusion
1.9.1 Réalisation d’un modèle de simulation
Dans un premier temps, il faut définir :
• les objectifs de l’étude ;
• les simplifications de la réalité qu’il est raisonnable de faire.
Ceci conduit à la réalisation d’un modèle qui est une représentation simplifiée de la réalité.
Le modèle reproduit la dynamique du système c’est-à-dire les changements d’état
provoqués par des événements tels que, par exemple, l’arrivée d’un client dans une file ou
bien d’une pièce sur un tapis roulant.

analyser les résultats et


LE SYSTÈME agir sur le système

objectifs de l'étude
hypothèses simplificatrices

objectifs de l'étude
UN MODÈLE DES RÉSULTATS

représenter la dynamique : résultats numériques


les événements statistiques
les changements d'état

Figure 1-9. Réalisation d’un modèle de simulation

Réalisé en fonction des objectifs de l’étude, le modèle de simulation permet d’obtenir des
résultats numériques (éventuellement statistiques) qui sont ensuite analysés pour permettre
la prise de décisions concernant le système réel (figure 1-9). Celles-ci peuvent être
nombreuses : ouvrir un nouveau guichet dans un bureau de poste, acheter une nouvelle
machine plus performante car celles qui existent ne permettent plus de répondre à la
demande, faire entrer les pièces dans un ordre différent pour écouler plus vite la charge de
travail…
Chapitre 1 – Introduction à la simulation ________________________________________ 19

1.9.2 Démarche de réalisation d’un modèle de simulation


Comme cela a été montré sur l’exemple du guichet de poste, la première étape consiste à
décrire précisément les entités du modèle, et ses règles de gestion (premier arrivé, premier
servi pour la file d’attente du bureau de poste). On décrit ensuite la dynamique du système.
Dans le cas d’un système simple avec un faible nombre d’entités, une représentation
graphique peut s’avérer suffisante. Dans le cas de systèmes plus complexes, on peut être
amené à utiliser des outils de formalisation comme les réseaux de Petri. Cette étape de
formalisation est très importante car elle évite de remettre en cause le modèle de simulation
ultérieurement (figure 1-10).

hypothèses simplificatrices
objectifs de 'létude FORMALISER

Identifier les entités physiques

Identifier les règles de gestion des


Identifier les règles de circulation des pièces

Décrire la dynamique du système

formalisation
DÉVELOPPER

Coder les changements d’état des entités physiques

Coder les règles de gestion des entités

Coder les règles de circulation des pièces

programme informatique
VALIDER

résultats numériques
résultats statistiques

Figure 1-10. Le détail de la démarche pour la réalisation d’un modèle de simulation

La deuxième étape concerne le codage ; elle s’appuie sur la description du système réalisée
précédemment.
La troisième étape concerne la vérification du programme afin de s’assurer qu’il fait « ce
que l’on veut qu’il fasse ». Il s’agit de vérifier le code et sa logique. La validation du
modèle est une étape très importante et délicate car, dans le cas d’un système complexe, il
20 ______________________________________________ Simulation à événements discrets

n’existe pas de méthode permettant de s’assurer que le modèle représente correctement le


système de départ. On s’appuie alors sur :
• des techniques d’animation du modèle montrant les entités en déplacement
conformément aux règles de fonctionnement ;
• des comparaisons avec des résultats mathématiques théoriques lorsque ces derniers
sont disponibles ;
• des comparaisons avec les résultats fournis par des modèles conçus indépendamment ;
• enfin, dans le cas d’un modèle de système existant, il faut souvent recourir à des
spécialistes du domaine pour interpréter les résultats obtenus par simulation, et vérifier
qu’ils sont en conformité avec le comportement du système réel.
Le chapitre suivant montre comment ces techniques sont mises en œuvre sur des systèmes
déterministes d’abord très simples, puis de plus en plus complexes.

1.10 Références
Les démarches pour la réalisation des modèles de simulation sont appelées méthodologies
de modélisation [Tan 93] [Tch 97].
[Tan 93] Tanguy A. – « Modélisation Orientée-Objet des Systèmes de Production avec
une Approche Transaction : résolution par des méthodes analytiques et par simulation ».
Thèse de l’université Blaise Pascal soutenue le 23 décembre 1993.
[Tch 97] Tchernev N. – « Modélisation du processus logistique dans les systèmes
flexibles de production ». Thèse de l’université Blaise Pascal, soutenue en 1997.

Pour les méthodes de spécification appliquées aux systèmes à événements discrets, on peut
trouver dans [Bar 90] une présentation des réseaux de Petri détaillant comment on peut
représenter des pannes et des circulations de pièces. Une autre présentation, en anglais, et
concernant les méthodes SADT, peut être trouvée dans [Gou 91].
[Bar 90] Barnichon D. – « Modélisation et simulation de systèmes de production :
problèmes de spécification et d’ordonnancement ». Thèse présentée au Laboratoire
d’Informatique de Modélisation, et d’Optimisation des Systèmes, université Blaise
Pascal, 1990.

[Gou 91] Gourgand M. et Kellert P. – « Conception d’un environnement de


modélisation de systèmes de production ». Actes du 3e congrès international de Génie
Industriel, Tours, 20-22 mars 1991.

[Bre 91] propose une terminologie à utiliser lors de la modélisation des systèmes de
production.
[Bre 91] Breugnot D. – « Problèmes de terminologie dans la modélisation des systèmes
de production ». Troisième symposium d’Infoterm, travail terminologique dans les
domaines de spécialités, Vienne, 12-14 novembre 1991.

Vous aimerez peut-être aussi