Simulation de processus Licence Pro de Mécanique
Transcription
Simulation de processus Licence Pro de Mécanique
Simulation de processus Licence Pro de Mécanique - IUT de Saint-Étienne Éléments et blocs usuels Vincent Augusto 2006 1 Introduction Beginning Time : Date de début d’une réplication. Replication Length : Durée d’une réplication, ici 500 UT. Terminating Condition : Condition d’arrêt eventuelle de la simulation. Ce document présente les principaux élements et blocs utilisables dans Arena version 7.01. UT signifie Unité de Temps, et doit être fixée par le concepteur du modèle de simulation. Il en est de même pour UD, qui signifie Unité de Distance. Un terme en gras désigne une catégorie, et un terme en italique désigne le paramètre d’une catégorie. Un terme en petites capitales désigne un élément ou un bloc. 2 2.2 Queues Liste des files d’attente. Éléments 2.1 Replicate Paramétrage de la simulation. Name : Nom donné à la file d’attente, ici file machine. Ranking Criterion : Règle de tri en vigueur dans la file d’attente (FIFO, LIFO, Ordre croissant/décroissant selon un attribut). Si LowValueFirst ou HighValueFirst est sélectionné, préciser l’attribut sur lequel s’effectuera le tri dans Rule Expression. 2.3 Number of Replication : Nombre de réplications (exécutions de la simulation), ici 10. Resources Liste des ressources. 1 Name : Nom donné à la ressource, ici machine. Integer or Sched ID : Capacité de la ressource, lorsque Capacity or Schedule est à Capacity. Ici, la capacité est égale à 1. d’occupation, etc., donnant lieu à des statistiques. Il est également possible de définir des incidents sur la ressource en question, ainsi que des notions de préemption. 2.4 Counter Liste des compteurs. Name : Nom donné à l’indicateur, ici tps presence. 2.6 Attributes Liste des attributs relatifs aux entités du modèle : chaque entité possède un ou plusieurs attributs qui lui sont propres. Name : Nom donné au compteur, ici cpt pieces. Limit : Borne supérieure du compteur. 2.5 Tallies Liste des indicateurs utilisés dans le modèle, permettant de calculer temps de présence, taux 2 2.8 Name : Nom donné à l’attribut, ici n. 1-D Array Index : S’il s’agit d’un vecteur, dimension du vecteur. S’il s’agit d’une matrice, nombre de lignes. 2-D Array Index : S’il s’agit d’une matrice, nombre de colonnes. Initial Values : Valeurs initiales de l’attribut s’il y a lieu. Les valeurs sont données colonne par colonne, une valeur par ligne de texte. Stations Liste des blocs d’entrée des sous-modèles. Exemple On a définit ici un attribut nommé n, initialisé à 2. 2.7 Variables Name : Nom donné à la station, ici station machine. Liste des variables, qui sont communes à toutes les entités : il s’agit de paramètres globaux, par opposition aux attributs qui prennent des valeurs relatives aux entités. Les paramètres sont similaires à ceux des attributs. 2.9 Sequences Succession de stations parcourues par une entité. Exemple de paramétrage On définit ici une variable matrice carrée m de dimension 2 : 2 4 m= 1.6 7 Name : Nom donné à la séquence, ici sequence fabrication. Station ID : Station à ajouter à la séquence, déclarée dans l’élément Stations, ici station machine. Il est possible d’accéder aux éléments de cette matrice n’importe où dans le modèle grâce à la variable m. Par exemple, m(1, 1) est égal à 2. Le principe est identique pour une variable de dimension 1 (tableau de valeurs). 3 2.10 Distances Identifier : Nom donné à la carte, ici carte. Starting Station ID : Station de départ, déclarée dans l’élément Stations, ici station machine1. Ending Station ID : Station d’arrivée, déclarée dans l’élément Stations, ici station machine2. Distance : Distance entre les deux stations, en UD. Liste des distance (carte) entre les stations du modèle. Tous les couples possibles de stations doivent être déclarés ici en cas d’utilisation de transporteurs. 2.11 Transporters Liste des transporteurs entre stations. 3 Name : Nom donné au transporteur, ici transporteur. Number of Units : Nombre d’unités pour ce transporteur, ici 1. Map ID : Carte (liste des distances), déclarée dans l’élément Distances, ici carte. Velocity : Vitesse du transporteur, en UD par UT. Variables globales et attributs système Un certain nombre de variables globales sont définies dans Arena, permettant de connaı̂tre l’état d’un élément quelconque du modèle : – MR et NR sont utilisées pour connaı̂tre l’état d’une ressource à un instant quelconque. Par exemple, MR(machine) renvoie le nombre total d’unités de la ressource machine, et NR(machine) renvoie le nombre 4 d’unité occupées de cette même ressource. – NQ permet de connaı̂tre l’état d’une file d’attente. Par exemple, NQ(file machine) renvoie le nombre de pièces dans la file d’attente file machine. – NC permet de connaı̂tre la valeur d’un compteur. Par exemple, NC(cpt pieces) renvoie la valeur du compteur cpt pieces. Mark Attribute : Permet d’affecter à un attribut la date de création de l’entité courante. Batch Size : Nombre d’entités à créer ; il est ici possible de créer les entités par lots. First Creation : Date de la première création d’entité. Interval : Intervalle de temps entre deux création, ici EXP O(5). Maximum Batches : Nombre d’entités (ou de lots d’entités) maximum à créer. Il existe également un certain nombre d’attributs système prédéfinis, que chaque entité du modèle possède. Ces attributs peuvent librement être modifiés grâce à un bloc ASSIGN. Il est possible de placer plusieurs blocs Create dans un même modèle. De plus, le champ Mark Attribute est également disponible dans d’autres blocs, et possède toujours la même fonction. – NS contient l’ID de la séquence suivie par l’entité. – IS contient l’ID de la station actuellement parcourue par l’entité. Enfin, un certain nombre de lois de probabilité sont définies dans Arena, les plus usuelles étant : – – – – la la la la loi loi loi loi 4.2 Destruction d’entités. Il est possible de placer plusieurs points de sortie dans un même modèle ou dans plusieurs sous-modèles, bien qu’il soit toujours possible de n’avoir qu’un seul bloc Dispose. uniforme : UNIF(a,b). exponentielle : EXPO(a). normale : NORM(µ, σ). triangulaire : TRIA(min,mod,max). Un grand nombre de variables globales, attributs système et lois existent dans Arena. Le lecteur pourra se reporter à la documentation du logiciel pour une liste plus exhaustive que celle présentée ici. 4 4.3 Queue File d’attente, permettant de stocker les entités dont le parcours a été interrompu. Cela arrive principalement lorsqu’une ressource est indisponible. Blocs 4.1 Dispose Create Création d’entités. Queue ID : File d’attente déclarée dans l’élément Queues, ici file machine. Capacity : Capacité maximale de la file d’attente, ici 10. 5 4.5 Si une nouvelle entité arrive dans la file d’attente déjà pleine, celle-ci est redirigée vers le deuxième sortie du bloc. Il est possible d’accéder au nombre d’entités en attente dans la file n’importe où dans le modèle grâce à la commande N Q(nom f ile). 4.4 Release Libération de ressource(s). Seize Allocation de ressource(s). Resource ID : Ressource à libérer, déclarée dans l’élément Resources, ici machine. Quantity to Release : Nombre d’unités de la ressource à libérer, ici 1. Lorsqu’une tâche est terminée, l’entité doit libérer la ressource mobilisée. 4.6 Delay Temps d’attente. Priority : Permet de séparer deux demandes de la même ressource en même temps s’il existe plusieurs blocs Seize sur la même ressource dans le modèle ; la plus petite priorité est choisie. Resource ID : Ressource à allouer, déclarée dans l’élément Resources, ici machine. Number of Units : Nombre d’unité de la ressource à allouer, ici 1. Une entité attend l’allocation dans une file jusqu’à ce que la totalité des unités de ressource demandées soit libres. Seule la première entité de la file d’attente est candidate à l’allocation. Il est possible d’accéder au nombre d’unités total d’une ressource grâce à la commande M R(ressource), et au nombre d’unités occupées d’une ressource grâce à la commande N R(ressource). Duration : Durée du temps d’attente, ici T RIA(3, 4, 5). 6 4.7 Count 4.9 Compteur d’entités. Branch Branchement conditionnel ou probabiliste. Counter ID : Nom du compteur, déclaré dans l’élément Counters, ici cpt pieces. Counter Increment : Valeur à additionner au passage de chaque entité, généralement 1. Il peut s’agir de la valeur d’un attribut. 4.8 Tally Réalisation de statistiques (mesure de minimum, maximum, moyenne et écart-type). Max Number of Branches : Nombre maximal de sorties actives pour une entité. Attention, cet argument vaut pour la plupart du temps 1. Branch Type : Type de sortie : If : Condition de sortie. With : Probabilité de sortie. Else : Sortie par défaut. Condition or Probability : Condition s’il s’agit d’un If, probabilité sinon. Dans l’exemple : If type piece == 1. Attention, pour une égalité, ne pas oublier de doubler le signe égal. Tally ID : Nom de l’indicateur, déclaré dans l’élément Tallies, ici tps presence. Value : Valeur de l’indicateur. On peut mesurer plusieurs choses, par exemple : – un intervalle de temps. On utilise alors le mot-clef interval en précisant la date de début de l’intervalle. Dans l’exemple, on mesure le temps passé par l’entité dans le système (on suppose date debut marqué dans le bloc Create). – l’état d’une variable globale. Généralement, un bloc Branch comporte toujours le même type de sortie, déterministe (If ) ou probabiliste (With). Remarque En ce qui concerne l’affectation d’une caractéristique en fonction d’une probabilité, les deux exemples ci-dessous sont parfaitement équivalents. 7 4.11 Group Regroupement d’entités. Utilisation d’un bloc Branch. Utilisation d’un bloc Assign et de la loi discrète. En cas d’utilisation de la loi discrète, les probabilités doivent être additionnées. 4.10 Assign Match Expression : Seules les entités qui vérifient l’expression précisée ici seront regroupées. Group Type : Nature du regroupement ; généralement, le regroupement est temporaire. Quantity to Group : Nombre d’entité à regrouper, ici 5. Modification de la valeur d’un attribut ou d’une variable. 4.12 Split Séparation d’entités préalablement regroupées Variable or Attribute : Nom de la variable ou de l’attribut déclaré dans l’élément Variables ou Attributes. Value : Valeur à attribuer. Il peut s’agir d’un nombre, d’une fonction ou d’une autre variable ou d’un autre attribut. Plusieurs attributs ou variables peuvent être affectés dans le même bloc. Le bloc restitue en sortie le nombre d’entités qui étaient regroupées. 8 4.13 Station 4.15 Request Appel d’un transporteur. Ce bloc est équivalent à l’association des blocs Allocate (allocation d’un transporteur sans l’appeller) et Move (déplacement d’un transporter vers une station sans allocation). Point d’entrée d’un sous-modèle. Beginning Station ID (...) : Station déclarée dans l’élément Stations, ici station machine. On suppose ici que les blocs Station sont toujours utilisés comme point d’entrée d’un sousmodèle. 4.14 Priority : Priorité de l’appel au transporteur, ici 1. Transporter Unit : Nom du transporter appelé, déclaré dans l’élément Transporters, ici transporter. Entity Location : Station où se trouve l’entité, déclarée dans l’élément Stations, ici station machine. Route Bloc de sortie/de transfert d’un sous-modèle. L’entité est redirigée vers une autre station. 4.16 Free Libération d’un transporteur. Duration : Durée du transfert, ici 10. Destination : Nom de la station de destination, ici station machine. Si l’on a affecté à l’attribut système NS le nom d’une séquence déclarée dans l’élément Sequences, et si l’on remplit le champ Destination du bloc Route avec la chaı̂ne SEQ, l’entité est automatiquement redirigée vers la station suivante de sa séquence. Transporter Unit : Nom du transporteur à libérer, déclaré dans l’élément Transporters, ici transporteur. Une fois libéré, le transporter reste dans la station où il se trouve. 9