Vous êtes sur la page 1sur 37

17/01/2017

ENSA-KENITRA A.U: 2016-2017

Cours sur la simulation industrielle


Modélisation et Simulation de Flux
à événements discrets

Pr. Abdellah ABOUABDELLAH


5ème année génie industriel et
logistique

Plan du cours
• Simulation de flux à événement discret
• Etapes de la simulation
• Modèle de connaissance
• LANGAGE DE SIMULATION SIMAN-ARENA
• Notions de base
• Première partie du bloc fonctionnel du logiciel de simulation ARENA
Create
Dispose
Delay
Seize/Release
Process
• Exercice d’application1
• Deuxième partie du bloc fonctionnel du logiciel de simulation ARENA
Decide
Batch
Separate
Assign
Record
Match
• Exercice d’application2

1
17/01/2017

Simulation de flux à événement discret


Qu’est ce que la simulation de flux à évènements
discrets ?
• C’est la technique d’analyse du comportement d’un
système dans le temps par création d’une maquette
numérique.
• Cette maquette permet de répondre à toutes les
questions de type « Pourquoi ? » et « Que se passe-t-il
si? »
• concevoir / modifier les procédés ou les systèmes sans
incidence financière.
• Tester un grand nombre de solutions sans perturber la
production existante et orienter les choix pour maîtriser
la nouvelle organisation

Etapes de la simulation

2
17/01/2017

Simulation de flux à événements discrets


Modèle de connaissance
• Modèle de connaissance / Modèle de simulation

Etats des Opérations (Machines ou Activités)

• Disponible : pas de charge

• Occupée : en charge(jetton_machine=seize
Delay,Release)

• Bloquée : évacuation impossible vers l’aval

• Autres états possibles:


• réglage, panne, attente opérateur cycle,
• attente opé. réglage, attente opé. maintenance

3
17/01/2017

Etats des Attentes (Stocks ou Files d’Attentes)

• Vide : pas de charge

• Ni pleine ni vide : en charge

• Pipeline

Application
Modèle de connaissance

4
17/01/2017

Application
Simulation de flux à événements discrets

Application
Rapports statistiques
• à t = 23 min. :
• Nombre d’articles A (encours) dans le stock S1 :
• Nombre d’articles B (encours) dans le stock S2 :
• Nombre d’opérations terminées par le poste ASSEMBLAGE :
• Taux d’occupation du poste ASSEMBLAGE :

5
17/01/2017

Langage de simulation SIMAN-ARENA


• SIMAN-ARENA 7 est:
 conçu en 1982 par C.D. Pedgen de System Modeling Corporation
 un langage de simulation du type interaction de processus, ARENA
représentant la version « graphique » de SIMAN.
• La description du modèle (logiciel) du système simulé se fait à l'aide
d'un assemblage constitué de mise en série, en parallèle ou en feedback de
différents blocs fonctionnels, issus de bibliothèques (templates) d’ARENA.
• Une telle approche de modélisation permet d'obtenir une structure du
modèle (logiciel) proche de celle du système (réel) à simuler.
• Un outil clé dans la simulation des flux de production. Il permet de:
• Valider l’adéquation produits/process des ateliers;
• Optimiser les lignes de production;
• Maîtriser la chaîne logistique globale des fournisseurs aux clients finaux;
• Gérer les flux physiques internes.

Notions de base

• Entité : Une entité est un objet qui évolue dans les différents blocs
fonctionnels constituant le modèle du système. Elle correspond en général à
un objet concret, par exemple, une personne ou une pièce dans un
atelier. Le déplacement des entités au sein des différents blocs - par
exemple le déplacement de pièces dans un atelier - provoque un
changement d'état du modèle de simulation.

• Attribut : Un attribut est une variable associée individuellement aux entités


(la variable est locale) pour représenter leurs états ou des paramètres
qui leur sont propres. Par exemple, chaque entité, représentant une pièce
circulant dans un atelier, peut avoir les attributs suivants :
- Type_de_piece afin de désigner le type d'une pièce (par exemple,
Type_de_piece = A ou B) ;
- Indice_de_priorite afin de désigner l'indice de priorité d'une pièce (par
exemple, Indice_de_priorite = faible ou importante) ;
- Date_arrivee_ds_le_modele (par exemple, Date_arrivee_ds_le_modele =
TNOW).

6
17/01/2017

Notions de base
• Variable globale : Une variable globale concerne l'ensemble du
modèle. Par exemple, la variable TNOW (variable prédéfinie dans
SIMAN) désigne la date à laquelle se trouve la simulation, c'est le
temps courant - mis à jour à chaque avancée dans l'échéancier des
événements – s’écoulant durant une simulation du modèle.

• Le principe de fonctionnement du logiciel ARENA est de suivre


chacune des entités évoluant d'un bloc fonctionnel vers un autre
dans le modèle, de sa création à sa destruction.

• L’ordonnancement dans le temps des différents événements


rattachés à l'évolution des entités dans les blocs constituant le
modèle se fait au travers d’un échéancier.

Arena Basic Process Template

Panel Module Type Module Reference


Basic Process Data Entity Entity
Basic Process Data Queue Queue
Basic Process Data Resource Resource
Basic Process Data Schedule Resource
Basic Process Data Set System
Basic Process Data Variable System
Basic Process Flowchart Assign Entity
Basic Process Flowchart Batch Entity
Basic Process Flowchart Create Entity
Basic Process Flowchart Decide Entity
Basic Process Flowchart Dispose Entity
Basic Process Flowchart Process Resource
Basic Process Flowchart Record Entity
Basic Process Flowchart Separate Entity

Arena Modules Arena Basic Process Panel


Module Icons

7
17/01/2017

Première partie du bloc du logiciel de simulation Arena


Create

Create (issu du template Basic Process) : Un bloc Create


permet de créer des entités.
• Exemple:
• Arrivée d’un client;
• Arrivée d’un bon de commande;
• Arrivée d’une matière première.

Première partie du bloc du logiciel de simulation Arena


Create

8
17/01/2017

Première partie du bloc du logiciel de simulation Arena


Create

• Propriétés
• Nom ;
• Type d’entité;
• Clients;
• Produits;
• Matières premières.
• Temps inter arrivé:
• Fixe;
• Variable;
• Emploi du temps.
• Nombre d’entité par arrivée;
• Temps de la première arrivé;
• Nombre d’entité maximal.

Première partie du bloc du logiciel de simulation Arena


Dispose

Dispose (issu du template Basic Process) : Un bloc Dispose


permet de détruire des entités.
• Exemple:
• Sortie d’un client;
• Sortie d’un bon de commande;
• Sortie d’une matière première.

9
17/01/2017

Première partie du bloc du logiciel de simulation Arena


Dispose

Première partie du bloc du logiciel de simulation Arena


Delay
Delay (issu du template Advanced Process) : Un bloc Delay
permet de retarder le passage d'entités. Quand une entité
entre dans ce bloc, elle y reste inconditionnellement
pendant la durée (aléatoire ou non) indiquée dans le champ
Delay Time.
Exemple: Client dans un supermarché (Valeur ajoutée, sans
valeur ajoutée)

10
17/01/2017

Première partie du bloc du logiciel de simulation Arena


Seize

• Seize (issus du template Advanced Process) : Une entité


présente dans un bloc Seize ne peut sortir de ce bloc que s’il
existe un nombre suffisant de ressources disponibles (le
nombre et le type de ressources étant spécifiés dans le
bloc) ;
• Sachant qu'une ressource peut ne pas être disponible,
les entités, en attente d'un nombre suffisant de
ressources disponibles, sont stockées dans une file d'attente,
intégrée (en amont) au bloc Seize, et dont le nom est
indiqué dans le champ Queue Name (soit Queue Name =
Seize 1.Queue).

Première partie du bloc du logiciel de simulation Arena


Seize

11
17/01/2017

Première partie du bloc du logiciel de simulation Arena


Release

• Release (issu du template Advanced Process) : Un bloc


Release permet de « relâcher » des ressources. Quand une
entité entre dans ce bloc, elle libère (relâche) la, ou les
ressources dont le nom est spécifié dans le champ
Resource Name. Le nombre de ressources libérées est
spécifié dans le champ Quantity.
• On peut noter que l’exécution de cette tâche est
instantanée, autrement dit le temps de passage d’une entité
dans un bloc Release est nul. Pour simplifier, seul un
type de ressource est concerné, l’ajout d’un autre type
de ressource donnerait lieu à une ligne supplémentaire
dans la liste Resources.

Première partie du bloc du logiciel de simulation Arena


Release

12
17/01/2017

Première partie du bloc du logiciel de simulation Arena


Process Module

• Définition: ce bloc permet de simuler une action sur une entité.


• Exemple:
Fabriquer
Contrôler
Assembler

Première partie du bloc du logiciel de simulation Arena


Process Module

Process Module Dialog Box

13
17/01/2017

Première partie du bloc du logiciel de simulation Arena


Process Module

• Propriété:
• Nom ;
• Type ;
• Action:
• Seize;
• Delay;
• Release.
• Temps d’action:
• Fixe;
• Variable.
• Ressources;
• Nom;
• Quantité / Capacité.
• Allocation
• Valeur ajoutée;
• Aucune valeur ajoutée;
• Transfer;
• Attente;
• Autre.
• File d’attente.

Resource Detail

Process Module Resource Detail


Dialog Box Arena Resource Picture
Placement Window

14
17/01/2017

Queue Spreadsheet

Queue Spreadsheet

Resource Spreadsheet

Resource Spreadsheet

15
17/01/2017

Variable Spreadsheet

Variable Spreadsheet

Exercice d’application1
• Simulation du fonctionnement d’un supermarché selon différents
scénarios:
Premier cas: une caisse;
Deuxième cas: Deux caisses;
Troisième cas: Trois Caisses.

• Résultat à rendre
Temps moyen d’un client dans le supermarché;
Taux d’occupation d’un caissier;
Nombre de clients servies;
Nombre de clients entrés;
Temps moyen d’attente d’un client.

16
17/01/2017

Modèle de connaissance

Simulation sur Logiciel Arena


Création d’une entité

17
17/01/2017

Simulation sur Logiciel Arena


Création d’un bloc Delay

Simulation sur Logiciel Arena


Création d’un bloc Process

18
17/01/2017

Simulation sur Logiciel Arena


Modèle sous ARENA

Selection des
Arrive des clients Guichets Sortie clients
produits
0 0
0

Simulation sur Logiciel Arena


Résultat de l’exécution
Exécution du modèle: cliquer sur Run

19
17/01/2017

Simulation sur Logiciel Arena


Résultat de l’exécution

Simulation sur Logiciel Arena


Résultat de l’exécution

20
17/01/2017

Deuxième partie du bloc du logiciel de simulation Arena


PROCESS DECIDE
• Process DECIDE permet de choisir entre 2 ou plusieurs
sorties selon deux type de critères
• Critère de chance;
• Critère de condition logique

Deuxième partie du bloc du logiciel de simulation Arena


PROCESS BATCH
• Process BATCH rassemble un ensemble d’entités en une seule entité.
• Propriété:
• Name
• Type
• Permanent
• Temporaire
• Batch Size
• Save Criterion
• Last
• Sum
• Product
• First
• Rules
• Any entity
• By Attribute
• Representative Entity Type

21
17/01/2017

Première partie du bloc du logiciel de simulation Arena


PROCESS SEPARATE
• Process BATCH sépare une seule entité en plusieurs
entités:
Propriété:
• Name
• Type
• Duplicate original
• Percentage cost to duplicate
• Nbre of duplicates
• Splite existing batch
• Menber attribute
• Retain all
• Remove all
• Retain specific values

Première partie du bloc du logiciel de simulation Arena


PROCESS ASSIGN
• ASSIGN (issu du template Blocks) : Ce bloc permet d’assigner une valeur à un
attribut, une variable ou à l’état d’une ressource, durant l’exécution
d’une simulation.
• Quand une entité entre dans un bloc ASSIGN,
l’expression - logique ou mathématique-
spécifiée dans le champ New Value est évaluée et assignée à l’attribut
(rattaché à l’entité présente dans le bloc), la variable ou l’état de la
ressource, spécifié dans le champ Variable or Attribut.
• Assigne à l’entité
• Variable ( variable modèle)
• Attribut ( lié à l’entité)
• Entity type ( clients, produits, … )
• Entity picture ( Image pour représenter l’entité après sa sortie du bloc ASSIGN)
• Others

22
17/01/2017

Première partie du bloc du logiciel de simulation ARENA


PROCESS ASSIGN

Assign 1

Première partie du bloc du logiciel de simulation ARENA


PROCESS Record
• Le bloc Record (issu du template Basic Process) permet, selon le
contenu du champ Type, de :
- compter le nombre d'entités traversant le bloc (Type = Count) ;
- recueillir les temps de passage successif de 2 entités (Type = Time
Between) ;
- recueillir les temps mis par les entités traversant une partie (ou
l'ensemble) d'un modèle (Type = Time Interval) .

23
17/01/2017

Première partie du bloc du logiciel de simulation ARENA


PROCESS Record

• Lorsque le champ Type = Count, le bloc Record permet de


compter le nombre d'entités qui transitent par ce bloc. Le
compteur s'incrémente d'une valeur (Value, par défaut égale
à 1) à chaque passage d'une entité. Le nom du compteur est
spécifié dans le champ Counter Name. Voir le bloc Statistic
pour effectuer un enregistrement des données.

Première partie du bloc du logiciel de simulation ARENA


PROCESS Record
• Lorsque le champ Type = Time Between, le bloc Record
permet de recueillir les temps de passage entre 2 entités
successives. Le nom du tally est spécifié dans le champ
Tally Name. Voir le bloc Statistic pour effectuer un
enregistrement des données.

24
17/01/2017

Première partie du bloc du logiciel de simulation ARENA


PROCESS Record

• Lorsque le champ Type = Time Interval, le bloc Record permet de


recueillir les temps mis par les entités traversant une partie (ou
l'ensemble) d'un modèle. Le nom du tally est spécifié dans le
champ Tally Name.

Première partie du bloc du logiciel de simulation ARENA


Static
Le bloc Statistic (issu du template Advanced Process,
appartenant au cadre expérimental et donc non traversé par
une entité) permet, selon le contenu du champ Type, de :
• Collecter durant la simulation des statistiques issues de
variables SIMAN, telles que le nombre d’entités contenues
dans une file d'attente , le taux d’occupation d’une
ressource (variable NR) (Type = Frequency) ;
• Spécifier les fichiers dans lesquels seront sauvegardées
les données d’observations individuelles, par exemple :
celles issues d’un bloc Record (relatif à un compteur ou un tally)
(Type = Count ou Tally) ;
celles issues d’une variable SIMAN (le nombre d’entités
contenues à chaque instant dans une file d'attente, le taux
d’occupation à chaque instant d’une ressource (Type = Frequency)
.

25
17/01/2017

Première partie du bloc du logiciel de simulation ARENA


PROCESS MATCH
• Process MATCH permet de synchroniser la progression de deux, voire de
plusieurs, entités situées dans différentes files d’attentes.
• Quand toutes les files d’attentes, associées au bloc Match,
ont une, voire plusieurs entités, ces entités sont libérées, Match 1
de façon synchrone, vers les sorties correspondantes.
Dans la figure qui suit, le bloc Match 1
(champ Name = Match 1) effectue une synchronisation entre deux entrées.
• Une synchronisation se produit lorsqu’au moins une entité est présente dans
chacune des deux files d’attente, à savoir Match 1.Queue1 et Match
1.Queue2. Les entités à l’origine de la synchronisation sont ensuite
dirigées vers les sorties
correspondantes.
Le fait d’avoir le champ
Type = Any Entities
(et non Based on Attribute) fait que la synchronisation ne s’effectue pas en
fonction de la valeur d’un éventuel
attribut (rattaché aux entités).

Exercice d’application2

• Guichet de banque:
• Deux guichets ayant des services différents :
• La distribution des clients selon les services se fait selon une loi aléatoire;
• Le premier guichet doit classer les dossiers traités deux par deux.

26
17/01/2017

Simulation sur Logiciel Arena

Simulation sur Logiciel Arena

27
17/01/2017

Simulation sur Logiciel Arena

Simulation sur Logiciel Arena


Dans ce modèle, le banquier classe deux dossiers traités par le guichet 1.
Alors que le guichet 2 classe les dossiers traités un par un.

28
17/01/2017

Simulation sur Logiciel Arena


Summary for Replication 1 of 2
TALLY VARIABLES

Identifier Average Half Width Minimum Maximum Observations

Entity 1.VATime .20227 (Insuf) .14424 .27555 11


Entity 1.NVATime .00000 (Insuf) .00000 .00000 11
Entity 1.WaitTime 1.8491 (Insuf) .00000 9.9629 11
Entity 1.TranTime .00000 (Insuf) .00000 .00000 11
Entity 1.OtherTime .00000 (Insuf) .00000 .00000 11
Entity 1.TotalTime 2.0180 (Insuf) .14424 10.119 11
Guichet Banque1.WaitingTime .01770 (Insuf) .00000 .10621 6
Guichet Banque2.WaitingTime .04513 (Insuf) .00000 .21475 8
Batch 1.Queue.WaitingTime 3.3122 (Insuf) .00000 9.8567 6
.

Simulation sur Logiciel Arena


Summary for Replication 1 of 2

DISCRETE-CHANGE VARIABLES

Identifier Average Half Width Minimum Maximum Final Value

Entity 1.WIP .62683 (Insuf) .00000 4.0000 .00000


Guichet 1.NumberBusy .02097 (Insuf) .00000 1.0000 .00000
Guichet 1.NumberScheduled 1.0000 (Insuf) 1.0000 1.0000 1.0000
Guichet 1.Utilization .02097 (Insuf) .00000 1.0000 .00000
Guichet 2.NumberBusy .04083 (Insuf) .00000 1.0000 .00000
Guichet 2.NumberScheduled 1.0000 (Insuf) 1.0000 1.0000 1.0000
Guichet 2.Utilization .04083 (Insuf) .00000 1.0000 .00000
Guichet Banque 1.NumberInQueue .00295 (Insuf) .00000 1.0000 .00000
Guichet Banque 2. NumberInQueue .01003 (Insuf) .00000 1.0000 .00000
Batch 1.Queue.NumberInQueue .55205 (Insuf) .00000 2.0000 .00000

29
17/01/2017

Simulation sur Logiciel Arena

Summary for Replication 1 of 2

OUTPUTS

Identifier Value
_____________________________________________________________

Entity 1.NumberIn 17.000


Entity 1.NumberOut 17.000
Guichet 1.NumberSeized 6.0000
Guichet 1.ScheduledUtilization .02097
Guichet 2.NumberSeized 8.0000
Guichet 2.ScheduledUtilization .04083
System.NumberOut 11.000

Simulation sur Logiciel Arena


Summary for Replication 2 of 2
TALLY VARIABLES

Identifier Average Half Width Minimum Maximum Observations

Entity 1.VATime .20544 (Insuf) .13319 .30261 9


Entity 1.NVATime .00000 (Insuf) .00000 .00000 9
Entity 1.WaitTime 1.7108 (Insuf) .00000 5.0037 9
Entity 1.TranTime .00000 (Insuf) .00000 .00000 9
Entity 1.OtherTime .00000 (Insuf) .00000 .00000 9
Entity 1.TotalTime 1.8488 (Insuf) .13319 5.1402 9
Guichet Banque 1.WaitingTime .04038 (Insuf) .00000 .14020 9
Guichet Banque 2.WaitingTime .03765 (Insuf) .00000 .18827 5
Batch 1.Queue.WaitingTime 1.8557 (Insuf) .00000 4.9752 8

30
17/01/2017

Simulation sur Logiciel Arena


Summary for Replication 2 of 2

DISCRETE-CHANGE VARIABLES

Identifier Average Half Width Minimum Maximum Final Value

Entity 1.WIP .70129 (Insuf) .00000 4.0000 1.0000


Guichet 1.NumberBusy .03098 (Insuf) .00000 1.0000 .00000
Guichet 1.NumberScheduled 1.0000 (Insuf) 1.0000 1.0000 1.0000
Guichet 1.Utilization .03098 (Insuf) .00000 1.0000 .00000
Guichet 2.NumberBusy .02347 (Insuf) .00000 1.0000 .00000
Guichet 2.NumberScheduled 1.0000 (Insuf) 1.0000 1.0000 1.0000
Guichet 2.Utilization .02347 (Insuf) .00000 1.0000 .00000
Guichet Banque 1.NumberInQueue .01010 (Insuf) .00000 1.0000 .00000
Guichet Banque 2.NumberInQueue .00523 (Insuf) .00000 1.0000 .00000
Batch 1. NumberInQueue .63151 (Insuf) .00000 2.0000 1.0000

Simulation sur Logiciel Arena


Output Summary for 2 Replications

OUTPUTS

Identifier Average Half-width Minimum Maximum # Replications


_____________________________________________________________________
Entity 1.NumberIn 17.500 6.3530 17.000 18.000 2
Entity 1.NumberOut 17.000 .00000 17.000 17.000 2
Guichet 1.NumberSeized 7.5000 19.059 6.0000 9.0000 2
Guichet 1.ScheduledUtilization .02598 .06359 .02097 .03098 2
Guichet 2.NumberSeized 6.5000 19.059 5.0000 8.0000 2
Guichet 2.ScheduledUtilization .03215 .11029 .02347 .04083 2
System.NumberOut 10.000 12.706 9.0000 11.000 2

31
17/01/2017

Simulation sur Logiciel Arena

Summary for Replication 2 of 2

OUTPUTS

Identifier Value
_____________________________________________________________

Entity 1.NumberIn 18.000


Entity 1.NumberOut 17.000
Guichet 1.NumberSeized 9.0000
Guichet 1.ScheduledUtilization .03098
Guichet 2.NumberSeized 5.0000
Guichet 2.ScheduledUtilization .02347
System.NumberOut 9.0000

Exemple

• Considérons un simple tapis roulant, ayant un temps de transport de 3


unités de temps, représenté par le modèle logiciel décrit comme suit :

• Le bloc Create, issu du template Basic Process, est tel qu'une entité
est créée à partir de l’instant 0, ceci toute les 2 unités de temps.
• Le bloc Delay, issu du template Advanced Process, force une entité à
séjourner 3 unités de temps dans le bloc.
• Le bloc Dispose, issu du template Basic Process, détruit toute entité entrant
dans le bloc.

32
17/01/2017

Exemple

A travers le menu Run/Setup/Replication Parameters, on peut


notamment fixer :
- le nombre de réplications (champ Number of Replications),
- le temps où se termine une réplication (champ Replication Length).

Exercices de modélisation
avec ARENA

33
17/01/2017

Exercice

• Guichet de banque:
• Trois guichets ayant le même service:
• Le client sort si il trouve la file d’attente dépassant 4 personne;
• Trois guichets ayant différents service:
• La distribution des clients selon les services se fait selon une loi aléatoire;
• Le client sort si il trouve 4 clients en attentes.

Résultat à rendre

• Temps moyen d’un client dans la banque;


• Taux d’occupation d’un guichet;
• Nombre de clients servies;
• Nombre de clients entré;
• Nombre de clients perdu;
• Temps moyen d’attentes d’un clients.

34
17/01/2017

Modèle de connaissance

Départ client

Simulation sur Logiciel Arena

35
17/01/2017

Exercice 1

• L’objectif du TP est de dimensionner un centre national d’appel téléphonique


d’une entreprise d’assurance en faisant des simulations sous ARENA.
• 25% des clients appellent le centre pour obtenir des informations sur leur
contrat, 25% pour obtenir un conseil juridique, 50% pour déclarer un
sinistre.
• Un standard oriente chaque client vers le bureau qui est concerné par la
nature de l’appel.
• Le centre est ouvert 8h par jour. Les clients appellent en moyenne tous les
10s selon une distribution triangulaire (minimum 2s, maximum 20s). Un
employé du standard met entre 10s et 30s pour déterminer avec le client sur
quel bureau il doit le renvoyer. Un employé du bureau « Informations »
passe en moyenne 2mn (selon une distribution exponentielle) avec le client.
Un employé du bureau « Conseil Juridique » passe de 5mn à 15mn avec le
client. Un employé du bureau « Déclaration Sinistre » passe de 2mn à 10mn
avec le client.
• Simuler votre solution pour avoir la meilleur adéquation personnel – service
clients.

Exercice 2

• L’objectif est ici de comparer 2 systèmes de réémission des courriels :


• L’arrivée des courriels se fait en moyenne tous les 5mn selon une loi
exponentielle. Tant que les courriels ne sont pas réémis ils sont
placés dans la file d’attente de leur serveur respectif.
• Le premier système est formé d’un seul serveur rapide : il reçoit tous
les courriels et les réémet selon une loi triangulaire de moyenne
3mn, min 1mn et max 5mn.
• Le second système est construit avec 2 serveurs plus anciens (loi
triangulaire moy. 5mn, min. 1mn, max. 7mn), les courriels sont
orientés aléatoirement (50%/50%) sur l’un ou l’autre serveur.
• Simuler et comparer les deux systèmes.

36
17/01/2017

Exercice 3

• L’objectif est ici de comparer 2 systèmes de gestion de file d’attente :


• Nous avons une agence ayant trois guichets indépendants. Nous proposons de simuler le
fonctionnement cette agence selon deux scénario :
• Premier scénario : une seul file d’attente pour les trois guichets ;
• Deuxième scénario : chaque Guichet possède son propre file d’attente :
• Le client choisi toujours la file d’attente la plus vide.

• Les clients arrivent par un lot de 2 suivant une loi normal ( moy 5 min, écart type 1 min).
• La durée du service au guichet prend en moyenne une période qui suit une loi triangulaire (moy.
10 mn, min. 15mn, max. 20mn).
• Le client sort de l’agence s’il trouve plus de 5 clients en attente.
• Dans le deuxième scénario, le client va toujours vers la file la moins occupée.
• Simuler le fonctionnement de l’agence pendant 48h et mesurer en particulier des statistiques
sur :
• Le nombre de clients servis
• Le nombre de clients perdu
• Le nombre moyen de clients dans la file d’attente
• Comparer et discuter les deux scénarios

Exercice 4

• Un restaurant de 50 tables ouvre ses portes pendant 4 heures chaque soir. L'intervalle de
temps entre l'arrivée de deux groupes de clients est représenté par une loi exponentielle
de moyenne 1,6 minute. Les groupes sont constitués de 2, 3, 4 ou 5 convives avec des
probabilités de 0.4 , 0.3 , 0.2 et 0.1 respectivement.
• S'il y a déjà 5 groupes en attente, auquel cas il se rend dans un autre restaurant.
• Une fois assis, le groupe est servi au bout d'une durée uniformément répartie entre 15 et
20 minutes. La durée d’un repas proprement dit obéit à une distribution normale de
moyenne 60 minutes et d'écart-type 10 minutes. Le repas terminé, les clients attendent le
caissier pour payer la note et libèrent les tables. La durée de service du caissier est
uniformément distribuée entre 1.5 et 3 minutes.
• Simuler le fonctionnement du restaurant pendant une soirée et mesurer en particulier des
statistiques sur :
• le nombre de groupes en attente ainsi que le nombre de clients perdus,
• le nombre de clients servis ainsi que la durée de séjour dans le restaurant de ces clients,
• le nombre de tables occupées et le taux d'activité de la caisse

37