Vous êtes sur la page 1sur 68

Simulation à événements

discrets
Simulation

• Un programme qui crée un environnement virtuel afin d’étudier un


problème réel
• Situations d’utilisation
• Expérimentation réel est difficile à réaliser
• Guerre, système de banque
• Moins cher
• RTL simulation pour IC design
• Planning d’autoroute
• ……
Situations d’utilisation

• La simulation peut être utilisée pour étudier et expérimenter les


interactions internes d’un système complexe ou d’un sous-système
au sein d’un système complexe.
• Des modifications d’information, d’organisation et d’environnement
peuvent être simulées et l’effet de ces modifications sur le
comportement du modèle peut être observé.
• Les connaissances acquises lors de la conception d'un modèle de
simulation pourraient être très utiles pour suggérer une amélioration
du système à l'étude.
Situations d’utilisation

• La simulation peut être utilisée sur un dispositif pédagogique pour


renforcer les méthodologies de solutions analytiques.
• La simulation peut être utilisée pour expérimenter de nouvelles
conceptions ou politiques avant la mise en œuvre, afin de préparer
ce qui pourrait arriver.
• La simulation peut être utilisée pour vérifier des solutions
analytiques.
• La simulation de différentes capacités pour une machine peut aider à
déterminer ses exigences.
Situations d’utilisation

• Les modèles de simulation conçus pour la formation rendent


l'apprentissage possible, sans le coût et la perturbation de
l'enseignement en cours d'emploi.
• L'animation peut montrer un système en fonctionnement simulé afin
que le plan puisse être visualisé.
• Un système moderne (usine, usine de fabrication de plaquettes,
organisation de service, etc.) est si complexe que ses interactions
internes ne peuvent être traitées que par simulation.
• En modifiant les entrées de la simulation et en observant les résultats
obtenus, vous obtiendrez de précieuses informations sur les variables
les plus importantes et leur interaction.
Avantages

• Les nouvelles politiques, procédures d'exploitation, règles de


décision, flux d'informations, procédures organisationnelles, etc.
peuvent être explorés sans perturber les opérations en cours du
système réel.

• Les nouvelles conceptions matérielles, les dispositions physiques, les


systèmes de transport, etc. peuvent être testés sans engager de
ressources pour leur acquisition
Avantages

• Les hypothèses sur la façon dont ou pourquoi certains phénomènes


se produisent peuvent être testées pour déterminer leur faisabilité.

• Le temps peut être comprimé ou augmenté pour permettre une


accélération ou un ralentissement du phénomène à l'étude.

• Un aperçu peut être obtenu sur l'interaction des variables

• On peut obtenir un aperçu de l’importance des variables pour la


performance du système
Avantages

• Une étude de simulation peut aider à comprendre le fonctionnement


du système plutôt que la façon dont le système fonctionne.

• On peut répondre aux questions «et si». Ceci est particulièrement


utile dans la conception de nouveaux systèmes.
Désavantages

• La construction de modèles nécessite une formation spéciale.

• Les résultats de la simulation peuvent être difficiles à interpréter.

• La modélisation et l'analyse de la simulation peuvent prendre


beaucoup de temps et d'argent.

• La simulation est utilisée dans certains cas lorsqu'une solution


analytique est possible ou qu'un événement est préférable.
Système et environnement système

• Le modèle d'un système, il est nécessaire de comprendre le concept


de système et les limites du système.

• Un système est défini comme un groupe d’objets réunis dans une


interaction ou une interdépendance régulière en vue de la réalisation
de certains objectifs.

• Un exemple est un système de production fabriquant des


automobiles. Les machines, les composants et les ouvriers travaillent
conjointement le long d'une chaîne de montage pour produire un
véhicule de haute qualité.
Système et environnement système

• Un système est souvent affecté par des changements survenant en


dehors du système. On dit que de tels changements se produisent
dans l'environnement du système.

• Dans les systèmes de modélisation, il est nécessaire de décider de la


limite entre le système et son environnement. Cette décision peut
dépendre du but de l’étude.
Système et environnement système

• Dans le cas du système de l'usine, par exemple, les facteurs


contrôlant l'arrivée des commandes peuvent être considérés comme
étant en dehors de l'influence de l'usine et font donc partie de
l'environnement.

• Toutefois, si l'effet de l'offre sur la demande doit être pris en compte,


il s'agira d'une relation entre la production usine et l'arrivée des
commandes et cette relation doit être considérée comme une
activité du système.
Système et environnement système

• De même, dans le cas d'un système bancaire, le taux d'intérêt


maximal pouvant être payé peut être limité.

• Pour l'étude d'une banque unique, cela serait considéré comme une
contrainte imposée par l'environnement. Dans une étude des effets
des lois monétaires sur le secteur bancaire, la fixation de la limite
serait une activité du système.
Composants d'un système

• Pour comprendre et analyser un système, il est nécessaire de définir


un certain nombre de termes.

• Une entité est un objet d'intérêt dans le système.

• Un attribut est une propriété d'une entité.

• Une activité représente une période d'une durée spécifiée.

• Si une banque est à l'étude, les clients peuvent être l'une des entités,
le solde de leur compte courant peut être un attribut et les dépôts
peuvent être une activité.
Composants d'un système

• L'ensemble des entités qui composent un système pour une étude


peut ne constituer qu'un sous-ensemble du système global d'une
autre étude.

• Par exemple, si la banque étudie actuellement le nombre de guichets


nécessaires pour payer et recevoir, le système peut être défini
comme la partie de la banque composée des guichets réguliers et des
clients en attente.

• Si l'objectif de l'étude est élargi pour déterminer le nombre de


scrutateurs spéciaux nécessaires, le système doit être étendu
Composants d'un système

• L'état d'un système est défini comme étant l'ensemble des variables
nécessaires pour décrire le système à tout moment, par rapport aux
objectifs de l'étude.

• Dans l'étude d'une banque, les variables d'état possibles sont le


nombre de guichets occupés, le nombre de clients en file d'attente
ou en cours de traitement et l'heure d'arrivée du prochain client.
Composants d'un système

• Un événement est défini comme une occurrence instantanée


susceptible de modifier l'état du système.

• Le terme endogène est utilisé pour décrire les activités et les


événements se produisant dans un système, et le terme exogène est
utilisé pour décrire les activités et les événements dans
l'environnement qui affectent le système.

• Dans l’étude bancaire, l’arrivée d’un client est un événement exogène


et l’achèvement du service d’un client est un événement endogène.
Composants d'un système

Système Entités Attributs Activités Evénements Variables d’états

Train Passagers Gare de départ, Voyager Arrivée à la gare de Nombre de passagers


Gare d’arrivée départ, en attente à chaque
Arrivée à la gare de gare,
destination Nombre de passager
en transit

Production Machines Vitesse, capacité, taux Soudage, Panne de machines États de machines
de défaillance emboutissage (occupé, vacant,
défaillant)

Communication Messages Taille de messages, Transmission Arrivée à la Nombre de massages


destination destination, à transmettre en
attente
Systèmes discrets et continus

• Les systèmes peuvent être classés comme discrets ou continus.


• «Peu de systèmes en pratique sont totalement discrets ou continus,
mais comme un type de changement prédomine dans la plupart des
systèmes, il est généralement possible de classer un système en
discret ou en continu.»
• Un système discret dans lequel la ou les variables d'état changent
uniquement à un ensemble discret de points dans le temps.
• La banque est un exemple de système discret: la variable d'état, le
nombre de clients dans la banque, ne change que lorsqu'un client
arrive ou lorsque le service fourni à un client est terminé. Le nombre
de clients change uniquement à des moments précis.
Systèmes discrets et continus

• Un système continu est un système dans lequel la ou les variables


d'état changent continuellement avec le temps.

• Un exemple est la tête de l'eau derrière un barrage. Pendant et


pendant quelque temps après une tempête de pluie, de l’eau coule
dans le lac derrière le barrage.

• L'eau est tirée du barrage pour contrôler les inondations et produire


de l'électricité.

• L'évaporation diminue également le niveau d'eau. L'état variable de


la hauteur d'eau derrière le barrage change pour ce système continu.
Modèle d'un système

• Il est parfois intéressant d’étudier un système pour comprendre les


relations entre ses composants ou pour prédire comment le système
fonctionnera dans le cadre d’une nouvelle politique.
• Pour étudier le système, il est parfois possible d'expérimenter avec le
système lui-même. Cependant, ce n'est pas toujours une option.
• Dans le cas d’une banque, réduire le nombre de visites afin d’étudier
l’effet sur la longueur des files d’attente risque de rendre les clients
furieux au point de transférer leurs comptes chez un concurrent.
• Par conséquent, les études de systèmes sont souvent réalisées avec
un modèle de système.
Modèle d'un système

• Un modèle est défini comme une représentation d'un système dans


le but d'étudier ce système.

• Pour la plupart des études, il est seulement nécessaire de considérer


les aspects du système qui affectent le problème à l'étude.

• Ces aspects sont représentés dans un modèle du système; le modèle,


par définition, est une simplification du système.
Modèle d'un système

• D'autre part, le modèle devrait être suffisamment détaillé pour


permettre de tirer des conclusions valables sur le système réel.

• Différents modèles du même système pourraient être nécessaires


lorsque l’objet de l’enquête change.

• Tout comme les composants d'un système incluent des entités, des
attributs et des activités, les modèles sont également représentés.
Toutefois, le modèle ne contient que les composants pertinents pour
l’étude.
Simulation de système à événements discrets

• La simulation de système à événements discrets consiste à modéliser


des systèmes dans lesquels les variables d'état changent uniquement
à un ensemble discret de points dans le temps.

• Les modèles de simulation sont analysés par des méthodes


numériques plutôt que analytiques.

• Les méthodes analytiques utilisent le raisonnement déductif des


mathématiques pour «résoudre» le modèle. Par exemple, le calcul
différentiel peut être utilisé pour calculer la politique de coût
minimum pour certains modèles d'inventaire.
Simulation de système à événements discrets

• Les méthodes numériques utilisent des procédures informatiques


pour «résoudre» des modèles mathématiques. Dans le cas des
modèles de simulation, qui utilisent des méthodes numériques, les
modèles sont «exécutés» plutôt que résolus, c'est-à-dire qu'un
historique artificiel du système est généré à partir des hypothèses du
modèle et que les observations sont collectées pour être analysées
et estimer le système réel. mesures de performance.

• Les modèles de simulation du monde réel sont plutôt volumineux, et


la quantité de données stockées et manipulées est considérable, de
sorte que de nombreuses analyses sont généralement effectuées à
l'aide d'un ordinateur.
Etapes de simulation

Modèle : Résultats:
Phénomène Modélisation Simulation: Vérification et
réel Analyse des
Vérification Réalisation
résultats de
Validation simulation
Introduction

Objectifs
• Développer un schème commun de la modélisation des systèmes
complexes
• Compatible aux bloques basiques dans les modèles des événements
discrets
Systèmes étudiés:
• Stochastiques
• Dynamiques
Systèmes/modèles à événements discrets
• Systèmes dont les états changent seulement dans aux moments
discrets
Définitions

Système
• Une collection des entités qui interagissent entre eux au fil du temps
• Exemple:
Système = Machine(s) + Utilisateurs
Modèle
• Une représentation abstraite d’un système
• Exemple:
Fils d’attente
Réseaux de fils d’attente
Définitions

État de système
• Une collection des variables contenant toutes les informations
nécessaires à décrire un système à tout moment
• Exemple:
• Réseaux de fils d’attente:
• Nombre de clients servis dans le fils d’attente
• Nombre de clients en attente dans le fils d’attente
• Nombre de machines libres
• Nombre de machines occupées
• …..
Définitions

Entité
• Un objet ou d'un composant dans le système
• Exemple:
• un serveur:
• Souvent avec une capacité limitée
• réparateur, machine, piste d’aéroport,…
• un client:
• Associé à un service spécifique demandé
• utilisateur, camion, emails,…
• …
Définitions

Attribut
• Les propriétés d’un entité donné
• Exemple:
• Serveur
• Capacité de service
• Nombre maximal des clients en attente
• Horaire d’ouverture
• Temps de service nécessaire d’un client
• Stratégie d’ordonnance des tâches/clients dans un fils d’attente
Définitions

Attribut
• Les propriétés d’un entité donné
• Exemple:
• Client
• Temps d’arrivée
• Tâche/service demandé au serveur
• Durée
• Ressource demandée
• Durée maximale d’attente

Définitions

Listes
• Une collection des entités associés ordonnés selon une certaine
opération logique
• Exemple:
• Ensembles: sans réplication
• Fils d’attente: selon la stratégie du service
souvent le temps d’arrivée
• Chaînes
Définitions

Événements
• Un événement instantané qui change l'état d'un système
• Exemple:
• Arrivée d'un nouveau client.
Nombre de clients dans le fils d’attente +
• Départ d’un client
Nombre de clients dans le fils d’attente -1
Définitions

Liste des événements:


• Une liste des notifications d'événements pour les événements futurs,
ordonnés par l’instant d’arrivée de l'événement,
• Aussi appelée Liste des événements à la future (LEF).
• Exemple
• Listes des clients à arriver
• Temps d’arrivée
• Service demandé
• Durée et ressource nécessaires pour les tâches demandés
Définitions

Activité:
• Une durée de temps spécifiée avec l’instant de début connu
• Exemple:
• Durée de service.
• Entre-temps d’arrivée des clients
Définitions

Horloge:

• Une variable représentant le temps simulé.

• Valeur maximale souvent fixée comme critère d’arrêt de simulation


Activité

Une activité représente un temps de service, un temps d'inter-arrivée,


ou tout temps de traitement dont la durée a été caractérisée/définie
par le modèle:
La durée d'une activité peut être spécifiée:
• Déterministe
• Statistique.
• Une fonction dépendant des variables système et/ou des attributs
d'entité (Ressource).
La durée n'est pas affectée par l'occurrence d'autres événements, par
conséquent, l'activité est également appelée une attente
inconditionnelle.
Activité

Réalisation d'une activité est un événement, souvent appelé un


événement primaire.
Exemple
Si l'heure simulée actuelle est
Horloge 𝑡 = 100 𝑚𝑖𝑛𝑢𝑡𝑒𝑠
et qu'un temps d'inspection/service 'de 𝑐𝑡 = 5 minutes commence à peine,
une notification d'événement est créée qui spécifie le type d'événement et
l'heure de l'événement

𝑡 ! = 𝑡 + 𝛿𝑡
100 + 5 = 105 minutes
Activité

La durée d'un délai est déterminée par les conditions du système


• Non spécifiées par le modèle à l'avance
• Aussi appelé une attente conditionnelle.
Exemple
• Le retard d'un client dans une file d'attente peut dépendre du
nombre et de la durée de service d'autres clients en place et de la
défaillance d'un serveur pendant le délai.
Dynamique

Dynamique:
• En fonction du temps et en constante évolution dans le temps
• L'état du système, les attributs de l'entité, le nombre d'entités
actives, le contenu des ensembles, les activités et les retards
actuellement en cours sont toutes des fonctions du temps.
Dynamique

La définition des composants du modèle fournit une description


statique du modèle.
La description des relations dynamiques et des interactions entre les
composants est également nécessaire.
Exemples:
• Comment chaque événement affecte-t-il l'état du système?
• Quels événements marquent le début ou la fin de chaque activité?
• Quel est l'état du système à l'instant 0?
Dynamique

Une simulation à événement discret est:


• La modélisation dans le temps d'un système dont tous les
changements d'état se produisent à des moments discrets.
• Procède en produisant une séquence d'instantanés système.
Algorithme de planification
d'événements/d’avancement de temps
Le mécanisme pour avancer le temps de simulation et garantir que
tous les événements à se produire dans l'ordre chronologique
correctement.
À tout instant 𝑡, la liste d'événements futurs (LEF) contient tous les
événements futurs programmés précédemment et leurs temps
d'événements associés (𝑡! , 𝑡" , … ):
• LEF ordonnée par temps d’événement croissante
• Le temps d’événement satisfait
𝑡 ≤ 𝑡! ≤ 𝑡" ≤ ⋯ ≤ 𝑡#
où 𝑡 est la valeur de l’Horloge 𝑡.
Algorithme de planification
d'événements/d’avance de temps
Algorithme de planification
d'événements/d’avance de temps
État du système à l’instant t0
• Événements à arriver (i,t)
• Type d’événement: i
• Temps d’arrivée : t
• Liste des événements futures ordonnée à l’ordre croissante des temps
d’arrivée

Horloge État du systèmes Liste des événements futures (LEF)

t0 (5,1,6) (3,t1) Type 3 à t1


(1,t2) Type 1 à t2
(1,t3) Type 1 à t3

(2,tn) Type 1 à tn
Algorithme de planification
d'événements/d’avance de temps
Système à l’instant t1
• Retirer l’événement (1,t1) de la liste
• Avancer l’horloge t0->t1
• Exécuter la tache (1,t1):
• Mettre à jours les états du systèmes
• Changer les attributs des entités
• ….

Horloge État du systèmes Liste des événements futures (LEF)

t1 (10,2,7) (1,t2)
(1,t3)

(2,tn)
Algorithme de planification
d'événements/d’avance de temps
Système à l’instant t1
• Générer ou trouver le prochain événement à arriver selon leur temps
d’arrivée:
Ex: Evénement (4,t*) Type 4 à t*
t2<t*<t3
• Mettre à jour les statistiques cumulatives

Horloge État du systèmes Liste des événements futures (LEF)

t1 (10,2,7) (1,t2)
(4,t*)
(1,t3)


(2,tn)
Traitement de liste

La gestion d'une liste:


• Les principales opérations de traitement de liste effectuées sur une
LEF sont:
• Retrait de l'événement imminent
• Ajout d'un nouvel événement à la liste.
• De temps en temps l'enlèvement d'un événement (annulation d'un
événement).
• L'efficacité de la recherche dans la liste dépend de l'organisation
logique de la liste et de la manière dont la recherche est effectuée.
Traitement de liste

Lorsqu'un événement avec un temps d'événement est généré, sa


position correcte sur la LEF peut être trouvée via:
• Une recherche descendante
• Une recherche ascendante.
Événements à venir

Un événement exogène est un événement «hors du système» qui


affecte le système
• Exemple:
l'arrivée et l'achèvement du service dans un système de mise en file
d'attente.
Événement d'arrivée:
• Exemple:
une arrivée à un système de file d'attente, à l'instant 0, le premier
événement d'arrivée est généré et est programmé sur la LEF.
Lorsque l'horloge est finalement avancée jusqu'au moment de cette
première arrivée, un deuxième événement d'arrivée est généré.
Événements à venir

Événement d'arrivée:
• La fin d'un intervalle entre les arrivées est un exemple d'événement
primaire (l'événement principal est géré en plaçant un avis
d'événement sur le LEF).

Événement de fin de service:


• Événement conditionnel.
• Déclenchée uniquement à la condition qu'un client soit présent et un
serveur est libre.
• Un temps de service est un exemple d'activité.
Événements à venir

Alterner des générations de temps d'exécution et d'arrêt pour une


machine soumise à des pannes.
Evénement d'arrêt, 𝐸:
• A l'instant 0 programmer un événement de simulation d'arrêt à un
instant futur spécifié 𝑇$ .
• La longueur de parcours 𝑇$ est déterminée par la simulation elle-
même.
• Généralement, 𝑇$ est le moment de l'occurrence d'un événement
spécifié 𝐸.
Vues du monde

Les vues du monde les plus répandues sont:


• Vue du monde de planification d'événements
• Avance de temps variable
• Vue du monde d’interaction de processus
• Avance temporelle variable
• Vue du monde d'analyse d'activité
• Incrément de temps fixe
Vues du monde

Approche de planification d'événements:


• Se concentre sur les événements et leurs effets sur l'état du système.
• Résumée dans les diapositives précédentes
Vues du monde

Approche d'interaction de processus:


• Se concentre sur les processus: un processus est une liste
chronologique des événements, des activités et des retards qui
définissent le cycle de vie d'une entité lorsqu'elle se déplace dans un
système.
• Habituellement, de nombreux processus sont actifs simultanément
dans un modèle, et l'interaction entre les processus peut être assez
complexe.
• Une approche populaire car elle a un attrait intuitif et facilite la mise
en œuvre du progiciel de simulation.
Vues du monde

Approche d'interaction de processus:


• Exemple: Processus client
Vues du monde

Approche d'analyse d'activité:

• Se concentre sur les activités d'un modèle et les conditions qui


permettent à une activité de commencer.
• A chaque avance d'horloge, les conditions de chaque activité sont
vérifiées, et si les conditions sont vraies, alors les activités
correspondantes commencent.
• Simple dans le concept, mais l'exécution lente sur les ordinateurs.
Vues du monde

L'approche modifiée est appelée l'approche en trois phases.


• Les événements sont considérés comme des activités de durée zéro
unités de temps.
• Les activités sont divisées en 2 catégories:
• Type B: activités qui sont susceptibles de se produire, par exemple, des
événements primaires.
• Type C: activités ou événements qui sont conditionnels à ce que certaines
conditions soient vraies.
• La simulation continue avec l'exécution répétée des 3 phases: à partir
de la suppression des événements, puis exécute des événements de
type B, puis exécute des événements de type C.
Approche de planification des événements
Exemple d'épicerie
Exemple d'épicerie

Exemple d'épicerie :
File d'attente à un seul serveur (caisse unique).
• Système = caisse unique + clients
• Nombre de clients dans le système= nombre de clients en attente+
nombre de clients étant servis
• Critère d’arrêt de simulation: temps de simulation maximal = 60 mins
Exemple d'épicerie

Composants du modèle:
• Etat du système:
• LQ (t) - Nombre de clients en attente à l'instant t,
• LS (t) - Nombre de clients étant servis à l'instant t.
• Entités:
• le serveur et les clients ne sont pas explicitement modélisés, sauf en termes
de variables d'état.
• Événements:
• Arrivée (A),
• Départ (D),
• Evénement d'arrêt (E).
Exemple d'épicerie

Composants du modèle:
• Notifications d'événements (type d'événement, heure de
l'événement):
• (A, t) représentant un événement d'arrivée à se produire à l'instant futur t.
• (D, t) représentant un départ du client à l'avenir t.
• (E, 60) représentant l'événement d'arrêt de simulation à l'avenir 60.
• Activités: heure d'arrivée et temps de service.
• Retard: temps passé par le client dans le fils d'attente.
• FEL will always include two or three event notices.
• Exemple
Event logicd'épicerie
- execution of arrival event.
Logique
d'événement -
exécution de
l'événement
d'arrivée.
• Event logic - execution of departure event.
Exemple d'épicerie
Logique
d'événement -
exécution de
l'événement
de départ.
Exemple d'épicerie

Les conditions initiales sont « le premier client arrive à t=0 » et


« commence le service ».
Deux statistiques seulement:
• l'utilisation du serveur (B)
• la longueur maximale de la file d'attente (MQ).
Exemple d'épicerie

Horloge t LQ(t) LS(t) LEF B MQ

0 0 1 (D,4)(A,8) (E,60) 0 0

4 0 0 (A,8) (E,60) 4 0

8 0 1 (D,9)(A,14)(E,60) 4 0

9 0 0 (A,14)(E,60) 5 0

14 0 1 (A,15)(D,18)(E,60) 5 0
Exemple d'épicerie

Horloge t LQ(t) LS(t) LEF B MQ

15 1 1 (D,18)(A,23) (E,60) 6 1

18 0 1 (D,21)(A,23)(E,60) 9 1

Vous aimerez peut-être aussi