1. Slide 1
La modélisation sur ARENA
Opérations basiques et entrées
(Modeling Basic Operations and Inputs)
* Slides based on Arena Slides
2. Slide 2
Ce qu’on va faire ...
• Modèle 1: Assemblage électronique/test du
système
Approches de modélisation
Modules d’Arena (Decide, Record)
• Modèle 2: Assemblage électronique avancé/test
du système
Planning des ressources (Resource Schedules), Etats
(States), et pannes (Failures)
Fréquence des sorties
Plus en utilisation
3. Slide 3
Ce qu’on va faire ...
• Modèle 3: Amélioration de l’animation
Files d’attentes (Queues), Illustrations des produits (Entity
Pictures), Illustrations des ressources (Resource Pictures)
Ajouts des graphiques et variables
• Model 4: Ajout des temps de transferts des
produits
Stations, Transferts, Routes, animation de mouvement des
entités
4. Slide 4
Assemblage électronique/test du
système (Modèle 1)
• Produire deux produits électroniques (A, B)
• Arrivée des pièces: Caisses en fonte automatisées pour prendre les pièces
électronique
• Pièce A, Pièce B — Domaines de préparation différents
• A et B partent vers (sealer) pour la fixation, test — ensuite vers Shipping (out) si
OK, sinon to Rework (Retouche)
• Rework — Récupéré (Salvage) ou Rejeté (Scrap)
5. Slide 5
Pièce A
• Interarrivals: expo (5) minutes
• Domaine de préparation de la pièce A
Processus = (machine + clean) ~ tria (1,4,8)
• Assemblage
Processus = (fixation + test) ~ tria (1,3,4) min.
91% passe, part vers Shipping; sinon part vers Rework
• Rework: (re-processus + test) ~ expo (45)
80% passe, récupération (Salvage)/Ship; sinon rejeté
(Scrap)
6. Slide 6
Pièce B
• Interarrivals: lots de 4, expo (30) min.
• Domaine de préparation de la pièce B
Processus = (machine +clean) ~ tria (3,5,10)
• Assemblage
Processus = (fixation + test) ~ norm (2.4, 0.5) min. , different
de la pièce A, à travers le même poste
91% passe, part vers Shipped; sinon part vers Rework
• Rework: (re-processus + test) = expo (45) min.
80% passe, récupérée(Salvage)/Ship; sinon rejetée
7. Slide 7
Conditions de lancement, Output, Animation
• Commencer empty(vide) & idle(inoccupé), run pour 8 heures
• Objectifs recherchés:
Utilization of all resources (utilisation de toutes les
ressources)
Number in each queue (Nombre en chaque file d’attente)
Time in each queue (temps en chaque file d’attente)
Cycle time (flowtime) sepaés pour les pièces shipped ,
pièces récupérées(salvaged)/shipped, pièces rejetées
• Pour chaque point de sortie (Shipped, Salvaged,
Scrapped), Donner le temps total dans le système
8. Slide 8
Développement de l’approche de
modélisation
• Définir les submodels, modules, données des structures,
contrôle logique
• Souvent plusieurs façons pour modéliser, représentation
logique
• Notre modèle:
Modules d’arrivés séparés pour deux types de produit
Modules de serveurs séparés pour chaque domaine de préparation
Modules de contrôle pour la fixation (Sealer) et retouche (Rework)
Modules de départ pour Shipping, récupéré (Salvage), rejeté (Scrap)
Attribuer Sealer Time dans le module assign (pièces ayant différent
temps à la station de fixation)
Module d’enregistrement (Record module) avant le départ de système
pour savoir le temps total
9. Slide 9
Construction du modèle
• Nouvelle fenêtre pour la création du modèle
• Apparaître Basic Process panel (si nécessaire)
• Placer les modules
Create (x 2)
Assign (x 2)
Process (x 4)
Decide (x 2)
Record (x 3)
Dispose (x 3)
• Cliquer droit — repeat last action (place le
module)
• Connection automatique, ou manuelle via
Une autre stratégie
Consiste à placer un
module et le remplir
complètement sur
place
10. Slide 10
Création du module de la pièce A
• Name: Part A Arrive
• Entity Type: Part A
• Time Between Arrivals
Type: Random (Expo)
– Faire descendre la liste avec les options
Value: 5
Units: Minutes
– Faire descendre la liste avec les options
• Garder par défauts les choses non mentionnées
ci-dessus
Une fois ces entrées
sont remplies, elles
seront placées dans la
liste des noms de cette
pièce (Module Name,
Entity Type, etc.) et
seront affichées sur les
listes reliée à cette
pièce.
11. Slide 11
Création du module de la pièce B
• Name: Part B Arrive
• Entity Type: Part B
• Time Between Arrivals
Type: Random (Expo)
– Faire descendre la liste avec les options
Value: 30
Units: Minutes
– Faire descendre la liste avec les options
• Entities per Arrival: 4
12. Slide 12
Assign Module attribué à la pièce A
• Name: Assign Part A Sealer and Arrive Time
• Add button:
Type: Attribute
Attribute Name: Sealer Time
New Value: TRIA(1, 3, 4)
• Add button:
Type: Attribute
Attribute Name: Arrive Time
New Value: TNOW (to compute time in system on exit)
TNOW est le nom d’une fonction interne d’ARENA pour la simulation de
l’heure; voir
Help > Arena Help > Contents >
Variables, Functions, and Distributions > Date and Time Variables
13. Slide 13
Assign Module attribué à la pièce B
• Name: Assign Part B Sealer and Arrive Time
• Add button:
Type: Attribute
Attribute Name: Sealer Time
New Value: WEIB(2.5, 5.3)
• Add button:
Type: Attribute
Attribute Name: Arrive Time
New Value: TNOW
Noms utilisés sur Arena
– Noms par Defaut souvent proposés
– Noms placés sur les listes glissantes convenable pour des futures références
– Les noms dans le modèles doivent être unique
14. Slide 14
Process Module Actions
• Delay
La pièce passe seulement dans le processus selon le temps spécifié, pas
de ressource engagée, ainsi plusieurs pièces peuvent passer
simultanément
• Seize Delay
La pièce doit d’abord saisir la ou les ressource(s) disponible(s) (possibilité
de file d’attente en cas d’indisponibilité de ressource), ensuite passe le
temps requis (Delay) … suppose que la pièce va libérer les unités de
ressource dans un autre module en aval
• Seize Delay Release
Comme Seize Delay, mais la pièce libère les unités re ressource après
Delay (Ce que nous voulons pour notre modèle)
• Delay Release
Suppose que la pièce a saisi les unités de ressources dans un module en
amont, maintenant la pièce passe le temps requis ensuite libère les unités
de ressource
15. Slide 15
Prep A Process Module
• Name: Prep A Process
• Action: Seize Delay Release
• Resources subdialog (Add button):
Type: Resource (La liste glissante)
Resource Name: Prep A
Quantity: 1 (default)
• Delay Type: Triangular
• Units: Minutes
• Minimum: 1
• Value (Most Likely): 4
• Maximum: 8
Si plusieurs ressources
sont nommées (Add
button), la pièce doit les
saisir ensemble avant
que Delay commence.
16. Slide 16
Prep B Process Module
• Name: Prep B Process
• Action: Seize Delay Release
• Resources subdialog (Add button):
Type: Resource (La liste glissante)
Resource Name: Prep B
Quantity: 1 (default)
• Delay Type: Triangular
• Units: Minutes
• Minimum: 3
• Value (Most Likely): 5
• Maximum: 10
17. Slide 17
Sealer Process Module
• Name: Sealer Process
• Action: Seize Delay Release
• Resources subdialog (Add button):
Type: Resource (La liste glissante)
Resource Name: Sealer
Quantity: 1 (défaut)
• Delay Type: Expression
• Units: Minutes
• Expression: Sealer Time Rappel – Sealer Time attribute
est défini en amont pour les deux
pièces A et B … Maintenant sa
valeur est utilisée … accord des
distributions différentes pour A et
B.
18. Slide 18
Sealer Inspection-Result Decide Module
• Decide module permet les points de branchement
By Condition (entity Attributes, global Variables)
By Chance (multi-sided, possibly-biased hypercoin flip)
• Name: Failed Sealer Inspection
• Type: 2-way by Chance (default)
• Percent True: 9
• Différents points de sortie pour les résultats vrai,
faux– connecter convenablement avec l’aval
− C’est le percentage vrai, non probabilité vrai … “9” signifie probabilité de 0.09
− Nous décidons arbitrairement vrai “true” est les pièces rejetées en inspection
…on peut les inverser l’essentiel c’est que le système reflète la réalité
21. Slide 21
Record Modules
• Arena collecte et rapporte plusieurs statistiques
par défaut, mais parfois pas tout ce qu’on veut
• Nous voulons le temps (moyen, maximum) que
passe chaque pièce, sortant de son point de
sortie (Shipped, Salvaged, Scrapped), dans le
système
Il suffit de cocher les entités en Run > Setup > Project
Parameters pour que le système nous spécifie le type de
statistique
• Record module peut être placé dans un
graphique et rapporte plusieurs variétés
statistiques à l’intérieur de modèle en animation
au moment ou les pièces y passent
22. Slide 22
Shipped Parts Record Module
• Name: Record Shipped Parts
• Type: Time Interval
Cette option enregistre la longueur du temps écoulé (TNOW)
depuis l’entrée de la pièce dans le système
• Attribute Name: Arrive Time
Est définie en amont comme étant le temps d’arrivée de la
pièce dans le système
• Tally Name: Record Shipped Parts
Donne le nom de label dans le rapport
23. Slide 23
Dispose Modules
• Trois points de sortie pour trois dispositions
séparées des pièces (Shipped, Salvaged,
Scrapped)
• Peuvent avoir le même point de sortie vers
Dispose module
Mais avoir des sorties séparées donne des compteurs
animés pour les trois dispositions
• Aussi, avoir des modules Dispose modules
séparés donne la possibilité de créer des
rapports statistiques pour chaque type de produit
24. Slide 24
Run > Setup for Run Control
• Sans cette option, le modèle fonctionnera sans
arrêt
C’est une partie de modélisation qui affecte souvent les
résultats!
• Project Parameters tab:
Remplir Project Title, Analyst Name
Collection des statistiques cocher par défaut mais éclairer
celle dont on a pas besoin
• Replication Parameters tab:
Replication length: 32, accepté Hours default pour Time
Units
Base Time Units: Minutes pour les entrées sauf Time
Units option, les calculs internes, et units sur output reports
25. Slide 25
Different Part A, B Entity Pictures
• Entity data module (simple clique sur cette icone
dans Project Bar, éditer via spreadsheet
seulement)
• Ramer pour chaque type de pièce (Part A, Part
B)
• Faire descendre le menu Initial Picture, choisir les
différentes photos pour chaque type de pièce
Edit > Entity Pictures pour voir, changer la liste des photos
présentée … à voir après
26. Slide 26
Lancement de Modèle
• Check (if desired)
Bouton pour aider à chercher les erreurs
• Go (Contrôle automatique si nécessaire)
Certains graphiques non visibles durant le lancement … apparaissent à
la fin de la simulation … contrôlé via View > Layers
Bar d’état montre la progression de l’animation – nombre de réplication,
temps de simulation, État de la simulation
• Vitesse d’animation – augmente (>), diminue (<)
• Pause ( ) ou Esc key; pour reprendre
• Run > Step ( ) pour déboguer
• Run > Fast-Forward ( ) pour terminer l’animation
Run > Run Control > Batch Run (Aucune Animation) est plus rapide
27. Slide 27
Aperçu des résultats
• Compteurs durant l’animation pour les modèles
Create, Dispose, Decide – incrémente quand la pièce quitte
Process – nombre de pièces actuellement dans le modèle
• Questionné à la fin d’animation si tu veux voir les
rapports
Ce que t’aura dépend de Run>Setup>Project Parameters
Naviguer à travers le rapport en feuilletant à travers l’arbre
de gauche
28. Slide 28
Modèle 4: Assemblage électronique
avancé/test du système
• Histoire
Modèle original montré au responsable de production
Indique que le modèle ne présente que la première équipe
— La seconde équipe a deux opérateurs en Rework (le
goulot d’étranglement) … 16-heures par jour
Indique que Sealer tombe en panne parfois
– Uptimes ~ exponential, mean 2 hours
– Repair times ~ exponential, mean 4 minutes
Veut acheter des casiers pour tenir la file d’attente rework
– Un casier peut contenir 10 pièces
– Combien de casier doit-on acheter?
Lancement pour 10 jours
• Besoin: Resource Schedules, Resource States,
Resource Failures
29. Slide 29
Change Run Conditions
• Redéfinir le “day” pour être 16 heures – Run >
Setup > Replication Parameters
• Changer la longueur de la replication 10 days
30. Slide 30
Planning (Schedules)
• Varie la Capacité (nombre d’unités) des ressources à
travers le temps
• Dans Resource Data module (spreadsheet view)
Pour Rework Resource, changer Type de Fixed Capacity à Based
on Schedule
Deux nouvelles colonnes – Schedule Name et Schedule Rule
Taper sur schedule name (Rework Schedule)
Choisir Schedule Rule – details of capacity decrease if the Resource is
allocated to an entity
– Ignore – Capacité diminue immédiatement pour un produit commencé mais
le travail continu jusqu’au moment où il est achevé … “break” va être réduit
– Wait – La diminution de la capacité attend à ce que le produit soit libérer
par la ressource, et “break” va être complet mais il se peut qu’il y’aura un
décalage début/fin en retard
– Preempt – Le processus est interrompu, repris à la fin de “break”
31. Slide 31
Planning (Schedules)(suite)
• Definir le planning actuel que les ressources vont suivre –
Schedule data module (spreadsheet)
Double clique pour créer un nouveau row et définir Rework Schedule
Format Type est la durée pour les entités basées sur le temps passé
depuis le début de la simulation
Type est Capacity, pour Resource schedule
Clique sur Durations column, Graphical Schedule Editor s’affiche
– X-axis est le temps, Y-axis est la capacité des ressources
– Cliquer et glisser pour définir le graphe
– Options button pour contrôler les échelles des axes, time slots in editor,
que le planning boucle ou reste dans le niveau final pour toujours
– Peut utilisé Graphical Schedule Editor si les temps de durée sont des
entiers, et il n y a pas des Variables ou Expressions impliqués
32. Slide 32
Planning (Schedules)(suite)
Alternativement, clique droit sur la rangée, sélectionner Edit
via Dialog
– Entrer schedule Name
– Entrer les paires pour Capacity, Duration … en nombre nécessaire
Si toutes les durées sont spécifiées, le planning se répète pour toujours
Si aucune durées n’est spécifiée, il exécute par défaut jusqu’à l’infini
– Peut impliquer Variables, Expressions
Une autre alternative – clique droit sur la rangée,
sélectionner Edit via Spreadsheet
– Entrer valeur de capacité et les durées
33. Slide 33
Pannes des ressources (Resource Failures)
• Souvent utilisés pour modéliser les arrêts non
prévues
• Peut être définies à partir de Resource ou Failure
module (Advanced Process panel) … on
commence par Failure
• Attach Advanced Process panel si nécessaire,
clique sur Failure, spreadsheet s’affiche
• Pour créer une nouvelle panne, double-clique –
(add new row)
• Nommer la panne
• Type – Time-based, Count-based (we’ll do Time)
• Spécifier Down Time, avec Units
34. Slide 34
Pannes des Ressources (suite)
• Attacher cette panne à la ressource concernée
Module Resource, Failures colonne, rangée Sealer – clique
pop-up Failures window s’affiche, choisir le nom de la
panne Sealer Failure via la liste glissante
Choisir Failure Rule Wait, Ignore, Preempt (comme en
planning)
• Peut avoir des pannes multiples (noms séparés)
• Peut réutiliser des pannes définies pour de
multiples ressources (opérante indépendamment)
35. Slide 35
Fréquences (Frequencies)
• Enregistre en temps continu la fréquence de répétition
d’une variable, expression, or état d’une ressource
Utiliser ici pour l’enregistrement % de temps que la fil d’attente de
rework est de longueur 0, (0, 10], (10, 20], … pour donner l’information
de combien de casier est nécessaire
• Statistic data module (Advanced Process panel)
Spécifier Nom (Rework Queue Stats), Type de fréquence (Value)
Spécifier l’Expression pour tracer et catégoriser
– Clique droite dans le champ pour avoir Expression Builder
Label de Rapport (Rework Queue Stats)
Répète la même chose pour le reste
36. Slide 36
Frequencies(suite)
• Ajouter une autre fréquence ( dans Statistic
module) pour donner une bonne description de
l’état de Sealer
Elle va produire des statistiques en proportion de temps où
Sealer est dans les trois états possibles– Busy, Idle, et
Failed
• Frequencies ne font pas partie des rapport
affichés par défaut– Ouvrir les rapport de
Frequencies à partir de la barre Project (Des
fenêtres séparées s’affiche à partir de cette barre)
37. Slide 37
Résultats du Modèle 2
• Différent de ceux du Modèle 1 car la réplication est
longue, et les hypothèses de modélisation sont
différentes
• Prep A/B n’ ont pas changé … a démontré analytiquement
• Sealer est plus encombré (panne)
• Rework est moins encombré (50% de renforcement en
personnel)
• Rapport de fréquences (Frequencies) propose: un casier
est suffisant à 95% du temps, deux tout le temps
38. Slide 38
Modèle 3: Amélioration de l’Animation
• Animation de certains éléments s’affiche (File
d’attente, mouvement d’animation des
connexions…)
• Souvent suffisant pour faire des vérifications,
validations
• Fréquemment on cherche à personnaliser, pour
améliorer un peu notre animation
• Objets d’animation sont liés au modèle logique
Identificateurs, location physique
39. Slide 39
Changement de l’animation des files
d’attente
• Allongement (clique, glisser) pour tenir plusieurs entités
Logique de Simulation , résultats reste les mêmes même si
on augmente la longueur de la file d’attente animée
• Pivoter pour réorienter
• Changer la fore de la file d’attente de ligne (Line par
défaut) à Point — places fixes pour les entités
Double-cliquer sur la file
Choisir Type pour être Point
Clique Points… bouton
Successivement cliquer Add pour points, ensuite OK
Glisser les sur la page d’affichage
Contrôler la boîte (Rotate box) pour voir les angles de
rotation
40. Slide 40
Changement des photos des entités
• Au début -Utiliser Entity data module pour affecter les
différentes photos initiales aux différentes types d’entités
• Maintenant– personnaliser la liste, ou modifier les photos
dans la liste
Edit > Entity Pictures
Colonne à gauche -noms, photos actuellement dans la liste
Colonne à droite–bibliothèque des photos (.plb filename extension)
Ajouter les photos dessiner manuellement –Ajouter avec bouton à
gauche, nommer la photo dans le champ en haut (Value field) , double-
cliquer sur le bouton déprimé blanc, ensuite dessiner
Éditer une photo existante- double-cliquer, artwork
Copier la photo dans la bibliothèque des photos
41. Slide 41
Ajouter les photos des ressources
• Animate a Resource – Resource button dans
animate toolbar – la fenêtre Resource Picture
Placement s’affiche
• Colonne à gauche – photos par défauts des états
des ressources
Attacher logiquement à une ressource par la liste glissante
Double-cliquer pour éditer la page des dessins (artwork) ,
ou coller une image précédemment copiée
Saisir l’emplacement de la ressource
Plusieurs saisies d’emplacement dans le cas de capacité
de multiples ressources
• Colonne à droite – bibliothèque des photos (.plb
files) – voir procédure avec animateur
42. Slide 42
Ajout des variables et graphiques
• Animation des Variables – Montre juste le
changement de la valeur d’une variable
Variable object à partir de la barre d’outil d’animation
Double-cliquer, spécifier l’expression pour être affichée
(Expression Builder), et cosmétiques
Placer, repositionner après
• Graphiques dynamiques animés –
• Autres objets d’animation à partir de la barre
d’outil d’animation
Heure (TNOW), variétés de formats
Animation de Niveau (thermomètre)
Autres seront discutés après
43. Slide 43
Modèle 4: Assemblage électronique et test
de système avec le transport des pièces
• Généraliser le Modèle 3
• Le transport des pièces prend 2 minutes entre
poste … on veut le modéliser et l’animer
Inclus:
– Arrivée des pièces dans les postes prep
– Départ des pièces vers les sorties appropriées
– Tous les transports internes
44. Slide 44
New Arena Constructs
• Station – location ou un processus a lieu
Arrivées, cellules de transformation, départements
Chaque station à un unique nom
Peut servir comme une entrée du modèle logique
Station marker représente une station logique dans
l’animation
• Station Transfer – entités bougent entre stations
sans connexions directes
Différentes types – on utilisera Routes ici,
Route paths représente les routes dans l’animation
45. Slide 45
Ajout de Route Logic – à partir de l’arrivée
• Stations et stations de transports affectent à la fois le
modèle logique et l’animation
• Commence avec le modèle 3 ..et changer au modèle 4
• Pour les pièces (A et B) arrivantes, supprimer les
connexions à partir de assign modules à “Prep” Process
modules
Replacer avec Station/Route module pairs
– Station module (Advanced Transfer panel) – défini la location de l’actuel
entité
Module Name vs. Station Name
– Route module (Advanced Transfer panel) – envoi l’entité en sorite
Route Time, Destination Station
Pas de connexions directes de Route modules – Route module’s
Destination Station Name définit cette connexion
46. Slide 46
Ajout d’une route logique
• Ajouter les Station modules pour les entrées de chaque poste Prep
Noms de stations sont Prep A Station, Prep B Station, et sont des
stations de destination pour Routes après les arrivées
• Modules Processus pour Prep A, Prep B inchangés
• Après prep, les entités sont connectées au module Route module
pour les envoyées à la prochaine station (sealer)
On a pas besoin des modules de stations séparées pour sortir d’un module
• Changement similaire pour le reste de modèle
Modules des stations pour les pièces entrantes à sealer, rework, chacun des
trois modules d’enregistrement (points de sorties des pièces)
Modules Route pour les pièces sortantes de l’inspection sealer , inspection
rework (Deux pour chaque module de décision– passe/rejet)
• Peux lancer le modèle maintenant, …mais sans l’animation des
transports …
47. Slide 47
Pourquoi ne pas ajouter des Délai?
• Approche simple pour avoir les 2-minutes du
temps de transport:
Insérer le module Processus avec l’action = Délai pour 2
minutes sur chaque connecteur en relation
Alternativement, utilisé Delay module à partir de Advanced
Process panel
• Actuellement ça devait bien marché pour la
modélisation, de point de vue numérique
• Mais il peut pas tolérer l’animation de transport
des pièces, ainsi on va procéder avec les
Stations et Routes
48. Slide 48
Modifier l’animation – Station, Routes
• Ajouter animation pour Stations et Routes
• Station button , Animate Transfer toolbar
Attacher Identifier à partir de la liste glissante des noms de station
Placer le marqueur dans l’animation
Peut placer plusieurs marqueur de pour la même station logique (pour
représenter l’arrivée, sortie)
• Route button à partir de Animate Transfer toolbar
Options pour l’apparence des entités comme s’elle se déplace sue la
route
Clique sur l’origine, marqueurs de station de destination
– Clique Intermediate pour les corners le long de la route
Peut glisser entre les points finaux, après corners
49. Slide 49
Modifier l’animation – photos des Entités
• Pièces B arrivées sont regroupées par 4 pièces/groupe
Mais le temps de déplacement constant à Prep B laisse entendre
qu’elles se déplacent l’un sur l’autre comme s’il s’agit d’une seule pièce
Essayer de changer le temps de Route time de 2 to EXPO(2), voir la
séparation le long de la route
• Créer illusion pour animer le regroupement
Assign module juste après Part B Arrive
Ajouter assignment de la photo de l’entité pour Picture.Batch B
Edit > Entity Pictures pour dessiner une nouvelle photo
– Copier Picture.Part B et renommer la Picture.Batch B
– Double-cliquer sur la photo, utiliser Picture Editor pour avoir 4 cercles
Quand le regroupement arrive à Prep B, change en cercle simpla
– Ajouter Assign module après Prep B Arrival Station
50. Slide 50
Input Analysis: Spécification des paramètres de
modèle, Distributions
• Modélisation structurelle: Ce qu’on a fait au
départ Aspects Logique — entités, ressources,
chemins, etc.
• Modélisation Quantitative
Numérique, spécifications distributionnelles
Comme la modélisation structurelle , on a besoin de voir
les opérations de système, et prendre les données si
possible
51. Slide 51
Entrées Déterminantes vs. Aléatoires
• Déterminantes: non aléatoire, valeurs fixes
Nombre d’unités de ressource
Temps de transport d’une Entité (?)
Entre arrivée, Temps de transformation (?)
• Aléatoire (ou. stochastic): modèle de distribution des valeurs pour
lancer la simulation
Transport, Entre arrivèe, temps de transformation
Quelle distribution? Quels paramètres de la distribution?
Entraîne les sorties de la simulation à être aussi aléatoire
52. Slide 52
Collections des données
• Généralement très dure, coûteux, frustrant, ennuyeux
Peut être le Système n’existe pas
Données disponibles sont fausses ou des représentent d’autres
choses— possibilité d’adapter le modèle à ce qui existe
Données Incomplètes
Beaucoup de données (!)
• Sensibilité des sorties aux entrées incertaines
• Lier les détails de modèle à la qualité des données
• Coût — Doit être budgétiser dans le projet
• Garbage In, Garbage Out (GIGO)
53. Slide 53
Utilisation des données:
Alternatives et Issues
• Utiliser les données “directement” dans la simulation
Étudier les valeurs réelles observées pour remplir les entrées de
modèle (entre arrivée, temps de service , types de pièces, …)
– Module d’Arena lit les entrées
Toutes les valeurs doivent être “légales” et réalistes
Mais ne peuvent jamais dévier par rapport aux données observées
Ne peut pas avoir plusieurs données pour plusieurs réplications
• Or, adapter la distribution de probabilité aux données
Générer des observations pour cette distribution avant de remplir les
entrées de modèle“
54. Slide 54
Adaptation (Fitting) des distributions aux données avec
Arena Input Analyzer
• Hypothèses:
Avoir un échantillon de données: Liste de Valeurs observées du
système physique actuel Indépendante et Identiquement Distribuée
(IID)
• Arena Input Analyzer
Application, aussi accessible via Tools menu in Arena
Fits distributions, donne l’expression adaptée aux données générées,
cette expression peut être collée directement dans le modèle de
simulation
55. Slide 55
Adaptation (Fitting) des distributions aux données avec
Arena Input Analyzer (suite)
• Fitting = décider sur la forme de distribution (exponentielle, gamma,
empirique, etc.) et estimation de ces paramètres
Plusieurs méthodes (Probabilité Maximale, Moindre carré, …)
Bon estimateur d’adaptation via les tests d’hypothèses
– H0: Distribution adaptée adéquatement représentant les données
– Avoir la valeur de p pour le test (petit = mauvaise adaptation)
• Adaptation “théorique” vs. Distribution empirique
• Continues vs. Données discrètes, distribution
• Meilleure adaptation à travers plusieurs distributions
56. Slide 56
Fichiers de données pour Input Analyzer
• Créer un fichier de donnée (editor, Word, Nouveau , ...)
Doit se faire en texte ASCII (Enregistrer comme texte)
Valeurs de données séparées par un espace blanc (vides,
Tabulation, entrée)
• Ouvrir le fichier de donnée à l’intérieur de Input Analyzer
File > New ou
File > Data File > Use Existing ou
Vous aurez l’histogramme, résumé basique des données
Pour voir le fichier de donnée: Window > Input Data
• Peut générer un faux fichier de donnée pour travailler sur
File > Data File > Generate New
57. Slide 57
Le Menu Fit
• Adapte les distributions, choisi les bonnes adaptations des testes tests
• Adapte une forme distribution spécifique
Trace la densité sur l’histogramme pour un test visuel
Donne l’expression exacte à copier et coller (Ctrl+C, Ctrl+V) sur le modèle de
simulation
Donne les résultats d’adaptation des tests
– Chi square, Kolmogorov-Smirnov tests
– Partie la plus importante: p-value, toujours entre 0 et 1:
Probabilité d’avoir les données suivant la distribution choisies
P petit (< 0.05 ): mauvaise adaptation (essayer encore ou abandonner)
58. Slide 58
MenuFit (suite)
• Adapter toutes les distributions (théorique) d’Arena d’un seul coup
Fit > Fit All ou
Retourne le minimum square-error de la distribution
– Square error = somme des écarts au carré entre la fréquence de
l’histogramme et celle de la distribution adéptée
– Peut dépendre de l’intervalle de l’histogramme choisi: différents intervalles
peuvent mener vers de meilleures distributions
Peut rester une mauvaise adaptation, portant (contrôler p value)
Pour voir toutes les distributions, : Window > Fit All Summary ou
59. Slide 59
Menu Fit (suite)
• “Fit” distribution empirique (continues ou discretes): Fit >
Empirical
Peut interpréter les résultats comme distribution Discrète ou
Continue
– Discrète: avoir pairs (Probabilité cumulée, Valeur)
– Continues: Arena va interpoler linéairement à l’intérieur de la
série des données selon ces paires (Ainsi tu peux pas
générer des valeurs hors de série, qui peuvent être bonnes
ou mauvaises)
Distribution empirique peut être utilisé quand les distributions
théoriques ne s’adapte pas efficacement aux données
60. Slide 60
Pas de données?
• Arrive souvent
• Pas de bonne solution; certaines (mauvaises) options:
Interview “experts”
– Min, Max: Uniforme
– Avg., % erreur ou erreur absolue: Uniforme
– Min, Mode, Max: Triangulaire
Le Mode peut être différent de la moyenne — permet l’ asymétrie
Entre arrivées — indépendant, stationnaire
– Exponentielle— nécessitant une valeur normale
Nombre de cas aléatoire dans un intervalle: Poisson
Somme des pièces indépendantes : normal
Production des pièces indépendantes : lognormal
61. Slide 61
Précautions dans l’Utilisation des
Distributions Normal
• Probablement la distribution la plus courante – normal “courbe en cloche”
utilisée largement dans les études statistiques
• Mais elle a deux queues infinies dans les deux directions … en particulier,
une queue infinie à gauche ce qui fait elle peut théoriquement générer des
valeurs négatives
• Plusieurs quantités d’entrées en simulation (e.g., temps) doivent être
positives pour avoir un sens– Arena transforme les valeurs négatives à 0
• Si la moyenne m est grande par rapport à l’écart type s, alors la probabilité
P(négative) est petite …
• Mais en simulation, 1 sur million peut arriver
• Moralité – Éviter la distribution normale comme étant un modèle d’entrée
62. Slide 62
Processus d’arrivée non stationnaire
• Événements externe (souvent arrivées) dont le taux varie tout le temps
• Temps de dans les restaurants fast-food
• Heures de pointes dans les villes
Téléphone call centers
Demandes saisonnières pour un produit manufacturier
• Il peut être critique pour modéliser ces non stationnarités par un
modèle valide
Ignorant les pics, vallées peuvent masquer des comportements
importants
Peut oublier les heures de pointes, etc.
• Bon modèle: Nonstationary Poisson process
63. Slide 63
Processus d’arrivée non stationnaire (suite)
• Deux questions:
Comment spécifier/estimer rate function
Comment l’engendrer comme il faut durant la simulation
• Plusieurs méthodes pour estimer rate function — on va tout simplement
appliquer la méthode de piecewise-constant
Diviser le cadre du temps de la simulation en des sous intervalles de temps sur
lesquels vous pensez que le temps est équitablement fixe
Calculer le taux observé à l’intérieur de chaque sous intervalle
Sur Arena, doit changer au nombre d’arrivée attendu par heure must dans le
sous intervalle du temps
– Veut attendre 45 arrivées en une demi heure; spécifier taux = 90 par heure
64. Slide 64
Donnée d’entrée Multivariable et corrélé
• D’habitude on suppose que toutes les observations aléatoires
engendrées à travers la simulation sont indépendantes (bien qu’elles
sont de différentes distributions)
• Parfois ceci n’est pas vrai:
La partie difficile nécessite une longue transformation dans les deux
opérations Prep et Sealer
C’est une corrélation positive
• Ignorance de telle relation peut rendre le modèle invalide