Académique Documents
Professionnel Documents
Culture Documents
Cours de Simulation PDF
Cours de Simulation PDF
SYSTMES DE PRODUCTION
RSEAUX DE PETRI
SIMAN - ARENA
Jean-Louis Boimond
Table des matires
1
I INTRODUCTION LA SIMULATION
La simulation est un processus qui consiste :
- Concevoir un modle du systme (rel) tudi,
- Mener des exprimentations sur ce modle (et non pas des calculs),
- Interprter les observations fournies par le droulement du modle et formuler des
dcisions relatives au systme.
Le but peut tre de comprendre le comportement dynamique du systme, de comparer des
configurations, dvaluer diffrentes stratgies de pilotage, dvaluer et doptimiser des
performances.
La simulation est une technique, applique dans ce cours aux systmes de production,
permettant d'tudier le comportement d'un systme dynamique en construisant un modle
logiciel de celui-ci.
NR(Operateur)
Les domaines d'application sont divers. Sont lists ci-dessous quelques classes dapplications
et quelques exemples de problmes typiques rattachs ces classes :
Systmes de flux de production
- quilibrage de lignes dassemblage,
- conception de systmes de transfert entre des postes,
- dimensionnement des stocks dun atelier,
- comparaison de pilotage,
- valuation de la charge prvisionnelle,
- tude de la synchronisation entre les rceptions des pices et lassemblage.
Flux logistiques et systmes de transport
- conception et dimensionnement dentrepts,
- dimensionnement dune flotte de camions,
- tude de procdures de contrle des flux de vhicules en circulation.
2
Production des services
- tude de transactions bancaires,
- gestion de restaurants,
- comparaisons de politiques de maintenance des avions.
Systmes informatiques et tlcommunications
- valuation de protocoles de gestion des transactions de bases de donnes,
- tude de la file dattente mmoire dun serveur,
- tude des comportements des utilisateurs,
- conception et dimensionnement de hubs ( moyeu ).
Autres classes dapplications
- domaine militaire (support logistique, coordination des oprations, ),
- gestion dhpitaux (personnel, lits, service durgence, ),
- le nuclaire, la mto, les jeux, ...
Mthodologie gnrale
Validation
Systme (rel) Modle conceptuel
(a)
Analyse & Modlisation
Programmation
Interprtation Correction
& Action Vrification
Exprimentation(b)
Rsultats Programme de
Correction simulation
(a) Modle conceptuel : Le modle n'est qu'une approximation du systme, il est conditionn
par l'objectif de l'tude.
(b) Exprimentation : Il s'agit de construire des thories, ou hypothses, qui prennent en
compte le comportement observ.
Le passage du systme au modle conceptuel est une tape essentielle pour la simulation.
Dans le cadre de ce cours, on utilise une modlisation conceptuelle par rseaux de Petri (cf.
chp. VII). Le passage du modle conceptuel au modle/programme de simulation se fait en
utilisant le langage Siman-Arena ; ce langage de simulation permet galement dextraire des
rsultats issus de diffrentes exprimentations (cf. chp. VIII).
3
I.1 LTAPE DE MODLISATION
Ltape de modlisation est une phase essentielle la simulation. Diffrents points doivent
tre abords :
Dfinir l'objectif de la modlisation (li au cahier des charges) : Pourquoi modlise-t-on ?
Qu'tudie-t-on ? Que veut-on amliorer, ou faire ?
Dfinir les lments du systme (via la ralisation d'une fonction, ou d'un processus) et les
limites du systme (les entres, les sorties).
Dfinir les interactions entre ces lments (hirarchie).
Dfinir la dynamique du systme (entits qui circulent entre les lments, comportement du
systme au cours du temps).
Abstraction (choisir les lments du systme pertinents pour l'tude).
Formalisation, conceptualisation : Modle mathmatique (algbre (max, +), chanes de
Markov), modle logiciel (Simulink, Siman-Arena), modle graphique (rseaux de Petri,
bond graphs).
4
II LA SIMULATION DES SYSTMES DE PRODUCTION
Les systmes automatiss de production - l'initiative de l'Homme - sont caractriss
par une forte complexit et flexibilit. Selon un certain point de vue, ils peuvent tre spcifis
par des modles vnements discrets (un modle est vnements discrets lorsque lespace
d'tat est vnements discrets, i.e., les transitions entre tats sont associes l'occurrence
d'vnements discrets asynchrones). Les systmes de trafic (arien, ferroviaire, ), les
systmes de communication, les systmes informatiques sont d'autres exemples de systmes
dynamiques dont l'activit est due des vnements discrets, dont certains sont provoqus
(dpart dun train, appui sur une touche d'un clavier) et d'autres pas (panne d'un quipement).
Modle
Systme de Historique, Evaluation de
production statistiques performances
Programme
Un systme de production est constitu d'un systme oprant (physique), d'un systme de
conduite (partie commande) et d'un systme d'informations reliant ces deux derniers. Il est
travers par un flux d'informations (prsence d'une pice, tat d'une machine) et un flux
physique (matire premire, pices). Le systme tudier peut tre existant, modifier ou non
encore construit.
L'historique et les statistiques portent sur les dplacements (temps de sjour des pices, temps
de transports des pices d'un lieu un autre, ...), les taux d'engagements des ressources, les
longueurs des files d'attente, ...
1
Lvaluation de performances se base souvent sur le taux de production (nombre moyen de pices par unit de
temps), le WIP (Work In Process, nombre total de pices dans le systme chaque instant), le makespan
(intervalle de temps entre le dbut et la fin de la production des pices).
5
La simulation permet de rpondre la question que se passe-t-il si ... ? pour l'tude de
systmes de production complexes (structure, comportement dynamique, taille, choix
multiples).
Exemple :
M2
Pices A M1
Pices B
t1A M3
t1B
L'tat du systme un instant donn est caractris par l'ensemble des valeurs des variables
et des attributs de tous les objets. Le modle reproduit l'volution au cours du temps de l'tat3
du systme sous l'effet des activits qui y sont ralises.
2
Les changements dtat de tels systmes soprent instantanment, des moments discrets dans le temps. Par
exemple, si une variable reprsente le nombre de pices dans un stock alors ses valeurs varient seulement aux
instants o des pices entrent, ou sortent, du stock.
3
Dans le cas dune volution continue de ltat, le modle est continu, la description se fait, par exemple, via des
quations diffrentielles, ou des variables dtat. Dans le cas o les changements dtat seffectuent,
instantanment, des instants discrets dans le temps, le modle est vnements discrets, la description se fait,
par exemple, laide dun rseau de Petri. Certains problmes ncessitent des modles dits hybrides, o
apparaissent conjointement des comportements continus et des comportements dus des vnements discrets.
6
Evolution d'une simulation vnementielle : Le modle du systme passe au cours du temps
d'un tat un autre suite au dclenchement d'un vnement. A chaque vnement est associe
une fonction excuter laquelle peut modifier l'tat du systme travers le dclenchement
d'un, ou de plusieurs vnements.
vnement X
Moteur
Excution de
chancier lvnement
vnement C dont la date
doccurrence
vnement B vnements est la plus
vnement A datables proche
- Volume de production :
- Nombre et type de pices produites,
- Nombre et type de pices dfectueuses, ...
Ces indicateurs de performances sont ensuite agrgs pour des prises de dcisions relatives
l'aide la conception, la conduite, ...
7
3. A quel niveau ?
Systme de Modle de
commande Proposition commande
de dcisions
Modle du
Systme
Dcisions Rsultats systme
physique
physique
Le systme prsente un problme (il ne rpond plus aux besoins des utilisateurs).
Bien mettre en vidence les dysfonctionnements par rapport aux besoins et proposer des
solutions permettant de pallier ces dysfonctionnements au moindre cot.
Dfinir les performances mesurer.
Dterminer les ressources goulets (machines, stocks, moyens de manutention,
personnel, ...) qui agissent le plus sur les performances, et pour un scnario de production
donn.
On peut chercher amliorer le systme, soit en agissant sur la capacit des ressources, soit
sur la manire dont on utilise ces ressources (rgles de gestion).
8
b) La simulation : une aide la traabilit (implicite/explicite)
Ralit Simulation
Systme de Modle de
commande Proposition commande
de dcisions
Identification Identification
Identification Identification
Systme Modle du
Dcisions Rsultats systme
physique
physique
On peut chercher synthtiser un systme de traabilit qui soit fiable (le reflet de la ralit)
et robuste (l'outil de simulation permettant la prise en compte de diffrents scenarii possibles,
ceci sans risque pour le systme (rel)).
Les donnes utiliser (recueil non exhaustif) concernent l'ensemble de l'tat (dynamique) du
systme pilot dans le but de retrouver l'historique, l'utilisation ou la localisation d'un article
ou d'une activit, au moyen d'une identification enregistre (1994, ISO 8402) :
- Produits, articles, lots (entits),
- Moyens de production (capacit des machines),
- Stocks, systmes de transfert (tat),
- Oprateurs (qualification, nombre, horaires),
- Systme d'identification,
- Structure de traitement des donnes recueillies.
9
c) La simulation pour dfinir un futur systme
Simulation Ralit
Modle de Systme de
commande commande
Implmentation
Conception
du systme
Modle du Systme
systme physique
physique
Aide la dcision d'investissement :
Choix technologiques et organisationnels : Equipements, stratgies de gestion de production
(gestion des stocks, taille des lots, seuils de rapprovisionnement, nombre de Kanban),
organisation du travail (cellules, lignes, mixte), choix de gamme.
Evaluation des diffrents scnarii en fonction des critres les plus pertinents.
Exemples d'applications :
Dimensionnement d'ateliers : Nombre et type des quipements (en fonction du cot),
capacit des stocks, nature du systme de transport
Choix de production (tude de rentabilit)
10
III RAPPELS DE PROBABILITS ET STATISTIQUES
Sachant qu'il est impossible quelle que soit la puissance des ordinateurs - de simuler
toutes les dviations possibles d'un systme, l'outil statistique est une alternative pour prendre
en compte, tudier et matriser les consquences des variations alatoires des systmes.
La thorie des probabilits, branche des mathmatiques, permet de modliser et d'tudier des
phnomnes alatoires. On parle alors d'vnements alatoires, de lois de probabilit, de
variables alatoires, ...
La statistique repose sur l'observation de phnomnes concrets. Le but est de recueillir des
donnes d'observation, de les traiter et de les interprter. On parle alors de population
d'individus, de variables caractristiques, d'chantillons, de moyennes, ...
Les modles probabilistes permettent de reprsenter approximativement les donnes
observes (imprcision, erreurs, rpartition dans la population) comme des variables
alatoires suivant une certaine loi de probabilit modles simplificateurs.
L'chantillon tant tir au hasard, les caractristiques des donnes traiter sont des variables
alatoires application de thormes de probabilits (par exemple, le thorme centrale
limite4).
4
La moyenne d'un chantillon de taille n extrait d'une population quelconque de moyenne et d'cart type est
distribue selon une loi pratiquement normale de moyenne et d'cart type
quand la taille de l'chantillon
n
est suffisamment grande. Pour une population de dpart de distribution normale, le thorme centrale limite est
valable pour tout n. Pour les distributions rencontres dans la pratique courante, plus la taille de l'chantillon est
grande, plus la loi se rapproche de la loi normale. On peut considrer qu' partir de n gale 30, la moyenne d'un
chantillon est distribue de faon sensiblement normale.
5
Infrence : Opration intellectuelle par laquelle on passe d'une vrit (une proposition) une autre vrit
(proposition), juge telle en raison de son lien avec la premire : La dduction est une infrence.
11
des fonctions intgres dans le modle de simulation (lois de
distributions),
- Interprter statistiquement les donnes gnres par le modle
moyennes, intervalles de confiance, ...
Dfinition de la probabilit
Exemple de la loi uniforme continue : Soit X une variable alatoire susceptible de prendre
toutes les valeurs d'un intervalle fini a, b , sans privilgier aucune rgion de a, b (on parle
d'vnements quiprobables). Aussi, la probabilit que X prenne une valeur appartenant
l'intervalle u, v ( a, b ) est proportionnelle la longueur de u, v , d'o
vu v
P (u X v) , soit P(u X v) f ( x) dx
ba u
1 / (b a) si a x b
o f (x) = .
0 sinon
f(x) aire =
0
a u v b x
12
La fonction f (x) , appele densit de probabilit, dfinit le comportement alatoire
(stochastique) de la variable alatoire X et permet ainsi de caractriser sa loi de probabilit
(distribution).
La loi uniforme (distribution of maximum ignorance) est utilise lorsque l'on a aucune
information excepte la connaissance du domaine a, b .
La plus grande partie des phnomnes alatoires rencontrs dans la pratique peut tre tudie
via un nombre restreint de lois de distribution. Nous allons prsent voir les principales lois
de distributions.
a) LOI TRIANGULAIRE
f(x)
aire = 1
a m b x
13
2( x a )
f ( x ) si a x m
(m a )(b a )
2(b x)
f ( x) si m x b
(b m)(b a )
f ( x) 0 si non
amb a 2 m 2 b 2 am ab mb
D a, b ; M ; 2 .
3 18
b) LOI EXPONENTIELLE
f(x)
1
1
f ( x) e x / si x 0 ( 0)
f ( x) 0 sinon
0 x
D 0, ; M ; .
2 2
Application : Cette loi est souvent utilise en pratique. Par exemple, dans le cas de temps
sparant les arrives de 2 clients successifs dans l'tude d'un phnomne d'attente, ou dans
le cas d'une dure de bon fonctionnement d'un quipement technique.
La loi exponentielle est la seule loi continue permettre la prise en compte de phnomnes
sans mmoire. En effet, la probabilit que X soit suprieure, ou gale, x x0 , sachant que X
est suprieure, ou gale, x0 , dpend de la valeur de x, et est indpendante de la valeur de x0
(on a : P( X x x0 X x0 ) P( X x) ).
Autrement dit, une loi exponentielle modlise la dure de vie dun phnomne sans mmoire,
ou sans vieillissement, ou sans usure : la probabilit que le phnomne dure au moins s + t
units de temps sachant quil a dj dur t units de temps sera la mme que la probabilit de
durer s units de temps partir de sa mise en fonction initiale. Par exemple, il est souvent
admis que la dure de vie T d'un dispositif lectronique obit une loi exponentielle. Aussi la
probabilit de bon fonctionnement dans un intervalle de temps u, u t , c'est--dire
P(T t u T u) , dpend uniquement de la longueur de cet intervalle, et non de sa position
par rapport l'axe des temps (on a : P(T t u T u) P(T t ) ).
14
Dmonstration : Soient l'vnement A correspondant au fait que X x0 et l'vnement B
correspondant au fait que X x0 x . On a P ( X x0 ) f ( x) dx et
x0
P ( X x0 x) f ( x) dx . Aussi P( B A) quivaut P( X x0 x X x0 ) .
x0 x
c) LOI NORMALE
f (x) points d'inflexion
1 f(x) =
2
f (x) 2 petit
2 grand
0
M- M M+ x
Application : Cette loi s'applique dans le cas de processus dont la distribution est symtrique
et pour lesquels la moyenne et l'cart type sont estims. Exemple : Variations de la longueur
de pices fabriques en sries.
Cette loi permet de modliser une donne qui est la somme d'un grand nombre de donnes
alatoires (thorme central limite).
15
F(x) est une fonction continue, monotone croissante, telle que F ( ) 0 et F ( ) 1 ,
F ' ( x) f ( x) . Elle permet de calculer des probabilits de la forme P(a X b) ) sans
effectuer une intgration (ce qui est le cas en utilisant f (x) ) ; en effet
P(a X b) F (b) F (a) .
p (x ) 1
i 1
i si N couvre l'ensemble des valeurs.
La loi est reprsente soit par le diagramme en btons suivant indiquant p( xi ) en fonction de
xi :
p(xi)
1/3
1/6
xi
0
1 2 3 4
6
soit par un histogramme :
p(xi)
1/3
1/6
0 1 2 3 4 xi
6
Ensemble de rectangles de mme largeur dont les surfaces sont proportionnelles aux probabilits p(xi).
16
Dfinitions
N
La moyenne (arithmtique) M est gale xi p( xi ) .
i 1
Exercice : Calculer la moyenne considre dans l'exemple prcdent.
N
La variance 2 est gale ( xi2 p( xi )) M 2 .
i 1
On dfinit la probabilit cumule (notion utilise dans le logiciel SIMAN-ARENA) par
i
p c ( xi ) p ( x l ) .
l 1
1 1 5
Dans l'exemple prcdent, on a : pc ( x1 ) , pc ( x2 ) , pc ( x3 ) , pc ( x4 ) 1.
6 2 6
Application : Les variables alatoires discrtes s'appliquent dans le cas d'injection directe de
donnes empiriques dans le modle. Exemples : Types de pices, taille des lots.
17
IV DONNES D'ENTRE DU SYSTME
La qualit des donnes est aussi importante que la qualit du modle (garbage in -
garbage out) ; ceci concerne, par exemple dans le cas d'un systme de production, les temps
opratoires, les temps de bon fonctionnement, les taux de rebut, ...
Deux cas sont considrer, soit on a une connaissance partielle des donnes du
systme (moyenne, minimum, maximum, ...), soit on dispose des donnes du systme.
18
- Une distribution exponentielle (grande dispersion : forte variabilit) de paramtre M si la
nature du phnomne le justifie.
Il est souvent intressant, pour des raisons thoriques et pratiques, de pouvoir dcrire une loi
de probabilit par une distribution thorique. Ceci revient exprimer sous forme analytique
les probabilits p( xk ) en fonction de l'indice k. On peut alors appliquer au calcul des
probabilits des mthodes bien connues d'analyse mathmatique, vitant ainsi des calculs
numriques fastidieux.
- Si les donnes empiriques sont directement utilises, elles sont entres sous forme de
distributions empiriques cumulatives (histogramme des frquences : regroupement des
observations en classes, nombres de classes = O( n bre d ' observations )).
- Si on veut faire des tirages partir des distributions thoriques, il faut :
a) Choisir une distribution en fonction de sa forme (et celle de l'histogramme des
donnes),
b) Estimer ses paramtres,
c) Tester l'hypothse (la distribution correspond-elle bien aux donnes ?).
19
Nbre de valeurs appartenant la
classe n 1, n2, ... (*)
Cl. 1 . Cl. n
20
V. VRIFICATION ET VALIDATION DES MODLES
Les programmes de simulation se caractrisent par une volution constante (tests de
scnarii, que se passe-t-il si ?, ...). La difficult majeure est de savoir :
Comment avoir confiance dans le modle ?
Comment le transmettre l'utilisateur ?
Avant de tirer des infrences des rsultats statistiques d'un modle/programme de simulation,
il faut s'assurer qu'il est correct au sens o il reprsente bien le systme. Ceci passe
habituellement par deux tapes : la vrification et la validation.
V.1 VRIFICATION
La vrification consiste s'assurer que le modle fonctionne comme le concepteur le
dsire (pas d'erreur de logique), ce qui ncessite de pouvoir isoler les erreurs (tape la plus
difficile) afin de les corriger. La vrification est rendue plus facile si on commence par un
modle simple qu'on amliore (enrichi) progressivement. Les techniques (ou comportement
avoir) suivantes permettent l'isolation des erreurs :
1. Considrer toujours que le modle contient des erreurs et les chercher (approche
destructive, plutt que constructive).
3. Rviser le modle et les donnes avec l'aide d'au moins un client et un connaisseur du
langage (en plus du dveloppeur).
5. Gnrer et analyser la trace du modle (cf. dans SIMAN au bloc TRACE de la bibliothque
ELEMENTS) pour vrifier le cheminement des pices, les changements d'tat l'issue
d'une attente (au niveau d'une file, par une activit, ...).
7. Corriger les erreurs en identifiant les vraies causes et ne pas traiter seulement les
symptmes (le raisonnement logique reste la meilleure approche).
21
- De la phase d'initialisation (units de mesures),
- Du contrle du flux,
- De l'existence de blocages,
- Des erreurs arithmtiques (parenthses, conversion de types, ...),
- Des erreurs d'enregistrement (temps d'arrive des pices, compteurs, ...),
- D'une mauvaise utilisation des primitives ou fonctions du langage.
V.2 VALIDATION
Trois questions doivent tre poses :
Le modle reprsente-t-il correctement le systme rel (validit conceptuelle) ?
Les donnes sur le comportement gnres par le modle sont-elles caractristiques
de celles du systme rel (validit oprationnelle) ?
L'utilisateur a-t-il confiance dans les rsultats du modle (confiance) ?
Les thories et les hypothses doivent tre correctes et la reprsentation du modle doit tre en
adquation par rapport l'utilisation dsire.
22
Il consiste tudier le comportement du modle en relation avec le systme de rfrence.
23
VI INTERPRTATION DES RSULTATS
Selon le logiciel utilis, l'excution d'un programme de simulation peut gnrer :
- Un rapport de simulation comprenant les moyennes, les carts types, les minimums et
maximums des variables observes, ...
- Un historique de l'volution de ces variables au cours de la simulation.
Un tel rapport de simulation ne suffit pas pour tirer des conclusions crdibles sur les
performances du systme. Il suffit de changer le gnrateur de nombres alatoires pour que le
mme modle gnre des rsultats diffrents. L'animation graphique n'est pas suffisante non
plus. En fait, on a souvent tendance se contenter du rapport de simulation et/ou de
l'animation, surtout quand le projet est en retard.
Les rsultats gnrs par un modle jouent le rle de mesures sur un chantillon. Il faut donc
les exploiter pour effectuer des procdures statistiques. A chaque variable (inconnue), il faut
associer un intervalle de confiance.
p(C1 C2 ) 1 .
Il existe deux types de systmes : Les systmes finis c'est--dire, ayant un vnement de fin
qui dtermine la fin de la simulation - et les systmes qui ne se terminent pas - c'est--dire,
n'ayant pas d'vnement de fin de simulation. Par exemple, un commerce qui ouvre et qui
ferme intervalles rguliers est un systme fini ; par contre, un hpital o il y a toujours au
moins un patient est un systme qui n'est pas fini.
24
VI.1 ANALYSE DES SYSTMES FINIS
Ils sont plus faciles analyser que les systmes qui ne se terminent pas. On ne peut contrler
que le nombre des rptitions des expriences. A chaque rptition, on peut utiliser un autre
gnrateur des nombres alatoires.
Si lon change le gnrateur des nombres alatoires d'une rptition l'autre, on peut
considrer que les observations de type b) d'un ensemble de rptitions sont telles que :
- Elles sont indpendantes,
- Les moyennes sont normalement distribues.
Cette dernire proprit est due au fait qu'elles sont sommes, ou moyennes, d'observations
individuelles (thorme central limite).
Les procdures classiques de statistiques peuvent alors s'appliquer pour les moyennes. Pour
les minimums et maximums, certaines procdures de statistiques s'appliquent encore.
A partir des observations de type b), on peut calculer en particulier :
- Des intervalles de confiance autour de la moyenne, du maximum et du minimum,
- Des intervalles de confiance autour de la diffrence entre les moyennes, les maximums
et les minimums de deux systmes diffrents.
Cette comparaison de deux systmes est utile pour valuer par exemple la diffrence entre
deux dimensionnements, deux rgles d'ordonnancement, ... (si l'intervalle de confiance ne
contient pas 0, on peut en dduire que les deux systmes sont diffrents).
Procdure gnrale :
25
VI.2 ANALYSE DES SYSTMES QUI NE SE TERMINENT PAS
On sintresse l'tude des performances stationnaires dun systme du fait dun rgime
transitoire souvent favorable aux performances du systme ; ce peut tre, par exemple, le cas
dun atelier vide au dbut de la simulation. L'tat stable du systme correspond son
comportement aprs un certain temps et est indpendant de l'tat de dpart.
Le but est de calculer un intervalle de confiance autour de la moyenne. Deux problmes
peuvent se poser :
- Pas de point de passage prcis entre le rgime transitoire et le rgime stationnaire,
- Corrlation entre les observations.
C'est cette dernire mthode qui est couramment utilise. Il existe certaines rgles pour
slectionner la partie tronquer, mais il n'y a aucune mthode compltement satisfaisante. La
plus utilise est d'valuer (visuellement) la priode transitoire l'aide des graphes (courbes,
histogrammes, moyennes mobiles).
Intervalles de confiance
Deux mthodes sont couramment utilises :
- Rptition d'expriences indpendantes comme pour les systmes finis (problme du
rgime transitoire chaque fois),
- Longue simulation et dcompositions des donnes gnres en sous-ensembles (batchs).
Ici encore, les conditions du thorme central limite sont considres vraies et le calcul de
l'intervalle de confiance justifi (indpendance et normalit des observations X j ).
Indications : n = 10. lag*,
m de 10 20.
Corrlogramme lag* : Le plus grand nombre d'observations pour lequel la
corrlation est encore significative.
Cette mthode (prsente pour des variables ne dpendant pas du temps comme le nombre de
pices finies) est videmment applicable pour les variables persistantes (dpendant du temps)
comme les tailles des files d'attente. Il suffit de dfinir les batchs par des intervalles de temps
rguliers au lieu d'un nombre fix de donnes.
26
VII NOTIONS ELMENTAIRES SUR LES RSEAUX DE PETRI
VII.1 GNRALITS
Dfinition (Rseau de Petri)
Un rseau de Petri (RdP) est un graphe constitu de 2 sortes de nuds : Les places
(reprsentes par des ronds) et les transitions (reprsentes par des barres). Le graphe est
orient : Des arcs vont d'une sorte de nuds l'autre (jamais de places places, ou de
transitions transitions directement). Voir exemple dans la figure suivante.
T1 T4
P3
P1 P5
T2 T5 P7
P2 P6
P4
T3 T6
De faon plus formelle, un RdP peut-tre dfini par un 4-uplet <P, T, Pr, Post> tel que :
P P1 , P2 ,, Pn est un ensemble fini et non vide de places ;
T T1 , T2 ,, Tm est un ensemble fini et non vide de transitions ;
Pr : P T 0, 1 est l'application d'incidence avant ;
Post : P T 0, 1 est l'application d'incidence arrire.
Pr ( Pi , T j ) est le poids de l'arc (orient) reliant la place Pi la transition T j ; ce poids vaut
1 si l'arc existe et 0 sinon.
Post ( Pi , T j ) est le poids de l'arc (orient) reliant la transition T j la place Pi .
27
Exercice : Exprimer sous une forme matricielle les applications Pr et Post relatives au RdP
prcdent. Valider travers quelques exemples le bon fonctionnement de lquation
dvolution du marquage : = + ( ) ,
o est le vecteur de tirs permettant une volution du vecteur de marquage, de vers .
a b c d
t t
On notera aussi l'existence de RdP temporels, pour lesquels on associe aux places et/ou aux
transitions une temporisation dont la valeur peut se situer l'intrieur d'un intervalle a, b.
28
VII.2 GRAPHES D'VNEMENTS
Restrictions et capacits de modlisation
Les graphes d'vnements sont une sous-classe de RdP pour lesquels toute place a exactement
une transition amont et une transition aval (les situations reprsentes dans les figures a et b
prcdentes sont interdites). Aussi, les graphes d'vnements peuvent modliser des
phnomnes de synchronisation, mais pas de concurrence.
A l'oppos, les graphes d'tat refusent les configurations reprsentes dans les figures c et d
prcdentes pour ne retenir que celles reprsentes dans les figures a et b. Aussi, les graphes
d'tat, tels que toute transition a exactement une place d'entre et une place de sortie,
permettent de visualiser des phnomnes de concurrence (dcision), mais pas de
synchronisation.
VII.3 EXEMPLES
Soit une machine reprsente dans la figure suivante. Chaque pice qui arrive est, soit traite
immdiatement par la ressource machine, soit mise en attente dans le stock ( capacit infinie)
jusqu' ce que la ressource machine soit disponible. Le temps de traitement de la ressource
machine est de 3 units de temps. Aprs traitement, chaque pice sort.
arrive sortie
pice pice
stock ressource
machine
Le RdP suivant modlise ce systme.
ressource machine libre
Dmarrage
Arrive Sortie
pice pice
stock 3
ressource machine occupe
L'tat du systme modlis par le RdP est reprsent par le marquage dfinissant le nombre
de jetons contenus dans chaque place. L'volution de l'tat (reprsentant la dynamique du
systme) correspond l'volution du marquage (produit par le franchissement de transitions).
29
Modifications
Arrive
Sortie
pice
pice
stock 3
ressource machine occupe
b) Le stock en amont de la ressource machine est remplac par un convoyeur correspondant
une file compose de 5 compartiments (gestion First-In, First-Out du convoyeur). Le
temps de dplacement du convoyeur est de 6 units de temps. Le systme est reprsent
par le modle RdP suivant.
Arrive
pice Dmarrage
Dmarrage
Sortie
pice
3
ressources machine occupes
d) La machine a un temps de setup de 1,5 units de temps. Le systme est reprsent par le
modle RdP suivant.
ressources machine libres
Dmarrage 1,5
Sortie
pice
3
ressources machine occupes
VII.4 AUTRES CLASSES DE RSEAUX DE PETRI
Rseau de Petri synchronis
30
Un ensemble d'vnements externes est associ au RdP ; ces vnements permettent le
franchissement de certaines transitions. Un tel RdP est dit synchronis.
Considrons le RdP modlisant la machine dcrite dans VII.3. On associe ce RdP l'ensemble
d'vnements A, D, S o A dsigne l'vnement Arrive pice , D l'vnement
Dmarrage service , S l'vnement Sortie pice . La figure suivante reprsente le
systme modlis par un RdP synchronis. ressource machine libre
T1
Dmarrage T3
Arrive Sortie
pice pice
T2
stock D 3 S
A ressource machine
occupe
Le tir de la transition T1 est li l'occurrence de l'vnement A.
Le tir de la transition T2 est li :
- A la validation de la transition, matrialise par la prsence d'au moins un jeton dans la
place stock et d'un jeton dans la place ressource machine libre ;
- Au dmarrage effectif du service (occurrence de l'vnement D).
Le tir de la transition T3 est li l'occurrence de l'vnement S.
Assemblage
transition transition
franchissable non franchissable
31
VIII LE LANGAGE DE SIMULATION SIMAN-ARENA
SIMAN-ARENA7 - conu en 1982 par C.D. Pedgen de System Modeling Corporation - est un
langage de simulation du type interaction de processus, ARENA reprsentant la version
graphique de SIMAN. La description du modle (logiciel) du systme simul se fait
l'aide d'un assemblage constitu de mise en srie, en parallle ou en feedback de diffrents
blocs fonctionnels, issus de bibliothques (templates) dARENA. Une telle approche de
modlisation permet d'obtenir une structure du modle (logiciel) proche de celle du systme
(rel) simuler.
Attribut : Un attribut est une variable associe individuellement aux entits (la variable est
locale) pour reprsenter leurs tats ou des paramtres qui leur sont propres. Par
exemple, chaque entit, reprsentant une pice circulant dans un atelier, peut avoir
les attributs suivants :
- Type_de_piece afin de dsigner le type d'une pice (par exemple, Type_de_piece =
A ou B) ;
- Indice_de_priorite afin de dsigner l'indice de priorit d'une pice (par exemple,
Indice_de_priorite = faible ou importante) ;
- Date_arrivee_ds_le_modele (par exemple, Date_arrivee_ds_le_modele = TNOW).
Variable globale : Une variable globale concerne l'ensemble du modle. Par exemple, la
variable TNOW (variable prdfinie dans SIMAN) dsigne la date laquelle se trouve
la simulation, c'est le temps courant - mis jour chaque avance dans l'chancier
des vnements scoulant durant une simulation du modle.
Le principe de fonctionnement du logiciel ARENA est de suivre chacune des entits voluant
d'un bloc fonctionnel vers un autre dans le modle, de sa cration sa destruction.
Lordonnancement dans le temps des diffrents vnements rattachs l'volution des entits
dans les blocs constituant le modle se fait au travers dun chancier.
Quand une entit est introduite dans un bloc fonctionnel, elle dclenche/active le service
qui lui est associ, ce qui provoque une modification de l'tat du modle. Un service peut
agir :
7
Une documentation lectronique est fournie avec le logiciel SIMAN-ARENA travers diffrents fichiers
(ArenaBEUsersGuide.pdf, ArenaVariablesGuide.pdf, ArenaSEUsersGuide.pdf) accessibles dans le rpertoire
\Rockwell Software\Arena\.
32
- 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 reprsentant une pice,
prsente dans le bloc, la valeur importante ;
- sur les variables globales du modle logiciel. Par exemple, le passage dune entit dans
un bloc Delay provoque un retard pur, ce qui aura une consquence sur la variable
TNOW.
Un programme (ou modle logiciel) labor avec ARENA est sauvegard dans un fichier
ayant pour extension .doe et est constitu :
- d'une partie modle, qui reprsente l'algorithme dcrivant les caractristiques statiques et
dynamiques des diffrents blocs fonctionnels composant le modle ;
- du cadre exprimental, qui regroupe les donnes prcisant les paramtres spcifiques
une simulation donne (conditions initiales, dure de la simulation, ).
En fait, les entits traversent uniquement les blocs fonctionnels de la partie modle.
Le bloc Create, issu du template Basic Process, est tel qu'une entit est cre partir de
linstant 0, ceci toute les 2 units de temps.
Le bloc Delay, issu du template Advanced Process, force une entit sjourner 3 units de
temps dans le bloc.
Le bloc Dispose, issu du template Basic Process, dtruit toute entit entrant dans le bloc.
33
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).
34
Les 2 fichiers gnrs par SIMAN-ARENA (au format txt) sont accessibles via le menu
Run/SIMAN/View (voir ci-dessous un listage partiel de ces fichiers).
PROJECT,"Premier exemple","ISTIA",,,No,Yes,Yes,Yes,No,No,No,No,No,No;
REPLICATE, 1,,HoursToBaseTime(10),Yes,Yes,,,,24,Hours,No,No,,,Yes;
Le modle RdP correspondant la partie modle du modle logiciel prcdent est dcrit dans
la figure suivante :
Afin de bnficier dune animation, nous allons utiliser les templates Basic Process et
Advanced Process. Sont dcrits en Annexe les templates Blocks et Elements lesquels
contiennent des blocs plus lmentaires ( chacun de ces blocs correspond une ligne dans les
fichiers gnrs par SIMAN-ARENA).
Des liens sont utiliss pour permettre les assemblages en srie, en parallle, en feedback, entre
les blocs, voir une illustration de tels assemblages dans le RdP qui suit.
35
VIII.2 DESCRIPTION DE QUELQUES BLOCS PERMETTANT LA
CONSTRUCTION DUN MODLE
a) Create (issu du template Basic Process) : Un bloc Create permet de crer des entits. Celui
reprsent dans la figure suivante est intitul Create 1 (champ Name = Create 1). Sont
indiqus dans le cadre Time Between Arrivals :
- la priode de cration des lots dentits (par exemple : champ Type = Constant, champ
Value = 2),
- la taille des lots (champ Entities per Arrival = 1),
- le nombre total de lots crer (champ Max Arrivals = Infinite),
- la date de cration du premier lot (champ First Creation = 0).
Les valeurs considres sont telles qu'1 entit est cre toute les 2 units de temps partir de
linstant 0, ceci une infinit de fois.
Entities per
Arrival (1) P
Max First
Arrivals Creation Sortie de
() (0) lentit du
bloc Create
36
Type:Value (2)
Le nombre de jetons prsents dans la place P correspond au nombre d'entits cres par le
bloc Create 1. Notons que le bloc Create na pas dentre.
b) Dispose (issu du template Basic Process) : Un bloc Dispose permet de dtruire des entits.
Celui reprsent dans la figure suivante est intitul Dispose 1 (champ Name = Dispose 1), une
entit entrant dans ce bloc est immdiatement dtruite.
En termes de RdP, ce bloc, qui na pas de sortie, quivaut une transition puit, c'est--dire,
une transition sans place situe en aval.
c) Delay (issu du template Advanced Process) : Un bloc Delay permet de retarder le passage
d'entits. Celui reprsent dans la figure suivante est intitul Delay 1 (champ Name = Delay
1), quand une entit entre dans ce bloc, elle y reste inconditionnellement pendant la dure
(alatoire ou non) indique dans le champ Delay Time.
Delay Time
Le nombre de jetons prsents dans la place correspond au nombre d'entits prsentes dans le
bloc Delay.
d) Seize (issus du template Advanced Process) : Une entit prsente dans un bloc Seize ne
peut sortir de ce bloc que sil existe un nombre suffisant de ressources disponibles (le nombre
et le type de ressources tant spcifis dans le bloc) ; en attendant lentit est stocke
37
( patiente ) dans une file dattente 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).
Le bloc reprsent dans la figure suivante est intitul Seize 1 (champ Name = Seize 1). Pour
simplifier la comprhension, considrons que seulement un type de ressource est concern
(dans lexemple, Resource 1), alors :
- le nom de la ressource est spcifi dans le champ Resource Name, soit Resource Name =
Resource 1 (lajout dun autre type de ressource donnerait lieu une ligne supplmentaire
dans la liste Resources),
- le nombre (minimum) de ressources (de type Resource 1) disponibles est spcifi dans le
champ Quantity, par exemple Quantity = 1.
Sachant qu'une ressource peut ne pas tre disponible, les entits, en attente d'un nombre
suffisant de ressources disponibles, sont stockes dans une file d'attente, intgre (en amont)
au bloc Seize, et dont le nom est indiqu dans le champ Queue Name (soit Queue Name =
Seize 1.Queue).
Le RdP suivant permet de dcrire un bloc Seize dans le cas o un seul type de ressource (dans
lexemple, Resource 1) est requis.
File dattente Saisie de (Quantity = 1) ressources
(Seize 1.Queue) (Resource Name = Resource 1)
Quantity ressources
Entre d'une entit disponibles
dans le bloc Seize
P2
Sortie de l'entit
T du bloc Seize
P1
38
- contenir (au moins) un jeton dans la place P1, ce qui correspond la prsence dans la file
dattente d'au moins une entit dans le bloc Seize.
- contenir (au moins) Quantity jetons dans la place P2, ce qui signifie quau moins
Quantity ressources Resource Name sont disponibles.
Le fait de franchir la transition T a pour effet d'ter 1 jeton dans la place P1 et dter Quantity
jetons dans la place P2, ce qui reprsente la sortie dune entit du bloc Seize et la saisie de
Quantity ressources Resource Name.
Le nombre de jetons prsents dans la place P1 correspond au nombre d'entits prsentes (en
attente) dans le bloc Seize.
Une file dattente est caractrise (configure) par le bloc Queue (issu du template Basic
Process, appartenant au cadre exprimental et donc non travers par une entit), voir la
figure suivante :
- le champ Name permet de dclarer une file dattente, par exemple Seize 1.Queue,
- le champ Type permet dindiquer le mode de gestion de la file dattente. Par dfaut, le
mode de gestion est de type First In, First Out (FIFO).
Le bloc Queue permet de dfinir plusieurs files d'attente dans un mme modle.
Les types de ressource, ainsi que le nombre pour chaque type de ressources, sont indiqus
dans le bloc Resource (issu du template Basic Process, appartenant au cadre exprimental
et donc non travers par une entit), voir la figure suivante :
- le champ Name permet de dclarer une ressource, par exemple Resource 1,
- le champ Capacity permet de dfinir le nombre dunit de la ressource, par exemple 1.
Le bloc Resource permet de dfinir plusieurs types de ressources dans un mme modle.
e) Release (issu du template Advanced Process) : Un bloc Release permet de relcher des
ressources. Celui reprsent dans la figure suivante est intitul Release 1 (champ Name =
Release 1). Quand une entit entre dans ce bloc, elle libre (relche) la, ou les ressources dont
le nom est spcifi dans le champ Resource Name, par exemple Resource 1, le nombre de
ressources libres est spcifi dans le champ Quantity, par exemple 1. On peut noter que
lexcution de cette tche est instantane, autrement dit le temps de passage dune entit dans
un bloc Release est nul. Pour simplifier, seul un type de ressource est concern (dans
lexemple, Resource 1), lajout dun autre type de ressource donnerait lieu une ligne
supplmentaire dans la liste Resources.
39
Le RdP suivant permet de dcrire un bloc Release dans le cas o un seul type de ressource
(dans lexemple, Resource 1) est libr.
P1
Quantity
ressources
disponibles
f) Assign (issu du template Basic Process) : Un bloc Assign permet dassigner une valeur,
notamment, un attribut, une variable (ventuellement propre SIMAN, par exemple relative
ltat dune ressource), durant lexcution dune simulation. Quand une entit entre dans un
bloc Assign, lexpression - logique ou mathmatique - spcifie dans le champ New Value est
value et assigne, selon le contenu du champ Type (Attribute, Variable, ), un attribut
(rattach lentit activant le bloc) ou une variable. Dans la figure suivante, le bloc
intitul Assign 1 (champ Name = Assign 1) permet de dclarer :
- une variable Variable 1 1 ;
- un attribut Attribute 1 TNOW ;
- une variable Variable 2 STATE(resource 1). La variable STATE(resource 1) restitue
ltat courant de la ressource resource 1 (les valeurs possibles sont : -1=Idle ; -2=Busy ;
-3=Inactive ; -4=Failed) ;
- une Variable 3 Attribute 1.
Cet exemple est propos dans \Exemples\Assign\Assign.doe.
40
Le RdP suivant permet de dcrire le bloc Assign 1.
Variable 1 := 1
Attribute 1 := TNOW
Variable 2 := STATE(resource 1)
Variable 3 := Attribute 1
Le bloc Variable (issu du template Basic Process, appartenant au cadre exprimental et donc
non travers par une entit) permet de dclarer des variables.
g) Decide (issu du template Basic Process) : Un bloc Decide permet daiguiller un flux
dentits vers diffrents blocs de destination, il comporte une entre et plusieurs sorties.
Laiguillage est ralis, selon le contenu du champ Type, daprs un critre de type condition,
41
ou probabilit. Les conditions sont par exemple bases sur des valeurs dattributs, 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 teste de
manire squentielle (i.e., dans lordre de leurs dclarations dans le bloc). La branche
slectionne par une entit est la premire branche pour laquelle la condition de branchement
est satisfaite ; lentit est alors aiguille vers le bloc correspondant. Si aucune branche nest
satisfaite, lentit est dtruite. Un bloc Decide, intitul Decide 1 (champ Name = Decide 1),
est dcrit dans la figure suivante. Le critre daiguillage vers les 2 sorties possibles est ralis
partir de la condition If Variable 1 >= 1 (avec un rsultat True ou False).
Le critre utilis par le bloc Decide 2 est de type probabilit (2 sorties, ayant chacune une
probabilit gale 0.5, sont possibles).
42
Le RdP suivant permet de dcrire un bloc Decide.
Notons que toutes les sorties dun bloc Decide doivent tre connectes un bloc
(ventuellement un bloc Dispose si la sortie nest pas utile ).
Match 1.Queue1
Le bloc Queue (issu du template Basic Process) dcrit ci-dessous indique la dfinition des
files dattente Match 1.Queue1 et Match 1.Queue2.
43
Voir une description du bloc Match 1 l'aide du RdP suivant.
synchronisation
Entres du Match 1.Queue1 Sorties du
bloc Match bloc Match
Match 1.Queue2
Notons que toutes les sorties dun bloc Match doivent tre connectes un bloc
(ventuellement un bloc Dispose si la sortie nest pas utile ).
i) Batch (issu du template Basic Process) : Un bloc Batch permet de regrouper des entits
entre-elles. Les entits une fois regroupes gnrent la sortie dune entit (notons que cette
entit peut avoir un nouveau Type dentit, ce qui peut tre indiqu dans le champ
Representative Entity Type). Le groupement peut tre rversible (ou non) selon que le champ
Type = Temporary (ou Permanent) : un regroupement rversible (Temporary) permet en
utilisant un bloc Separate - de dgrouper par la suite les entits. Le nombre ncessaire
dentits pour former un groupe est indiqu dans le champ Batch Size. Une entit arrivant
dans un bloc Batch est place dans la file dattente associe au bloc, ceci tant que le nombre
dentits accumules dans la file dattente nest pas suffisant pour effectuer un regroupement.
Le champ Rule assign la valeur By Attribute permet deffectuer le regroupement dentits
en fonction dun attribut, dans le cas contraire (cas par dfaut) le champ Rule est assign la
valeur Any Entity.
Un exemple est dcrit dans la figure suivante :
44
Le RdP suivant dcrit le comportement du bloc Batch 1.
Entre du Sortie du
bloc Batch bloc Batch
Batch Size
(2)
j) Separate (issu du template Basic Process) : Un bloc Separate permet de dupliquer des
entits lorsque le champ Type = Duplicate Original. Le nombre de duplication cre est
spcifi dans le champ # of Duplicates. Lorsquune entit entre dans ce bloc et comporte des
attributs, les attributs de toutes les entits dupliques sont identiques aux valeurs courantes
des attributs de lentit dupliquer. L'entit originale sort par la sortie Original, les # of
Duplicates entits (celles dupliques) sortent par la sortie Duplicate. Un bloc Separate,
intitul Separate 1 (champ Name = Separate 1), est dcrit dans la figure suivante. Un
exemple est donn dans \Exemples\Separate\Separate.doe.
45
Le RdP qui suit permet de dcrire un bloc Separate.
Entre de
Sortie de lentit
lentit
originale
# of
Duplicates Sortie de
(# of Duplicates)
entits dupliques
46
temps (relatif au temps de traitement) minimum indiqu dans le cadre Delay (le
relchement de la ressource est suppos ralis en aval).
3i) Seize Delay Release, idem. au cas 2i) avec une gestion au niveau du relchement de la
ressource saisie .
4i) Delay Release, idem. au cas 3i) sans la gestion de lallocation de la, voire des
ressources ncessaires au traitement dune pice (cette gestion est suppose ralise en
amont du bloc).
Le RdP correspondant au cas i) est dcrit au VIII.2.c. Les RdP correspondant au cas 2i, 3i, 4i
sont issus de concatnation des RdP dcrits au VIII.2.c,d,e.
Les blocs dcrits au VIII.2 permettent de modliser un systme physique, sans pour autant
fournir dinformations (exceptes celles donnes par dfaut dans le rapport final). La collecte
dinformations spcifiques se fait en utilisant des blocs supplmentaires. Quelques-uns de ces
blocs sont dcrits ci-dessous. Un exemple est donn dans le fichier
\Exemples\Record_Statistic\Stat_File.doe.
1) Le bloc Record (issu du template Basic Process) permet, selon le contenu du champ Type,
de :
- compter le nombre d'entits traversant le bloc (Type = Count) (voir 1.a)) ;
- recueillir les temps de passage successif de 2 entits (Type = Time Between) (voir 1.b)) ;
- recueillir les temps mis par les entits traversant une partie (ou l'ensemble) d'un modle
(Type = Time Interval) (voir 1.c)).
1.a) Lorsque le champ Type = Count, le bloc Record permet de compter le nombre d'entits
qui transitent par ce bloc. Le compteur s'incrmente d'une valeur (Value, par dfaut gale 1)
chaque passage d'une entit. Le nom du compteur est spcifi dans le champ Counter Name.
Voir le bloc Statistic (voir 2.b) pour effectuer un enregistrement des donnes.
transition
compteur = + 1
47
1.b) Lorsque le champ Type = Time Between, le bloc Record permet de recueillir les temps de
passage entre 2 entits successives. Le nom du tally8 est spcifi dans le champ Tally Name.
Voir le bloc Statistic (voir 2.b) pour effectuer un enregistrement des donnes.
transition
X
X(k + 1) - X(k)
X(k) : tps de
franchissement
de lentit n k
1.c) Lorsque le champ Type = Time Interval, le bloc Record permet de recueillir les temps
mis par les entits traversant une partie (ou l'ensemble) d'un modle. Le nom du tally est
spcifi dans le champ Tally Name.
Par exemple, on souhaite pour chaque entit recueillir la diffrence entre le temps de sortie du
bloc M et le temps de sortie du bloc N. Soient t N (i), t M (i) les temps de sortie de l'entit n i des
blocs N et M respectivement (cf. schma suivant).
Bloc N Bloc M
tN (i) tM (i)
8
"To keep a tally of " signifie "tenir le compte de ".
48
Assign Record 1
Bloc N (Attribute 1 Bloc M (Attribute
= TNOW) Name =
Attribute 1)
tN (1),
tN (2), tM (1),
. tM (2),
. .
tM (1) - tN (1), .
tM (2) - tN (2),
.
.
49
2i) A travers une statistique, note Statistic 2, on peut disposer de la moyenne, du minimum,
du maximum du nombre de ressources, par exemple, Resource 1, occupes. Pour cela,
prendre la configuration suivante :
champ Name = Statistic 2, champ Type = Time-Persistent, champ Expression =
NR(Resource 1) (voir figure ci-dessous).
3i) A travers une statistique, note Statistic 3, on peut disposer de donnes statistiques de la
file d'attente, par exemple, Process 1.Queue, classes par catgorie, avec pour chacune des
catgories, son nombre d'occurrences, le temps moyen de chaque occurrence et le pourcentage
des temps d'occurrences par catgorie. Considrons, par exemple, les 3 catgories suivantes :
- Vide lorsque la file d'attente ne contient pas d'entit ;
- Moitie chargee lorsque la file d'attente contient entre 1 et 10 entits ;
- Chargee au-del de 10 entits.
Pour cela, prendre la configuration suivante :
champ Name = Statistic 3, champ Type = Frequency, champ Frequency Type =
Value, champ Expression = NQ(Process 1.Queue), 3 lignes dfinir dans le
champ Categories, savoir :
4i) A travers une statistique, note Statistic 4, on peut disposer de donnes statistiques de la
ressource, par exemple Resource 1, classes par catgorie, avec pour chacune des catgories,
son nombre d'occurrences, le temps moyen de chaque occurrence, et le pourcentage des temps
d'occurrences par catgorie. Considrons, par exemple, les 4 catgories suivantes :
- Zero lorsque la ressource est libre ;
- Une lorsqu'une (seule) ressource est occupe ;
- Deux lorsque 2 ressources sont occupes ;
- Trois lorsque toutes les ressources (c'est--dire, 3) sont occupes.
Pour cela, prendre la configuration suivante :
champ Name = Statistic 4, champ Type = Frequency, champ Frequency Type =
Value, champ Expression = NR(Resource 1), 4 lignes definer dans le champ
Categories, savoir :
50
2 Constant 1 Une Include
3 Constant 2 Deux Include
4 Constant 3 Trois Include
L'animation est un moyen trs efficace de communication. D'un abord facile, notamment pour
les dcideurs non ncessairement initis aux aspects techniques, elle permet - sous rserve
bien sr que les conditions de simulation soient crdibles - de mettre en avant les phnomnes
tudis. Elle permet galement lors de la conception du modle de simulation de vrifier son
51
bon fonctionnement travers une visualisation tape par tape (voir commande Step | ) du
cheminement des entits dans le modle de simulation.
Une animation, rattache aux connecteurs, est propose par dfaut (voir option Animate
Connectors dans le menu Object). Elle permet de visualiser le flux des entits le long des
connecteurs, i.e., les liens reliant les modules entre eux :
connecteur
Create
0 Process
0
Notons que le mouvement des entits le long des connecteurs n'a pas d'impact sur le temps de
simulation (TNOW).
La simulation de temps de transport ncessite l'utilisation du bloc STATION du template
Advanced Transfer.
L'image initiale utilise pour reprsenter un type d'entit donn est dfinie dans le bloc Entity
(issu du template Basic Process, appartenant au cadre exprimental et donc non travers par
une entit). L'image est par dfaut celle note Picture.Report et est indique dans le champ
Initial Picture du module Entity. Le changement de l'image associe une entit se fait via
son passage dans un bloc Assign en assignant une nouvelle image l'attribut Entity Picture
(par exemple, Type : Entity Picture, Entity Picture : Picture.Truck).
Le menu Edit/Entity Picture permet d'accder d'autres images (contenues dans des fichiers
.plb). Le bouton Open permet douvrir un fichier .plb particulier, lequel contient des images.
Par exemple, le fichier machine.plb met disposition des images relatives des machines.
Il est galement possible de crer ses propres images, lesquelles seront sauvegardes dans un
fichier .plb. Pour crer une image, cliquez sur le bouton Add de droite, ce qui fait apparatre
une case grise. Le fait de double cliquer dans cette case permet douvrir une fentre (Picture
Editor) o il est possible de concevoir une image. Fermer la fentre une fois limage conue ;
elle apparatra alors la place de la case grise. Le bouton Save permet de sauvegarder dans un
fichier .plb de votre choix la, voire les images cres.
Cette barre d'outils fournit une interface avec les objets de base de l'animation (cocher la case
Animate de la fentre issue du menu View/Toolbars pour faire apparatre si ncessaire
cette barre d'outils).
- Zone d'attente :
- Queue permet d'afficher les entits en attente d'un vnement spcifi (par exemple, la
disponibilit d'une ressource).
- Image :
- Resource permet de disposer d'un objet (par exemple, une machine) capacit limite
pouvant tre allou des entits. 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 spcifie.
Les objets de cette barre d'outils permettent l'ajout de dessins statiques, ou de texte :
Line Polyline Arc Bezier curve Box Polygon Ellipse Text Couleur
53
VIII.5 DONNES D'ENTRES
Le module Input Analyser d'ARENA permet l'exploitation de donnes d'entres en
dterminant automatiquement la loi de probabilit la plus adapte de la distribution empirique
obtenue partir des donnes d'entre (regroupes dans un fichier).
Les donnes dentres sont contenues dans un fichier au format .dst o une ligne contient un
nombre (rel). En fait, ce fichier est de type texte et donc lisible, par exemple, via le
WordPad. Voir, titre dexemple, le fichier test1.dst, ou test2.dst, dans le rpertoire
\Exemples\Distribution. Pour analyser un fichier de donnes (.dst), faire : Rockwell
Software/Arena/Input Analyzer afin douvrir lapplication Input Analyzer. Une fois dans cette
application, faire : File/New afin douvrir une fentre Input1. Aprs avoir cliqu dans la
fentre grise, faire File/Data File/Use Existing9, ce qui permet de rcuprer le fichier (.dst)
contenant les donnes convertir en une loi de distribution : il en rsulte laffichage dun
histogramme des donnes.
Dans la fentre grise, sont dcrites des informations relatives aux donnes (le nombre de
donnes, les valeurs minimale et maximale, la moyenne, lcart type) et lhistogramme (la
porte (la plus petite valeur et la plus grande valeur considres dans lhistogramme), le
nombre dintervalles (en O( nbre de pts ) et compris entre 5 et 40)).
9
A ce niveau, vous pourriez crer un fichier de donnes (.dst) correspondant une certaine
distribution en slectionnant Generate New.
54
Pour modifier les paramtres de lhistogramme des donnes, savoir le nombre dintervalles,
la borne infrieure (les donnes ayant des valeurs infrieures tant ignores) et la borne
suprieure (les donnes ayant des valeurs suprieures tant ignores), faire :
Options/Parameters/Histogram.
Pour trouver la meilleure distribution correspondant cet histogramme, faire : Fit/Fit All10.
10
To fit signifie ajuster .
55