Vous êtes sur la page 1sur 24

Institut National des Sciences Appliquées et de Technologie

Fascicule de TP Simulation sur ARENA


4ème année Informatique Industrielle et Automatique (IIA4)

Elaboré par
Feiza GHEZAIL-HAMDI et Nadra BOHLI
TP Simulation/ARENA – IIA4 2020/2021 2

Sommaire

1. Présentation du logiciel de simulation ARENA


I.1 Notions de base
I.2 Présentation de quelques blocs usuels pour construire un modèle
I.3 Présentation de quelques blocs usuels pour analyser un modèle
I.4 Quelques remarques pour lancer une simulation

2. Illustration

3. TP 1 : Initiation à la simulation par ARENA

4. TP2 : Equilibrage des chaînes de production


TP Simulation/ARENA – IIA4 2020/2021 3

I. Présentation du logiciel de simulation ARENA

SIMAN-ARENA7 - conçu en 1982 par C.D. Pedgen de System Modeling Corporation - est
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.

I.1 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, ce qui est analogue aux déplacements des jetons dans un
modèle RdP.

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 (exemple : Date_arrivee_ds_le_modele = TNOW).

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.

Quand une entité est introduite dans un bloc fonctionnel, elle déclenche/active le « service
» qui lui est associé, ce qui provoque une modification de l'état du modèle. Un « service »
peut agir :
- sur l'entité au travers de la valeur de ses attributs. Par exemple, à travers un bloc Assign,
on peut affecter à l'attribut indice_de_priorite d'une entité représentant une pièce, présente
dans le bloc, la valeur importante ;
- sur les variables globales du modèle logiciel. Par exemple, le passage d’une entité dans
un bloc Delay provoque un retard pur, ce qui aura une conséquence sur la variable TNOW.
TP Simulation/ARENA – IIA4 2020/2021 4

Un programme (ou modèle logiciel) élaboré avec ARENA est sauvegardé dans un fichier
ayant pour extension .doe et est constitué :
- d'une partie modèle, qui représente l'algorithme décrivant les caractéristiques statiques et
dynamiques des différents blocs fonctionnels composant le modèle ;
- du cadre expérimental, qui regroupe les données précisant les paramètres spécifiques à
une simulation donnée (conditions initiales, durée de la simulation, …).
En fait, les entités traversent uniquement les blocs fonctionnels de la partie modèle.

I.2 Présentation de quelques blocs usuels pour construire un modèle

a) Create (issu du template Basic Process) : Un bloc Create permet de créer des entités.
Les champs de ce bloc sont les suivants :
- le champ Name où l’on peut donner un nom au bloc ;
- le cadre Time Between Arrivals, comportant les champs :
 le champ Type pour définir le type de création et d’entrée des entités,
 le champ Value pour définir la période de création des lots d’entité,
 le champ Entities per Arrival pour définir le nombre d’entité par lot (taille des
lots) en entrée à chaque période de création),
 le champ Max Arrivals qui détermine le nombre total de lots à créer,
 le champ First Creation qui définit la date de création du premier lot.

b) Dispose (issu du template Basic Process) : Un bloc Dispose permet de détruire des
entités. Ainsi, une entité entrant dans ce bloc est immédiatement détruite.

c) 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.
TP Simulation/ARENA – IIA4 2020/2021 5

d) 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) ; en attendant l’entité est
stockée (« patiente ») dans une file d’attente interne au bloc Seize. Le fait qu'une entité
sorte du bloc indique que les ressources, disponibles en nombre suffisant, sont « saisies »
(et donc plus disponibles).

L’ajout d’une ressource (par le bouton Add), crée automatiquement une nouvelle
ressource ; chaque ajout d’un nouveau type de ressource, donne lieu à une ligne
supplémentaire dan la liste Resources que l’on peut paramétrer :
 le champ type indique le type de la ressource, parmi la liste des types créés,
 le champ Resource Name permet de spécifier le nom de la nouvelle ressource,
 le champ Quantity spécifie le nombre (minimum) de ressources disponibles.

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.
Une file d’attente est caractérisée (configurée) par le bloc Queue (issu du template Basic
Process, appartenant au cadre expérimental et donc non traversé par une entité) :

 le champ Name permet de déclarer une file d’attente,


 le champ Type permet d’indiquer le mode de gestion de la file d’attente. Par
défaut, le mode de gestion est de type First In, First Out (FIFO).
TP Simulation/ARENA – IIA4 2020/2021 6

Le bloc Queue permet de définir plusieurs files d'attente dans un même modèle.

Les types de ressource, ainsi que le nombre pour chaque type de ressources, sont indiqués
dans le bloc Resource (issu du template Basic Process, appartenant au cadre expérimental
et donc non traversé par une entité) :

 le champ Name permet de déclarer une ressource,


 le champ Capacity permet de définir le nombre d’unité de la ressource.
Le bloc Resource permet de définir plusieurs types de ressources dans un même modèle.

e) 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.

f) Assign (issu du template Basic Process) : Un bloc Assign permet d’assigner une valeur,
notamment, à un attribut, une variable (éventuellement propre à SIMAN, par exemple
relative à 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, selon le contenu du champ Type (Attribute,
Variable, …), à un attribut (rattaché à l’entité « activant » le bloc) ou une variable. Les
attributs de ce bloc dont les suivants :
TP Simulation/ARENA – IIA4 2020/2021 7

 le champ Variable permet de définir une variable et à quelle valeur elle est
associée. Cette valeur peut être une constante telle que « 1 » ou encore elle peut
restituer l’état courant d’une ressource déjà définie (les valeurs possibles sont : -
1=Idle ; -2=Busy ; -3=Inactive ; -4=Failed),
 le champ Attribute qui représente les attributs,

Le bloc Variable (issu du template Basic Process, appartenant au cadre expérimental et


donc non traversé par une entité) permet de déclarer des variables.

g) Process (issu du template Basic Process) : Un bloc Process permet de simuler le


comportement d’une machine, sachant que différents modes de fonctionnement sont
autorisés selon le contenu du champ Action (situé dans le cadre Logic lorsque le champ
Type = Standard). Un bloc Process, intitulé Process 1 (champ Name = Process 1), est
décrit dans la figure suivante.
TP Simulation/ARENA – IIA4 2020/2021 8

Lorsque le champ Action contient la valeur :


i) Delay, la machine se ramène à un simple bloc Delay, ce qui permet de
simuler un temps de traitement (voir le cadre Delay Type pour assigner
un temps de traitement) et le fait qu’il n’y a pas de contrainte vis-à-vis
de la ressource de la machine.
ii) Seize Delay, la machine nécessite une, voire plusieurs ressources (voir le
cadre Resources pour assigner le type, ainsi que le nombre, de
ressources concernées) durant un temps (relatif au temps de traitement)
minimum indiqué dans le cadre Delay (le relâchement de la ressource est
supposé réalisé en aval).
iii) Seize Delay Release, idem. au cas ii) avec une gestion au niveau du
relâchement de la ressource « saisie ».
iv) Delay Release, idem. au cas iii) sans la gestion de l’allocation de la, voire
des ressources nécessaires au traitement d’une pièce (cette gestion est
supposée réalisée en amont du bloc).

h) Decide (issu du template Basic Process) : Un bloc Decide permet d’aiguiller un flux
d’entités vers différents blocs de destination, il comporte une entrée et plusieurs sorties.
L’aiguillage est réalisé, selon le contenu du champ Type, d’après un critère de type
condition, ou probabilité. Les conditions sont par exemple basées sur des valeurs
d’attributs, de variables, une expression. Le routage se fait via un ensemble de branches.
Quand une entité entre dans un bloc Decide, chaque condition de branchement est testée de
TP Simulation/ARENA – IIA4 2020/2021 9

manière séquentielle (i.e., dans l’ordre de leurs déclarations dans le bloc). La branche
sélectionnée par une entité est la première branche pour laquelle la condition de
branchement est satisfaite ; l’entité est alors aiguillée vers le bloc correspondant. Si aucune
branche n’est satisfaite, l’entité est détruite. Un bloc Decide, intitulé Decide 1 (champ
Name = Decide 1), est décrit dans la figure suivante. Le critère d’aiguillage vers les 2
sorties possibles est réalisé à partir de la condition If Variable 1 >= 1 (avec un résultat True
ou False).

Le critère utilisé par le bloc Decide 2 est de type probabilité (2 sorties, ayant chacune une
probabilité égale à 0.5, sont possibles).

Remarque : Une fois les blocs placés, il faut les relier. Le lien se fait par le biais du
connecteur qui se trouve dans la barre d'outils ( ).

I.3 Présentation de quelques blocs usuels pour analyser un modèle

Les blocs décrits précédemment permettent de modéliser un système physique, sans pour
autant fournir d’informations (exceptées celles données par défaut dans le rapport final).
La collecte d’informations spécifiques se fait en utilisant des blocs supplémentaires tels
que le bloc Record et le bloc Static.

1) 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) (voir 1.a)) ;
TP Simulation/ARENA – IIA4 2020/2021 10

 recueillir les temps de passage successif de 2 entités (Type = Time Between)


(voir 1.b)) ;
 recueillir les temps mis par les entités traversant une partie (ou l'ensemble) d'un
modèle (Type = Time Interval) (voir 1.c)).
1.a) 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 (voir 2.c) pour effectuer un enregistrement des
données.

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

1.c) 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.

Par exemple, on souhaite pour chaque entité recueillir la différence entre le temps de sortie
du bloc fonctionnel M et le temps de sortie du bloc fonctionnel N. Soient t N (i ) et t M (i) les
temps de sortie de l'entité n° i des blocs N et M respectivement (cf. schéma suivant).
TP Simulation/ARENA – IIA4 2020/2021 11

Pour réaliser cela, on dispose :


- Un bloc Assign (cf. VIII.2.f) placé juste après le bloc N afin d'assigner le temps de
passage, à savoir TNOW, de chaque entité dans un attribut, noté par exemple Attribute 1
(un attribut est une variable associée individuellement aux entités).
- Un bloc Record 1 (avec Type = Time Interval) placé juste après le bloc M afin de
disposer des temps de parcours de la sortie du bloc N au bloc M. Le lien avec l'attribut
Attribute 1 se fait via le champ Attribute Name. Voir le schéma suivant pour avoir une vue
schématique des blocs N, Assign, M, Record et la figure suivante où est décrit un bloc
Record de Type Time Interval.

2) 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 (variable NQ, cf. 2.a),
le taux d’occupation d’une ressource (variable NR, cf. 2.b) (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) (cf. 2.c)) ;
- 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) (cf. 2.c)).
TP Simulation/ARENA – IIA4 2020/2021 12

2.a) Lorsque le champ Type = Frequency et le champ Frequency Type = Value, le bloc
Statistic permet, à travers la variable NQ (abréviation de Number in Queue) - mise à jour
automatiquement par SIMAN, de disposer du nombre d’entités contenues dans une file
d'attente. Par exemple, en supposant défini une file d'attente intitulée Process 1.Queue, la
variable Statistic 3 (champ Name = Statistic 3) permet de connaître le nombre d’entités
présentes à chaque instant dans la file d’attente Process 1.Queue lorsque le champ
Expression = NQ(Process 1.Queue) (voir figure ci-dessous).
2.b) Lorsque le champ Type = Frequency et le champ Frequency Type = Value, le bloc
Statistic permet, à travers la variable NR (abréviation de Number of busy Resource units) -
mise à jour automatiquement par SIMAN, de disposer du taux d’occupation d’une
ressource. Par exemple, une machine constituée de n ressources permet le traitement en
parallèle de n pièces. Une ressource peut être occupée (busy), soit disponible (idle). Par
exemple, considérons une machine, représentée par un bloc Process 1, utilisant une
ressource Resource 1 de capacité égale à 3 (donnée déclarée dans un bloc Resource), la
variable Statistic 4 (champ Name = Statistic 4) permet de connaître le nombre de
ressources Resource 1 occupées au cours du temps (ce nombre pouvant être égal à 0, 1, 2
ou 3) lorsque le champ Expression =NR(Resource 1) (voir figure ci-dessous).

2.c) Le nom du fichier - ainsi que son répertoire si celui-ci est différent du répertoire
contenant l’application - dans lequel sont enregistrées les données issues d’un bloc Record
ou d’une variable SIMAN (NQ ou NR) est indiqué dans le champ Counter Output File ou
Tally Output File (selon que le bloc Record est relatif à un compteur ou un tally) ou Output
File (pour une variable SIMAN NQ ou NR). Le contenu du champ Type est respectivement
égal à Counter, Tally ou Frequency selon que les données sont issues d’un compteur, d’un
tally ou d’une variable SIMAN (NQ ou NR). Afin de disposer des données au format csv
(abréviation de comma-separated-value, « comma » signifiant virgule), il suffit de mettre
l’extension .csv au fichier de sauvegarde. Ce format est reconnu notamment par MatLab
(via la commande CSVREAD) et Excel. Au préalable, il faut indiquer que le fichier de
sauvegarde est au format texte ; pour cela cocher la case Write Statistics Output Files as
Text accessible via le menu Run/Setup/Run Control/Advanced.

Les blocs précédemment décrits, ont pour objectif de modéliser un système physique. La
collecte de résultats spécifiques à un système donné se fait en utilisant des blocs
supplémentaires. Quelques uns de ces blocs sont définit ci-dessous.

a) Le bloc COUNT, issu du template Blocks, permet de compter le nombre d'entités qui
transitent par ce bloc. Le bloc COUNT, dont le nom est spécifié dans le champ Counter ID,
est lié au bloc COUNTERS, issu du template Elements, à travers le champ Name, ce
TP Simulation/ARENA – IIA4 2020/2021 13

dernier permet de déclarer (définir) le (ou les différents) bloc(s) COUNT présent(s) dans la
partie modèle.

b) Le bloc TALLY, issu du template Blocks, permet :


- De recueillir les temps de passage successif de 2 entités. Pour cela, indiquer BET (pour
BETween) dans le champ Value.
- De recueillir les temps mis par les entités traversant une partie (ou l'ensemble) d'un
modèle. Par exemple, on souhaite pour chaque entité recueillir la différence entre le temps
de sortie du bloc fonctionnel M et le temps de sortie du bloc fonctionnel N. Soient t N (i ) et
t M (i) les temps de sortie de l'entité n° i des blocs N et M respectivement (cf. schéma
suivant).

Pour réaliser cela, on dispose :


- Un bloc ASSIGN (juste) après le bloc N afin d'assigner le temps de passage, à savoir
TNOW, de chaque entité dans un attribut, noté par exemple Tps_entrée (un attribut est une
variable associée individuellement aux entités).
- Un bloc TALLY (juste) après le bloc M afin de disposer des temps de parcours de la sortie
du bloc N au bloc M. Pour cela, indiquer dans le champ Value la donnée « INT(Tps_entrée)
» (INT pour INTerval). (Voir le schéma suivant).

Le bloc TALLY11 est lié au bloc TALLIES, issu du template Elements, à travers le champ
Name, ce dernier permet de nommer le (ou les différents) bloc(s) TALLY utilisé(s) dans la
partie modèle. Voir plus bas en ce qui concerne un éventuel enregistrement des données.
Le bloc ASSIGN est lié au bloc ATTRIBUTES, issu du template Elements, à travers le
champ Name qui permet de nommer un attribut.
TP Simulation/ARENA – IIA4 2020/2021 14

I.4 Quelques remarques pour lancer une simulation

Certains blocks n’apparaissent pas lors du lancement du logiciel, on peut donc les rajouter
comme suit :

Puis on choisit la bibliothèque de blocks que l’on désire rajouter :

Pour lancer la simulation d’un exemple on procède comme suit :

Run
TP Simulation/ARENA – IIA4 2020/2021 15

Il est également possible de tester si le modèle est correct ou s’il existe des erreurs de
modélisation par l’option « Check Model » :

II. Illustration

Afin de mieux se familiariser avec le logiciel de simulation ARENA et des différents


blocs, décrits dans les parties précédentes, nous proposons de présenter un exemple à
suivre, étape par étape, en détaillant les différents champs à saisir et les blocs à insérer.

Considérons un simple tapis roulant, ayant un temps de transport de 3 unités de temps. Le


modèle RdP correspondant à la partie modèle du modèle logiciel précédent est décrit dans
la figure suivante :

Le modèle logiciel ARENA est 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.

Les champs du bloc Create sont les suivants :


- le champ Name : Create 1 ;
- le cadre Time Between Arrivals, comportant les champs :
 le champ Type : Constant,
 le champ Value : 2,
 le champ Entities per Arrival : 1,
 le champ Max Arrivals : Infinite,
 le champ First Creation : 0.0.
TP Simulation/ARENA – IIA4 2020/2021 16

Les valeurs considérées sont telles qu'une (1) entité est créée toute les 2 unités de temps à
partir de l’instant 0, ceci une infinité de fois. Le bloc Delay force, donc, une entité à
séjourner 3 unités de temps dans le bloc.

Les champs du bloc Delay sont les suivants :


- le champ Name : Delay 1;
- le champ Delay Time : 3
Le bloc Delay force une entité à séjourner 3 unités de temps dans le bloc.

Le champ Name du bloc Dispose est : Dispose 1


Le bloc Dispose détruit toute entité entrant dans le bloc.

Les blocs Project, Replicate sont issus du template Elements. Le bloc Project permet
notamment de donner un nom au projet (Premier exemple) et le nom du programmeur
(ISTIA), de manière analogue à l'entête d'un programme informatique. Le bloc Replicate
permet notamment de fixer le temps où se termine la simulation, ici égale à 10 unités de
temps (champ : Replication Length).

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


 le nombre de réplications (champ Number of Replications = 1),
 le temps où se termine une réplication (champ Replication Length = 10).
TP Simulation/ARENA – IIA4 2020/2021 17

A travers le menu Run/Setup/Project Parameters, on peut notamment donner :


 un titre au projet (champ Project Title),
 le nom du programmeur (champ Analyst Name),
 un commentaire (champ Project Description).

Les 2 fichiers - de type texte - générés par SIMAN-ARENA (accessibles à l'aide du menu
Run/SIMAN/View) sont listés ci-dessous.

fichier exemple.mod : (partie modèle)


0$ CREATE, 1:2: NEXT(1$);
1$ DELAY: 3,,Other: NEXT(2$);
2$ DISPOSE: No;
0$, 1$, 2$ sont des étiquettes.
fichier exemple.exp : (cadre expérimental)
PROJECT, "Premier exemple","ISTIA",,Yes,No,Yes,No,No,No,No,No;
REPLICATE, 1,0.0,10,Yes,Yes,0.0,,,24.0,Hours,No,No;
TP Simulation/ARENA – IIA4 2020/2021 18

TP1

Initiation à la simulation par ARENA

L’objectif de cette séance de travaux pratiques est de découvrir le logiciel de simulation et


de tester ses différents blocks usuels à travers un exemple industriel simplifié.

Cas industriel simplifié


Partie I
Un processus industriel comporte deux machines : une machine d’usinage (USIN) suivie
d’un poste de contrôle qualité (CTRQ). Ce processus transforme la matière première MP1
en un produit fini PF1. Le Temps entre deux arrivées successives de MP1 est constant et
est égal à 10 minutes. Le temps nécessaire au processus d’usinage peut être représenté par
une loi normale de paramètres µ=10min et σ= 2min. Le temps nécessaire au processus de
contrôle qualité suit une loi triangulaire de paramètres 3, 6, 9.
A l’issue du contrôle qualité, on observe généralement que 80% des pièces sont conformes
aux exigences du client et que 20% sont rejetées (Non conformes).

1. Programmer et simuler le système ci-dessus sur 10 réplications (10 exécutions


d’un même modèle de simulation) d’une longueur de 480 min chacune.
2. Déterminez :
 le nombre de pièces traitées dans une journée de travail de 8 heures.
 La moyenne des pièces en file d’attente devant chaque poste.
 Le temps moyen d’attente d’une pièce avant d’être traitée par chacun
des postes
 Le taux d’utilisation de chaque poste de travail.
 Temps moyen passé sur la ligne de fabrication de PF1
 Le temps entre deux pièces conformes à la sortie de la ligne de
fabrication
3. Qu’elles sont les améliorations qu’on peut attendre de ce processus si on
procède au remplacement de la machine d’usinage par une nouvelle machine
(loi normale de paramètres µ=6 min et σ= 2 min).
TP Simulation/ARENA – IIA4 2020/2021 19

Partie II
Dans la chaîne de production du produit fini PF1, nous maintenons les valeurs de la loi
normale (µ=6 min et σ= 2 min) pour la machine d’usinage.
L’entreprise décide maintenant de produire un deuxième type de produit fini PF2 fabriqué
à partir de la matière première MP2. Ce produit est réalisé en utilisant la même ligne de
fabrication. Cependant, les temps de traitement au niveau de la machine d’usinage suivent
pour ce produit une loi normale de paramètres µ=7 min et σ= 3 min. A l’entrée de la ligne
de fabrication, 35% des pièces sont de types 1 et 65% sont de type 2. Le temps entre deux
arrivées successives suit une loi exponentielle de moyenne 10 minutes.
A l’issue du contrôle qualité, on observe maintenant que 75% des pièces sont acceptées
(conformes aux exigences du client) et que 25% sont rejetées (Non conformes). Si les
deux types de pièces sont présentes au niveau d’une des deux machines (dans une file
d’attente), la priorité est donnée au traitement de la pièce de type PF1 par rapport à PF2.

1. Programmer et simuler le système ci-dessus sur 10 réplications (10 exécutions


d’un même modèle de simulation) en vous aidant des indications suivantes.

Définir et déclarer au niveau du logiciel les divers éléments suivants :


Les attributs :
*Jobtype = type de la pièce = 1 ou 2 (Loi discrète : disc(0.35,1,1.0,2))
*Priority = la priorité des pièces devant les deux machines (les valeurs de la
priorité prennent la valeur du jobtype : si on a une pièce de type1, elle a la priorité
1, de même pour une pièce de type 2)

Les variables : créez deux types de matrice : une matrice (2 lignes et 1 colonne) de
la moyenne µ (nommée Moyenne) et une matrice (2 lignes et 1 colonne) de l’écart
type σ (nommée Ecart type) en fonction du Jobtype. Cette création se fait à travers
le bloc Variables.

Les ressources : créez les deux machines USIN et CTRQ avec la gestion des files
d’attente correspondante.
 Machine USIN: Lowest Attribute Value
 Machine CTRQ : Lowest Attribute Value

2. Analysez les performances de ce processus


TP Simulation/ARENA – IIA4 2020/2021 20

Partie III
Afin de réduire les dépenses et les gaspillages, on décide de recycler les produits finis non
conformes ayant des non conformités retouchables (estimés à 15% de la production). Ces
derniers repassent alors par la machine USIN pour être réparées. Elles ne sont pas
prioritaires par rapport aux pièces normales.

Le temps de traitement au niveau de la machine d’usinage suit alors une loi normale de
paramètres µ et σ dépendant du type de la pièce (PF1/PF2) et de son état (normale ou
retouchée) dont les valeurs sont les suivantes :
µ σ
Type 1 Type 2 Type 1 Type 2
Pièce normale 6 7 2 3
Pièce refaite 3 4 1 1

1. Programmer et simuler le système ci-dessus sur 10 réplications (10 exécutions


d’un même modèle de simulation).
2. Analysez les performances de ce processus
TP Simulation/ARENA – IIA4 2020/2021 21

TP2

Etude d’un exemple d’équilibrage des chaînes de production

I. Animation graphique

L'animation permet de décrire graphiquement l'évolution dynamique de l'état du système


simulé, notamment à travers une visualisation :
 du flux des entités (par exemple, des pièces circulant le long d'une ligne de
production),
 de l'état des ressources (par exemple, l'état libre (idle), occupée (busy) ou
inactive (inactive) d'une machine, d'un robot),
 de l'évolution des variables, des attributs (par exemple, le contenu d'une
variable indiquant le temps de traitement d'une machine, l'état d'un stock).

L'animation est un moyen très efficace de communication. D'un abord facile, notamment
pour les décideurs non nécessairement initiés aux aspects techniques, elle permet - sous
réserve bien sûr que les conditions de simulation soient crédibles - de mettre en avant les
phénomènes étudiés. Elle permet également lors de la conception du modèle de simulation
de vérifier son bon fonctionnement à travers une visualisation étape par étape du
cheminement des entités dans le modèle de simulation.

I.1 Animation des entités

Une animation, rattachée aux connecteurs, est proposée par défaut (voir option Animate
Connectors dans le menu Object). Elle permet de visualiser le flux des entités le long des
connecteurs, i.e., les liens reliant les modules entre eux :

Connecteur

Notons que le mouvement des entités le long des connecteurs n'a pas d'impact sur le temps
de simulation (TNOW).

L'image initiale utilisée pour représenter un type d'entité donné est définie dans le bloc
Entity (issu du template Basic Process, appartenant au cadre expérimental et donc non
traversé par une entité). L'image est par défaut celle notée Picture.Report et est indiquée
dans le champ Initial Picture du module Entity.

Pour créer une image, cliquez sur le bouton Add de droite, ce qui fait apparaître une case
grise. Le fait de double cliquer dans cette case permet d’ouvrir une fenêtre (Picture Editor)
où il est possible de concevoir une image. Fermer la fenêtre une fois l’image conçue ; elle
apparaîtra alors à la place de la case grise. Le bouton Save permet de sauvegarder dans un
fichier .plb de votre choix la, voire les images créées.
TP Simulation/ARENA – IIA4 2020/2021 22

I.3 La barre d’outils Animation (Animate)

Cette barre d'outils fournit une interface avec les objets de base de l'animation (cocher la
case Animate de la fenêtre issue du menu View/Toolbars… pour faire apparaître – si
nécessaire – cette barre d'outils).

Ces objets sont décrits ci-dessous :


Affichage d'état :
- Clock permet d'afficher le temps de simulation en heures, minutes et secondes,
- Date permet d'afficher le temps de simulation en jours, mois et années,
- Variable permet d'afficher la valeur numérique d'une expression mathématique ou
logique,
- Level affiche la valeur d'une expression relative à des valeurs minimum et maximum
spécifiées,
- Histogram permet d'afficher la distribution de la valeur d'une expression dans une plage
spécifiée,
- Plot permet d'afficher les valeurs passées d'une expression sur une plage de temps
spécifiée.

Zone d'attente :
- Queue permet d'afficher les entités en attente d'un événement spécifié (par exemple, la
disponibilité d'une ressource).

Image :
- Resource permet de disposer d'un objet (par exemple, une machine) à capacité limitée
pouvant être alloué à des entités. Une ressource peut être dans l'état idle, busy ou inactive.
Durant la simulation, l'image d'une ressource change en fonction de son état.
- Global permet d'associer des images à une expression (variable, attribut). Durant la
simulation, l'image de l'expression change en fonction sa valeur par rapport à une valeur
spécifiée.

I.2 La barre d’outils Dessin (Drawing)

Les objets de cette barre d'outils permettent l'ajout de dessins statiques, ou de texte :
TP Simulation/ARENA – IIA4 2020/2021 23

I.3 Quelques blocs utiles pour la modélisation du TP2

 Le bloc "Expression" :

Ce bloc se configure comme le bloc "variable" précédemment expliqué mais au lieu des
entiers, il permet de saisir des expressions entières.

Pour l'utiliser, il faut rajouter la bibliothèque : "Advanced Process".

 Le bloc "Statics" :

Ce bloc permet de paramétrer des variable et de les utiliser parla suite dans la configuration
des blocs utilisés.

Pour l'utiliser, il faut rajouter la bibliothèque : "Elements".

II. Etude de cas

Un atelier de production est composé de deux lignes de fabrication non dédiées


(LGN1/LGN2). Chaque ligne de fabrication est composée de 4 machines : un tour
(TOUR), une fraiseuse (FRAIS), une rectifieuse (RECTIF) et un four (FOUR).
L’alimentation en produit brut se fait par lot (taille du lot = quantité commandée).
L’entreprise fabrique deux types de produits (PF1) et (PF2), pouvant chacun être réalisé
sur l’une ou l’autre des lignes de fabrication, moyennant des temps de cycle machines
différents résumés ci dessous.
Tableau 1: les temps de séjours des PF pour des lignes non spécialisées

TOUR 1 FRAIS 1 RECTIF 1 FOUR1


PF1 Tria (11, 13, 15) Tria (3, 5, 7) Tria (13, 16.5, 19) Tria(5,8,10)
PF2 Tria (2, 4, 6) Tria (10, 13, 15) Tria (8, 10, 12) Tria(5,8,10)
TOUR 2 FRAIS 2 RECTIF 2 FOUR2
PF1 Tria (8, 10, 12) Tria (6, 8, 10) Tria (4, 5, 7) Tria(5,8,10)
PF2 Tria (4, 6, 7) Tria (8, 10, 13) Tria (6, 8, 10) Tria(5,8,10)
TP Simulation/ARENA – IIA4 2020/2021 24

Travail demandé

L’entreprise reçoit une commande de 60 pièces des deux types de produit fini.
1. Modéliser le fonctionnement de l’atelier sur ARENA sachant que l’alimentation en
pièces brutes au niveau de chacune des lignes se fait à 50% pour les pièces de type 1 et
50% par les pièces de type 2. (Nombre de réplications : 10, Longueur d’une
réplication : 1440 minutes).
2. Analyser les performances de cet atelier.
3. Déterminer la quantité de PF1 et PF2 à lancer sur chaque ligne de fabrication afin de
réduire le temps de production tout en assurant l’équilibrage des deux lignes.

Vous aimerez peut-être aussi