Comment construire un modèle de base avec WITNESS ?

Transcription

Comment construire un modèle de base avec WITNESS ?
Comment construire un modèle de base avec WITNESS ?
Comment construire un
modèle de base avec
WITNESS ?
Franck FONTANILI
Gipsi - M2 - FF
1
Comment construire un modèle de base avec WITNESS ?
1. Qu’est ce qu’un MODELE de simulation ?
Un modèle est un ensemble d’éléments qui sont liés entre eux d’une manière
logique (lois et actions) pour décrire un processus réel.
Les éléments WITNESS sont les blocs de base que l’on peut combiner en sousmodèles ou en modules utilisateurs et donc les utiliser plusieurs fois.
Les éléments WITNESS peuvent se classer selon des critères différents : des
éléments physiques (ceux que l’on voit dans le monde réel), des éléments logiques
et des éléments graphiques :
-
Les éléments physiques comprennent :
les éléments qui circulent dans le modèle : les articles,
les éléments transportant les articles : les convoyeurs, les chemins, les
pistes et véhicules,
les éléments contenant les articles : les stocks,
les éléments qui traitent les articles : les machines et si nécessaire les
ressources.
Ces éléments sont classés comme des éléments discrets. Il existe aussi des
éléments continus : fluides, tuyaux, processeurs et réservoirs. Un même modèle
peut comporter des éléments discrets et continus. Par exemple, un liquide
contenu dans un réservoir est transféré vers un processeur (un réacteur, un
malaxeur, etc.) au travers de tuyaux avant d’être versé dans des flacons qui sont
eux-mêmes bouchés puis étiquetés sur des machines spéciales et enfin
palettisés par lots de 50.
-
Les éléments logiques tels que :
les plannings d’ouverture (horaires de travail),
les lois de distribution aléatoires,
les sources des données externes (par exemple, des fichiers) et
l’interfaçage avec Excel (tableur) et Access (SGBD),
des références pour permettre de programmer la logique du modèle, de
mettre en place des mesures et des indicateurs : les variables, les attributs
et les fonctions.
Les éléments graphiques fournissent des informations sur l’état du
modèle au cours d’un lancement, et ils comprennent les
camemberts, les courbes et les histogrammes et sont une aide à
la présentation des simulations.
Gipsi - M2 - FF
2
Comment construire un modèle de base avec WITNESS ?
2. Les 3 phases de la construction d’un modèle

La phase de Déclaration
C’est une phase d’analyse qui permet de passer du réel au modèle en faisant un
choix sur les éléments du modèle qui représentent le mieux le système réel.

La phase de Représentation
Cette phase n’est pas obligatoire pour le fonctionnement d’une simulation, mais elle
est indispensable pour comprendre le fonctionnement dynamique du système et pour
communiquer avec toutes les parties prenantes à l’étude de simulation. Il est donc
vivement conseillé de ne pas la négliger et de représenter le système et son
implantation aussi réellement que possible. La version PwE (Power with Ease) de
Witness permet de transformer un modèle 2D en un modèle 3D d’un simple lic de
souris. Cette représentation en 3D, bien que superflue pour la simulation elle-même
et les experts, est cependant de plus en plus demandée car elle facilite
considérablement l’appropriation et la comparaison avec la réalité.

La phase de Description
Chaque type d’élément a ses propres caractéristiques, par exemple : le temps de
cycle d’une machine ou la vitesse d’un véhicule. La logique de contrôle de la
simulation pour décrire le routage des articles circulant dans le modèle est aussi
spécifiée lors de cette phase.
Après la déclaration, la représentation et la description des éléments, la simulation
peut être lancée immédiatement. Ensuite le modèle peut être modifié en ajoutant,
changeant ou supprimant des éléments. Progressivement et par étapes successives,
on peut affiner le modèle afin de le faire correspondre au mieux à la réalité. On peut
alors relancer la simulation pour évaluer l’impact de ces changements. Cette facilité
pour construire un modèle progressivement en testant chaque partie est une aide
puissante pour produire et réaliser en confiance des modèles valides. Il est donc
conseillé de suivre une démarche progressive de construction et de ne pas chercher
à tout simuler tout de suite. Par exemple, les pannes, réglages, plannings,
ressources et variations aléatoires doivent être intégrés seulement après avoir validé
le cheminement des articles dans le modèle.
La construction d’un modèle peut se faire de deux façons :
- Effectuer entièrement les 3 phases de déclaration, description et
représentation.
- Constituer et/ou utiliser une bibliothèque d’éléments prédéfinis dans le but
de simplifier la réalisation des 3 phases.
Gipsi - M2 - FF
3
Comment construire un modèle de base avec WITNESS ?
a. Déclarer un élément
Pour entrer dans le mode de déclaration, cliquer sur le menu Eléments et
sélectionner Déclarer. On peut aussi passer par le sélecteur d'éléments (voir figure
1) en cliquant sur le groupe Simulation et en cliquant avec la touche droite de la
souris pour faire apparaître un menu déroulant. Sélectionner Déclarer.
Icône
Sélecteur
d’élément
Figure 1 : Sélecteur d'élément
Une fenêtre Déclarer apparaît avec une zone pour saisir le nom d’un élément (voir
figure 2).
- Saisir un identificateur (24 caractères maxi, sans espace) dans la zone
d’édition du nom.
- Choisir ensuite le Type de l’élément en cliquant sur le bouton de déroulement
puis en cliquant sur le type choisi.
- Pour certains éléments comme les machines ou les stocks par exemple, une
autre forme apparaît permettant d’indiquer la Quantité. La quantité d’un
élément peut être un nombre situé entre 1 et 99 inclus ; par défaut c’est 1. Les
éléments doivent être déclarés avec une quantité supérieure à 1 seulement
s’ils apparaissent et se comportent de manière identique, et peuvent être
traités comme un ensemble.
- Appuyer sur le bouton Créer en haut à droite de la fenêtre Déclarer.
- Répéter ces étapes pour tous les éléments à déclarer.
La fenêtre contenant le sélecteur d'éléments se complète automatiquement en
faisant apparaître la liste des éléments créés avec un symbole pour le type (voir
figure 3). Un menu déroulant est accessible avec un clic droit de la souris.
Gipsi - M2 - FF
4
Comment construire un modèle de base avec WITNESS ?
Pour sortir de la fenêtre Eléments, cliquer sur le bouton Fermer.
Figure 2 : Fenêtre de déclaration d’un élément
Figure 3 : Liste des éléments déclarés dans la fenêtre Sélecteur d’élément
Gipsi - M2 - FF
5
Comment construire un modèle de base avec WITNESS ?
b. Représenter un élément
Une fois que les éléments dans le modèle ont été déclarés, il faut spécifier comment
ils doivent être représentés à l’écran.
WITNESS fournit un très grand écran virtuel pour représenter les éléments de
simulation. Cet écran virtuel peut être visualisé à travers huit fenêtres de taille
variable et à divers facteurs de zoom. Le titre du modèle est continuellement affiché
dans l’entête de WITNESS.
Chaque fenêtre individuelle peut avoir son propre titre, sa couleur de fond, ses plans
(notion de couche), spécifiés en passant par le menu Fenêtres/Paramètres (voir
figure 4).
Figure 4 : Paramétrage d'une fenêtre
Pour représenter un élément :
- Cliquer sur cet élément dans la fenêtre de sélection des Eléments et cliquer
ensuite avec la touche droite de la souris pour dérouler le menu.
- Choisir l'option Représenter. WITNESS affiche la barre de représentation de
l’élément :
Les options de la barre varient en fonction des éléments à représenter. En
règle générale, il est recommandé de représenter au moins le nom, l’icône
et la position des articles quand il s’agit d’une machine ou d’un stock.
Pour un élément déjà représenté, il est possible d'accéder au menu déroulant en
cliquant sur l'une des formes de représentation avec le bouton droit de la souris.
Une fois positionnés sur l’écran, les éléments peuvent être déplacés individuellement
(drag and drop) ou en groupe en utilisant le filet. Certaines formes (symboles, …)
peuvent être étirées : Maintenir la touche Shift enfoncée et tirer avec la souris sur l'un
des huit carrés situés sur le pourtour de la forme.
Gipsi - M2 - FF
6
Comment construire un modèle de base avec WITNESS ?
Figure 5 : Représentation des éléments
c. Décrire un élément
Pour adapter un modèle à un processus réel, des informations doivent être indiquées
pour expliquer comment chaque élément opère et comment les articles circulent
dans le processus. En résumé, comment le processus fonctionne réellement.
Une fois les éléments déclarés et représentés, diverses hypothèses sont définies.
Par exemple, quand une machine est déclarée, il sera supposé qu’une ressource
n’est pas nécessaire, que les pannes sont négligeables et que les statistiques
devront être enregistrées. Cependant, WITNESS a besoin de savoir comment les
articles vont circuler entre les éléments. Initialement, les éléments sont tous
indépendants et ne savent pas d’où les articles proviennent, et où ils vont. Ils
doivent donc être liés ensemble pour refléter le flux réel des articles dans le
processus. Presque tous les éléments peuvent prendre des valeurs par défaut pour
tous les paramètres, excepté ceux qui décrivent des temps opératoires.
Après avoir cliqué sur l’élément à décrire dans la fenêtre du sélecteur d'éléments,
ces descriptions sont entrées dans WITNESS à partir du menu Eléments / Décrire.
Une fenêtre de description différente est utilisée pour chaque type d’élément,
puisque chaque type d’élément est caractérisé par des informations différentes (voir
la figure 6 pour la description d’une machine). Toute fenêtre de description possède
son éditeur de ‘Notes’ pour permettre d’entrer des commentaires utiles concernant
l’élément (par exemple: sa description précise, des informations concernant le
modèle créé, ...).
Gipsi - M2 - FF
7
Comment construire un modèle de base avec WITNESS ?
Pour un élément déjà représenté, il est possible « d’ouvrir » sa fenêtre de description
en double-cliquant directement sur celui-ci avec le bouton gauche de la souris.
Figure 6 : Exemple de description d’un élément (MACHINE)
d. Eléments prédéfinis
La construction d’un modèle est souvent répétitive quand le modèle comporte
plusieurs éléments identiques ou avec de nombreux points communs. Afin de réduire
le temps consacré à la construction, il est intéressant d’utiliser une bibliothèque
d’éléments prédéfinis. Le modèle Startup.mod est automatiquement ouvert à
chaque lancement de Witness. Il comporte un environnement multifenêtre
prédéterminé et contient des éléments prédéfinis pour la construction rapide d’un
modèle de base comportant Article(s), Machine(s), Stock(s) et Convoyeur(s)(voir
figure 7).
Figure 7 : Bibliothèque d'éléments prédéfinis
Pour créer une instance d’un élément prédéfini dans le modèle, le sélectionner en
cliquant dessus avec le bouton gauche de la souris. Le curseur se transforme en
Gipsi - M2 - FF
8
Comment construire un modèle de base avec WITNESS ?
croix. Dans la fenêtre de la vue générale, cliquer sur le bouton gauche de la souris
pour positionner l’élément à l’endroit où se trouve le curseur. Ceci crée une copie de
l’élément prédéfini. Tous les éléments prédéfinis peuvent être ainsi introduits dans la
vue générale (voir figure 8).
Figure 8 : Modèle Startup.mod avec éléments prédéfinis
Les spécifications par défaut de l’élément prédéfini sont copiées vers l’élément
instancié. Les éléments ainsi créés sont automatiquement nommés. Le menu
déroulant de la fenêtre du sélecteur d'éléments permet d'accéder à des fonctions de
traitement des éléments (déclarer, décrire, supprimer, filtrer, etc….)
Gipsi - M2 - FF
9
Comment construire un modèle de base avec WITNESS ?
3. Les éléments de base : articles, stocks et machines
Articles
Ils circulent à travers le modèle.
Ils peuvent représenter des
composants physiques, des informations au sein d’une entreprise ou
même des personnes dans un supermarché.
Stocks
Ce sont des places où les articles peuvent être retenus en attendant
d’être utilisés. Des personnes dans une file d’attente ou des moteurs
sur une étagère sont des exemples typiques de stocks.
Machines
Ce sont des éléments puissants qui sont utilisés pour représenter tout
ce qui prend des articles de quelque part, les traite et les envoie vers
leurs prochaines destinations. Une perceuse, une organisation qui
traite des informations ou un atelier entier peuvent être représentés par
une machine. Les machines qui traitent un ou plusieurs articles à la
fois peuvent être modélisées.
a. Les Articles
Les articles sont utilisés pour représenter des éléments discrets (divisibles) qui
circulent dans un atelier, des petits composants électroniques, des sous-ensembles
mécaniques ou encore des étiquettes Kanbans. Les articles peuvent être même
utilisés pour représenter des appels dans un central téléphonique ou d’autres types
de flux d’informations. WITNESS « crée » les articles et les introduit dans la
simulation au moment et à l’endroit prévu par le modèle.
Chaque article individuel peut avoir un nombre de caractéristiques (attributs)
associées et ceux-ci peuvent prendre différentes valeurs à différents moments
pendant la simulation. Par exemple, un article pourra avoir un attribut de couleur
avec une valeur de 0 avant de passer par une opération de peinture, mais la valeur
sera 1 par la suite.
Les articles peuvent être traités séparément, se combiner en un seul, être éclatés en
plusieurs ou un groupe d’articles peut être traité par lots. Les articles peuvent arriver
de façon autonome dans le modèle en quantité de 1 ou plus (c’est-à-dire qu’ils sont
« actifs ») ou ils peuvent être tirés à la demande par d’autres éléments (c’est-à-dire
qu’ils sont « passifs »). Les articles peuvent se changer en d’autres articles pendant
leur parcours dans le modèle.
Les descriptions d’article indiquent quand, où et combien d’articles devront
apparaître pendant la simulation; elles indiquent également si des actions doivent
être effectuées quand un article arrive ou quitte la simulation et si des statistiques
devront être enregistrées pour l’article. Il suffit de double-cliquer sur la représentation
d’un article pour accéder à sa fenêtre de description (voir figure 9).
Gipsi - M2 - FF
10
Comment construire un modèle de base avec WITNESS ?
Figure 9 : Caractéristiques de Description d’un Article
b. Les Stocks
Les stocks accumulent des articles. Ils ne tirent pas ou ne poussent pas des articles
activement vers des machines ou autres éléments ; les stocks sont passifs. Un
article reste dans un stock jusqu’à ce qu’il soit tiré par un autre élément. Les articles
peuvent être ordonnés dans le stock suivant un mode FIFO, LIFO ou autre.
Les stocks peuvent être utilisés pour représenter :
 une file d’attente,
 un plancher d’usine sur lequel des articles attendent l’opération suivante,
 un rack de stockage contenant des cartes de circuits imprimés avant soudage,
 l’espace aérien occupé par les avions avant l’atterrissage,
 un bac d’un poste d’assemblage contenant des composants,
 etc.
Les machines peuvent avoir des stocks dédiés (Buffer), un en entrée, un autre en
sortie. Ces stocks dédiés sont déclarés avec la machine.
Les stocks ont une capacité maximum, et peuvent exécuter des actions quand un
article entre ou sort. Il suffit de double-cliquer sur la représentation d’un stock pour
accéder à sa fenêtre de description (voir figure 10).
Gipsi - M2 - FF
11
Comment construire un modèle de base avec WITNESS ?
Figure 10 : Caractéristiques de Description d’un Stock
c. Les Machines
Les machines sont des éléments physiques qui extraient des articles d’un élément,
les traitent pendant un temps de cycle et puis les envoient vers l’élément suivant.
Exemples de machines :
 un tour,
 un robot soudeur,
 une caisse de supermarché,
 etc.
Une machine peut traiter un ou plusieurs articles à la fois. Elle peut assembler
plusieurs articles en un seul ou en produire plusieurs à partir d’un.
WITNESS possède sept types de machines pour répondre à ces exigences :
1) Machine simple
Une machine simple traite les articles un par un.
Machine
Simple
2) Machine par lot
Une machine par lot traite un lot de n articles à la fois.
Si la machine est une machine PAR LOT, il faut sélectionner le type PAR LOT et
spécifier les nombres mini et maxi d’articles qui constituent un lot.
Machine
par Lot
Gipsi - M2 - FF
12
Comment construire un modèle de base avec WITNESS ?
3) Machine d’assemblage
Une machine d’assemblage prend un certain nombre d’articles et en sort un seul.
Si la machine est une machine d’ASSEMBLAGE, il faut sélectionner le type
ASSEMBLAGE et spécifier dans le champ Entrée le nombre d’articles à assembler
en un seul. Si différents composants proviennent de différentes positions, des lois
d’entrée plus sophistiquées qu’une simple loi PULL doivent être utilisées.
Machine
d'Assemblage
4) Machine de production
Une machine de production prend un seul article et en sort plusieurs.
Si la machine est une machine de PRODUCTION, il faut sélectionner le type
PRODUCTION et spécifiez la quantité à produire dans le champ Sortie. Le nombre
d’articles en sortie d’une telle machine est égal à la quantité produite PLUS 1.
X
X
Y
Y
Y
Machine
de Production
5) Machine générale
Une machine générale prend un nombre d’articles et en sort un nombre différent.
Si la machine est une machine GENERALE, il faut sélectionner le type GENERAL et
spécifier les quantités en entrée et en sortie dans les champs correspondants.
N1
Machine
Générale
N2
6) Machine à cycle multiple
Une machine à cycle multiple est une machine générale spéciale qui réalise son
travail en effectuant plusieurs cycles en séquence, avec pour chacun d’eux des
quantités en entrée et en sortie qui peuvent être différentes. Si la machine est une
machine à CYCLE MULTIPLE, il faut sélectionner le type CYCLE MULTIPLE et
spécifier les quantités en entrée et en sortie de chaque cycle dans les champs
correspondants.
N1
N2
Ni
Gipsi - M2 - FF
Nk
Nj
13
Comment construire un modèle de base avec WITNESS ?
7) Machine Multi-Postes
Une machine Multi-Postes fonctionne comme des postes liés en série (machine
transfert synchrone).
Les articles transitent à travers les différentes stations existant à l’intérieur de la
machine. Ils ne passent à la station suivante que lorsqu’un nouvel article se
présente en entrée de leur station actuelle.
Si la machine est une machine MULTI-POSTES, il faut sélectionner le type MULTIPOSTES et spécifier le nombre de postes et le nombre d’articles en entrée. S’il y a
plus d’un article, la machine est concrètement une machine multi-postes à traitement
par lots.
-
-
-
-
-
d. Caractéristiques communes aux machines
Une machine peut avoir des stocks d’entrée et de sortie dédiés (Buffer), où les
articles sont stockés, jouxtant la machine.
Le temps de traitement d’un article par la machine, le temps entre pannes, le
temps de réparation après une panne ou un démarrage après un changement
d’outils peuvent tous être aisément modélisé.
Si une ressource (opérateur) est nécessaire pour le fonctionnement, la
réparation ou le démarrage de la machine, elle peut aussi être modélisée.
Une machine peut être représentée à l’écran, en utilisant une icône, soit une
parmi celles fournies avec WITNESS ou une créée avec l’éditeur d’icônes
intégré ou importé à partir d’un logiciel de dessin. On peut spécifier que les
icônes changent de couleur pour indiquer l’état associé à la machine.
Une machine peut attendre des articles, être occupée, en panne, en
démarrage, en attente de ressources ou bloquée. Une machine est dite
bloquée quand elle est incapable d’évacuer un article par manque de place en
aval.
Pour mettre au point le modèle, on peut déclarer des actions qui sont
exécutées quand la machine commence son cycle, le termine, tombe en
panne ou finit d’être réparée ou quand un article entre ou sort.
Il est conseillé de ne pas ajouter de ressources, de pannes, de réglages ou
autres détails si ceux-ci n’ont aucun un effet significatif sur les résultats. Ils
pourront être aussi facilement ajoutés plus tard, si nécessaire. En incluant
des détails qui ne sont pas importants pour les résultats, on surcharge le
modèle sans que cela n’apporte d’amélioration à la compréhension, bien au
contraire.
Gipsi - M2 - FF
14
Comment construire un modèle de base avec WITNESS ?
4. Contrôle des flux d’articles
a. Lois d’entrée/Sortie
Les lois d’entrée et de sortie sont utilisées pour décrire la manière dont les articles
doivent circuler entre les éléments modélisés.
Si un élément a une loi d’entrée, celle-ci lui dit de tirer des articles, si un élément a
une loi de sortie, elle lui dit de pousser des articles.
Si un élément ne tire pas activement des articles, il a comme loi d’entrée WAIT.
De tels éléments ne recevront jamais d’articles à moins que d’autres éléments n’en
poussent vers eux. De même, un élément qui ne pousse pas activement des articles
a la loi de sortie WAIT, mais il peut être en permanence bloqué, à moins que
d’autres éléments ne lui en tirent.
WAIT est la loi par défaut. Elle est fixée à chaque élément une fois qu’il a été
déclaré.
D’une manière prévisible, si un modèle est lancé sans spécifier des lois d’entrée ou
de sortie, aucun article ne se déplacera, un message d’avertissement s’affichera et la
simulation s’arrêtera.
Les lois les plus simples d’entrée et de sortie sont respectivement PULL et PUSH.
Par exemple :
La loi :
PUSH to PERCEUSE
pousse des articles vers l’élément PERCEUSE
La loi :
PULL from TOUR
tire des articles de l’élément TOUR
Les lois PULL et PUSH permettent de spécifier une liste d’éléments dans un ordre
préférentiel.
Par exemple la loi:
PUSH to TOUR, PERCEUSE
pousse les articles vers l’élément TOUR ; si cela échoue, il essaiera de les pousser
vers l’élément PERCEUSE.
Il n’y a pas de limite pratique à la longueur de cette liste.
PUSH et PULL sont les lois de base de WITNESS, et suffisent dans beaucoup de
cas. Il faut choisir si chaque élément est « actif » ou « passif » en accord avec le rôle
qu’il joue en réalité. Par exemple, des machines tirent des articles d’une caisse, les
traitent et les poussent vers le prochain processus.
Gipsi - M2 - FF
15
Comment construire un modèle de base avec WITNESS ?
Il n’est pas recommandé de décrire un élément qui pousse et un autre qui lui
tire des articles en même temps; de même un élément qui tire et en même
temps qu’un autre lui pousse des articles.
Dans de tels cas, il est difficile de prévoir quel élément a la priorité, celui qui
pousse ou celui qui tire.
Pour fixer une loi à un élément de WITNESS, cliquer dans la forme de description de
celui-ci sur le bouton de la loi d’entrée ou de sortie. L’éditeur de Lois apparaît (voir la
figure 11).
Figure 11 : L’Editeur de Lois
- La fenêtre d’édition
On peut entrer la loi en utilisant le clavier et utiliser les touches fléchées ou la souris
pour se déplacer et modifier la loi. Ceci est utile pour modifier une petite partie d’une
loi complexe. En cas de difficulté pour écrire une loi, on peut accéder à l’assistance
en cliquant sur le bouton Assistance ou encore utiliser le Sélecteur en passant par
le menu Affichage/Outil/Assistant et en cliquant sur l'icône Sélecteur d'éléments.
- La fenêtre d’assistance (voir figure 12)
Cette fenêtre est utilisée pour afficher des messages servant à compléter une loi.
Ceci est accessible à l’aide du « mode assistance ».
Si WITNESS trouve une erreur dans la loi entrée, un message approprié est affiché.
La souris n’est plus active quand le curseur texte est dans la fenêtre d’assistance.
- Les boutons « Assistance », « Annuler », « Valider » et « OK » :
Gipsi - M2 - FF
16
Comment construire un modèle de base avec WITNESS ?
Cliquer sur OK quand une loi est entrée. Si la loi est correcte, l’Editeur de Lois
disparaît et on retourne dans la fenêtre de description. Si elle contient une erreur, un
message apparaît dans la fenêtre d’assistance et le curseur est placé sur la partie de
la loi incorrecte. Une vérification de la syntaxe sans sortie de l'éditeur peut être faite
en cliquant sur Valider.
Cliquer sur Annuler pour abandonner la loi entrée. On retourne alors dans la fenêtre
de Description sans avoir changé quoi que ce soit.
Pour utiliser le mode assistance après le premier mot de la loi, cliquer sur
« Assistance ». Répondre aux messages de la fenêtre d’assistance ou cliquer sur le
bouton OK pour accepter les réponses par défaut données entre crochets.
Figure 12 : Assistance à l'édition de lois
b. Principales lois d’entrée

WAIT

PULL
A partir d’une liste d’éléments dans un ordre préférentiel.
Ex:
PULL from B1, B2
Tire à partir de B 1 en premier, si échec tire à partir de B2.
En attendant qu’un article soit poussé d’un élément.
Ex:
PULL A from B1, B from B2
Tire l’article A de BI en premier, si échec tire l’article de B2
Gipsi - M2 - FF
17
Comment construire un modèle de base avec WITNESS ?

MOST (LE PLUS) Parts (articles)/Free space (espaces libres) dans une liste
d’éléments
Ex: MOST PARTS B1, B2
prend un article dans B1 ou B2, dans celui ayant le plus d’articles.

LEAST (LE MOINS) Parts (articles)/Free space (espaces libres) dans une
liste d’éléments.
Ex:
LEAST FREE B1, B2
prend un article dans BI ou B2, dans celui qui a le moins d’espace.

PERCENT Tirage aléatoire dans une liste d’éléments
Ex:
PERCENT/1 B1 70.00, B2 30.00
Les articles sont tirés de façon aléatoire en suivant la suite numéro l
pour satisfaire 70 % provenant de BI et 30 % provenant de B2.

SEQUENCE
A partir d’une liste d’éléments, avec option d’échec.
Ex:
SEQUENCE/WAIT B1 # (1), B2 # (2), B3 # (1)
prend 1 article dans Bl, ensuite 2 dans B2 et enfin 1 dans B3 . S’il n’y a
pas d’articles disponibles, attend (WAIT) jusqu’à ce qu’il y en ait un.
Ex:
SEQUENCE/NEXT B1 # (1), B2 # (2), B3 # (1)
comme ci-dessus, mais si un article n’est pas disponible, passe à la
partie suivante (NEXT) de la séquence pour faire une tentative.
Ex:
SEQUENCE/RESET B1 # (1), B2 # (2), B3 # (1)
comme précédemment, mais si un article n’est pas disponible, remise à
zéro (RESET) de la séquence et recommence depuis le début.

IF
Une expression est vraie.
Ex:
IF NPARTS (B1) > 5
PULL from B1 ELSE
PULL from B2
ENDIF
S’il y a plus de 5 articles dans Bl, en prendre dans Bl, sinon en prendre
dans B2.

SELECT
Ex:
si X
si X
 BUFFER
Gipsi - M2 - FF
Par rapport à une expression.
SELECT on X B1, B2.
= 1, prend les articles dans B 1, sinon
= 2, prend les articles dans B2.
Crée un stock d’entrée (pour des machines uniquement)
18
Comment construire un modèle de base avec WITNESS ?

Ex.
BUFFER(5)
La machine a un stock d’entrée de capacité 5.
MATCH Utilisée comme loi d’entrée pour obtenir un ensemble d’articles et/ou
d’unités de ressources associés pour une machine, ou comme loi de ressource
pour associer des unités de ressources à une tâche pour cet élément.
Ex:
MATCH/ANY HORLOGE MAGASIN(1) #(2) AND BOITE
MAGASIN(2) #(1)
Dans cet exemple, la loi MATCH associe 2 articles HORLOGE
du premier élément MAGASIN à n’importe quel article BOITE du
deuxième
élément MAGASIN, et envoie cet ensemble d’items
à la machine.
Ex:
MATCH/ATTRIBUTE COULEUR STOCK_CHASSIS#(1) AND
STOCK_PORTE#(4)
Dans cet exemple, la loi MATCH associe 1 article du stock
STOCK_CHASSIS à 4 articles du stock STOCK_PORTE, à
condition qu’ils aient le même attribut de COULEUR, et envoie
cet ensemble à la machine.
Ex:
MATCH/CONDITION TAILLE>10 MAGASIN_A #(7) OR
MAGASIN_B#(7)
Dans cet exemple, la loi MATCH associe 7 articles du stock
MAGASIN_A ou 7 articles du stock MAGASIN_B si leur attribut
de TAILLE est supérieur à 10, et envoie cet ensemble à la
machine.
Ex:
MATCH/ANY APPEL_SERVICE_ASSISTANCE#(1) AND
TECHNICIEN#(1)
Dans cet exemple, la loi MATCH associe n’importe quel article
du stock APPEL_SERVICE_ASSISTANCE à n’importe quelle
unité de ressources TECHNICIEN.
Ex:
MATCH/ANY HORLOGE MAGASIN(1) with TRAVAILLEUR(1)
using path #(2) AND BOITE MAGASIN(2) #(1)
Dans cet exemple, la loi MATCH associe 2 articles HORLOGE
du premier élément MAGASIN à un article BOITE du deuxième
élément MAGASIN, et envoie cet ensemble d’items à la
machine. Les articles HORLOGE sont déplacés depuis leur
position précédente, par un chemin approprié, à l’aide d’
une unité de ressources TRAVAILLEUR.
Gipsi - M2 - FF
19
Comment construire un modèle de base avec WITNESS ?
c. Principales lois de sortie
Pour les exemples, voir les lois d’Entrée

WAIT
En attendant qu’un article soit tiré d’un élément

PUSH
Vers une liste d'éléments dans un ordre préférentiel

MOST Parts (articles)/Free space (espaces libres) dans une liste d’éléments

LEAST Parts (articles)/Free space (espaces libres) dans une liste d’éléments

PERCENT

SEQUENCE Vers une liste d’éléments, avec option d’echec

IF
Une expression est vraie

SELECT
Par rapport à une expression

BUFFER
Crée un stock de sortie (pour des machines uniquement)
Tirage aléatoire dans une liste d’éléments
Toutes les lois peuvent se composer avec la loi IF sauf les lois PERCENT et
SEQUENCE.
Les articles peuvent être tirés du WORLD (monde extérieur) ou quitter le modèle en
étant poussés vers SHIP (expédiés), SCRAP (rebutés) ou ASSEMBLE (assemblés).
Si des articles arrivent activement dans le modèle, mais ne peuvent pas entrer dans
le modèle (par exemple: le stock d’arrivée est plein), ils seront rejetés et n’entreront
jamais dans le modèle.
Gipsi - M2 - FF
20
Comment construire un modèle de base avec WITNESS ?
5. Convoyeurs
Les convoyeurs sont un des moyens de satisfaire les besoins en manutention
automatisée (transitique). Voici quelques exemples de convoyeurs :
- Un convoyeur à bandes transportant des bagages dans un aéroport.
- Un convoyeur transportant des caisses de voitures sur une ligne de
production.
- Un système de transfert avec des palettes.
- Un convoyeur à rouleaux transportant des cartons vides vers une opération
d'emballage.
Il y a deux types de convoyeurs dans WITNESS :
- Les convoyeurs sans accumulation qui maintiennent une distance
constante entre les articles. Si le convoyeur s'arrête, par exemple pour qu’une
machine prenne un article, la distance entre les articles sur le convoyeur reste
la même. Ce type de convoyeur est utilisé sur les dispositifs de transfert
SYNCHRONES et l’entraînement des articles est généralement réalisé par un
obstacle (taquet ou butée).
- Les convoyeurs à accumulation permettent aux articles de s’accumuler. Si
un article est arrêté sur une position, les autres articles se rangent les uns
contre les autres jusqu'à ce que le convoyeur soit plein. C’est le cas des
convoyeurs à bande qui entraînent par adhérence les articles mais les laisse
glisser sur la bande dés que l’un d’eux est bloqué. Ce type de convoyeur est
utilisé sur les dispositifs de transfert ASYNCHRONES.
Il faut aussi spécifier le nombre maximal d'articles (longueur en articles) que le
convoyeur peut contenir.
On peut restreindre le nombre d’articles sur le convoyeur (par exemple, en raison de
restrictions de poids) en spécifiant une capacité maximale pour le convoyeur. La
capacité maximale par défaut est la longueur représentée : longueur art.
La loi d’entrée par défaut est WAIT, et sauf si le convoyeur doit aller chercher des
articles dans un stock, il est recommandé de laisser cette loi pour les convoyeurs à
accumulation (Par exemple : PUSH en sortie de machine et WAIT en entrée de
convoyeur).
Déplacement : Le temps de cycle spécifie le temps nécessaire pour déplacer un
article d’une distance égale à sa longueur donc pour passer d’une position à une
autre du convoyeur. Le temps total de transfert des articles entre les deux extrémités
du convoyeur est donc :
Temps total de transfert = Temps de cycle x Longueur en articles
Le bouton Vers permet de spécifier une loi de sortie, qui décrit la route des articles
après qu’ils aient quitté le convoyeur.
Gipsi - M2 - FF
21
Comment construire un modèle de base avec WITNESS ?
Figure 13 : Fenêtre de description d'un convoyeur
6. Les pannes
Les pannes des machines et des convoyeurs peuvent être modélisées avec Witness
en cliquant sur l’onglet Pannes de la description d’une machine ou d’un convoyeur.
Il est conseillé de s’assurer de la cohérence du modèle sans pannes avant de le
compléter avec des perturbations telles que les pannes.
Figure 14 : Exemple de description d’une panne
Gipsi - M2 - FF
22
Comment construire un modèle de base avec WITNESS ?
a. Modes de panne
On peut modéliser les pannes suivant 3 modes :
 Temps disponible : Ceci est utilisé pour modéliser des machines qui peuvent
tomber en panne, qu’elles soient en service ou non. Dans la plupart des cas,
ce mode est à éviter.

Temps d’occupation : Ceci est utilisé pour modéliser des machines qui ne
peuvent tomber en panne que pendant qu’elles fonctionnent. Seul le temps
passé par la machine dans l’état OCCUPE est inclus dans le calcul. Ce temps
est aussi appelé Temps de Fonctionnement (TF). C’est ce mode qui est à
privilégier pour modéliser des pannes, car il permet d’utiliser directement des
paramètres tels que le MTBF (TFMIP) et le MTTR (TPM).

Nombre d’Opérations : C’est une autre possibilité qui prend en compte le
nombre d’opérations effectuées par une machine, plutôt que le temps
disponible.

b. Intervalle de pannes
Pour le mode Temps disponible, le temps entre pannes est le temps entre le
début d’une panne et le début de la suivante.

Pour le mode Temps d’occupation, l’intervalle de pannes correspond au
temps entre la fin d’une panne/réparation et le début de la panne suivante,
plus couramment appelé MTBF (Mean Time Between Failure que l’on peut
traduire en français par Moyenne des Temps de Bon Fonctionnement) ou
encore TFMIP (Temps de Fonctionnement Moyen Inter-Pannes).

Pour le mode Nombre d’opérations, il faut spécifier le nombre d’opérations
entre deux pannes successives.
c. Durée de la panne/réparation
Quand une machine ou un convoyeur tombe en panne, quel que soit le mode de
panne choisi, WITNESS doit connaître la durée de l’arrêt. Cette durée inclus la
détection de la panne, l’attente de l’intervention de maintenance ainsi que la
réparation elle-même. Cette durée est aussi appelée MTTR (Mean Time To Repair
traduit en français par Moyenne des Temps Techniques de Réparation) ou encore
TPM (Temps de Panne Moyen).
Remarques
Les intervalles de pannes et les durées de réparation peuvent être modélisés avec
des valeurs réelles et constantes (cas d’une valeur moyenne) ou avec des lois de
distribution aléatoires. Il suffit dans ce cas de saisir dans le champ correspondant
une loi de distribution avec un numéro de suite aléatoire (utiliser l'assistant
<Sélection d'une distribution>).
Gipsi - M2 - FF
23
Comment construire un modèle de base avec WITNESS ?
7. Les réglages
Seules les machines ont la possibilité de comporter des réglages. Les réglages,
contrairement aux pannes, sont des interruptions planifiées correspondant par
exemple à des changements d’outils, à des nettoyages, etc…
Pour modéliser un réglage, il suffit de cliquer sur l’onglet Réglages de la description
d’une machine.
Figure 15 : Exemple de description d’un réglage
a. Modes de Réglage
Le mode pour spécifier un réglage peut être :



Nombre d’opérations : Le réglage s’effectue après un nombre spécifié
d’opérations.
Changement d’article : Le réglage s’effectue si l’article à traiter est différent
de l’article traité précédemment.
Changement de valeur : Le réglage s’effectue au début du cycle lors d’un
changement de valeur de la variable ou de l’expression spécifiée.
b. Intervalle de réglage
Pour le mode Nombre d’opérations, il faut également spécifier l’intervalle entre
réglages en entrant le nombre d’opérations entre les réglages et le nombre
d’opérations avant le premier réglage. Ce champ est à compléter quand on fait
l’hypothèse que la simulation débute avec un outil qui n’est pas neuf.
c. Temps de réglage
Le temps nécessaire pour effectuer le réglage doit être une expression valide,
constante réelle ou loi de distribution aléatoire.
Gipsi - M2 - FF
24
Comment construire un modèle de base avec WITNESS ?
8. Les opérateurs
Pour modéliser des opérateurs, WITNESS possède des éléments de type
RESSOURCE. Après les avoir déclaré, les ressources utilisées pour un cycle, une
réparation ou un réglage sont décrites en cliquant sur le bouton Loi de Ressources
de chacun de ces onglet. On accède à un éditeur de loi qui permet de saisir le nom
des ressources et si nécessaire une expression logique.
Figure 16 : Editeur de Loi de Ressources
Une loi de ressources peut prendre les formes suivantes :
 OPER
Un opérateur OPER est nécessaire.
 OPER#2
Deux opérateurs OPER sont nécessaires.
 JEAN AND LUCIEN
Deux opérateurs distincts sont nécessaires.
 JEAN OR LUCIEN
L’un ou l’autre des opérateurs est nécessaire.
Gipsi - M2 - FF
25
Comment construire un modèle de base avec WITNESS ?
9. Les variables
La plupart des données peuvent être stockées dans les descriptions des éléments de
WITNESS (par exemple, les temps de cycles, données de pannes). Cependant, il est
souvent utile de les stocker dans des variables.
De manière générale, les variables sont les plus utiles lorsque les données à stocker
ou à utiliser ne sont pas en relation avec des articles individuels ou ne peuvent pas
être utilisées directement dans les descriptions des éléments.
Les variables sont des valeurs auxquelles on peut avoir accès depuis n'importe où
dans le modèle.
a. Techniques utiles d’utilisation des variables
Stockage temporaire :
Si WITNESS ne permet pas d'évaluer une expression
sur une ligne, il sera possible d'utiliser une variable pour
l'évaluer en 2 étapes ou plus.
Compteurs :
Pour recueillir des statistiques ou maintenir un
enchaînement séquentiel ou cyclique d'un processus.
Bascules logiques :
Utilisées pour contrôler le flux d'articles sous certaines
conditions.
Paramètres :
Pour tester plusieurs valeurs différentes (lues à partir
d'un fichier par exemple).
b. Actions Initiales (Menu MODELISER)
Ce sont des actions exécutées au temps zéro et qui peuvent être utilisées pour fixer
les valeurs initiales des variables. Si les variables n'ont pas de valeur à
l'initialisation, pour commencer elles auront une valeur nulle.
c. Variables système
Il existe 6 variables toujours disponibles et prédéfinis dans WITNESS. Parmi elles, la
plus utilisée est :
TIME
qui est une variable réelle contenant le temps courant de l'horloge de
simulation. Elle aura les unités utilisées dans le modèle.
d. Déclarer une variable utilisateur
Pour déclarer une nouvelle variable, sélectionner la commande modéliser/élément
pour afficher le sélecteur d'Elément, puis cliquer sur le bouton Déclarer pour afficher
la boîte de dialogue Déclarer.
 Nom : Entrer le nom de la variable. Le premier caractère du nom doit
être une lettre. La taille maximale du nom est 24 caractères.
Gipsi - M2 - FF
26
Comment construire un modèle de base avec WITNESS ?
 Type de l’élément : Cliquer sur la flèche et sélectionner Variable dans
la liste Type de l'élément. Sélectionner le type variable dans la liste
déroulante (entier, réel, nom ou chaîne ).
Pour finir, cliquer sur le bouton Créer. Une fois la variable créée, on peut la
représenter ou la décrire en cliquant sur le bouton approprié dans la boîte de
dialogue Déclarer.
10.
Les attributs
Les attributs sont les caractéristiques propres de chaque article ou ressource.
On peut déclarer des attributs utilisateurs, mais WITNESS associe automatiquement
quatre attributs système à chaque article ou ressource :
TYPE, PEN, DESC, ICON
TYPE indique le nom de l’article ou la ressource courante ;
PEN permet de définir la couleur de représentation de l’article (par défaut, PEN = 0
(lettres vertes sur fond noir));
DESC correspond à une représentation des articles sous la forme des 4 premiers
caractères du nom de l’article ;
ICON est identique à DESC, mais permet de représenter l’article sous la forme d’un
icône.
11.
Les fonctions intégrées
WITNESS propose un ensemble de fonctions qui permettent de construire une
logique “intelligente” en vue d’associer des réactions “intelligentes” à la logique d’un
modèle.
Les principales fonctions intégrées sont :

ISTATE
Nombre indiquant l'état de l'élément spécifié

NCREATE
Nombre d'articles du type spécifié qui a été créé

NFREE Espaces libres dans l'élément spécifié

NPARTS

PUTIL Pourcentage de temps que l'élément spécifié est resté dans l'état
Nombre d'articles dans l'élément spécifié
spécifié.
Gipsi - M2 - FF
27
Comment construire un modèle de base avec WITNESS ?
12.
Les actions
Les Actions sont une caractéristique puissante de WITNESS et peuvent être utilisées
pour améliorer la logique d'un modèle de simulation. Les Actions sont un moyen de
donner des instructions à WITNESS afin de faire exécuter dans le modèle une action
particulière au moment désiré dans le déroulement de la simulation.
Les Actions peuvent être utilisées pour modifier les valeurs des variables et des
attributs ou pour exécuter une commande spécifiée, tel un changement de type
d'articles ou un enregistrement d’une valeur dans un histogramme.
Les Actions peuvent être trouvées dans les descriptions de la plupart des éléments.
Par exemple, dans les machines au début du cycle, en fin de cycle, lorsque la
machine tombe en panne et après sa réparation.
a. Commandes d’actions utiles
Chaque action est une instruction faisant accomplir une tâche par WITNESS. Les
instructions sont exécutées séquentiellement, en commençant par la première et se
terminant par la dernière.
Exemples d’actions :
Pour attribuer une valeur de 9 à une variable VAR :
VAR = 9
Pour incrémenter un compteur :
COMPT = COMPT + 1
Pour remettre un compteur à zéro :
COMPT =0
Pour ajouter deux variables X et Y et attribuer le résultat à une
troisième variable Z :
Z=X+Y
b. Résumé des principales instructions d’action
Les instructions suivantes sont disponibles dans les actions de WITNESS :

Contrôle des articles
CHANGE
Change le type de l'article

Contrôle de la logique
IF / ELSEIF / ELSE / ENDIF
Exécute différentes instructions dépendant
de la valeur d'une ou des expression(s)
logique(s)
Gipsi - M2 - FF
28
Comment construire un modèle de base avec WITNESS ?

GOTO / LABEL
Continue les actions à la ligne spécifiée

FOR / NEXT
Exécute une ou des instruction(s) tant que la condition fixée n'est pas atteinte

WHILE / ENDWHILE
Exécute une ou des instruction(s) tant que la condition est vraie

RETURN
Sort des actions, renvoie une valeur dans le cas des fonctions WITNESS

STOP
Fait arrêter la simulation
Gipsi - M2 - FF
29