Académique Documents
Professionnel Documents
Culture Documents
Page 113
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Page 114
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
compagnie aérienne vérifient les billets de leurs passagers avant de leur permettre de monter à
bord.
Nous allons utiliser une approche en six phases pour développer notre modèle. Dans la phase finale,
vous apprendrez à lire les données de vol de la base de données (disponibles dans un tableur
Microsoft Excel) et à configurer les piétons en leur affectant des informations de vol.
Phase 1. Définir le flux piétonnier simple
Au cours de notre première phase, nous utiliserons la bibliothèque pour piétons d’AnyLogic
(Pedestrian Library) pour créer un modèle simple d’aéroport où les passagers arrivent, puis se rendent
à la porte.
Bibliothèque des piétons :
Les méthodes de modélisation traditionnelles telles que les événements discrets et la mise en
file d'attente risquent de ne pas bien fonctionner dans les zones très fréquentées par les piétons.
La bibliothèque pour piétons d’AnyLogic simule les flux de piétons dans des environnements
«physiques» en vous permettant de créer des modèles de bâtiments et de zones avec un grand
nombre de piétons tels que des stations de métro, des points de contrôle de sécurité et des rues.
Les piétons de votre modèle se déplacent dans un espace continu tout en réagissant les uns aux
autres. Cela vous permet de collecter des données sur la densité de piétons d'une zone donnée,
de garantir des niveaux de performance acceptables pour les points de service avec une charge
hypothétique, d'estimer la durée pendant laquelle les piétons resteront dans des zones
spécifiques et de détecter les problèmes potentiels causés par des modifications de l'intérieur,
telles que l'ajout ou la suppression d'obstacles.
Dans la plupart des cas, vous allez commencer à créer un modèle dynamique pour les piétons en
ajoutant la disposition du bâtiment simulé, puis en dessinant les murs par-dessus.
1. Créez un nouveau modèle et nommez-le Airport. Sélectionnez minutes comme unités de temps
du modèle.
2. Faites glisser une image de la palette de présentation (Presentation) sur le diagramme
principal.
3. Choisissez le fichier image que vous souhaitez afficher. Dans cet exemple, vous sélectionnerez
le fichier image terminal.png dans le dossier contenant les fichiers associés à ce cours.
4. Sur le diagramme principal, placez l’image dans le coin inférieur gauche du cadre bleu. Si
l'image est déformée, cliquez sur le bouton Reset to original size, puis cochez la case Lock
pour verrouiller la forme de l'image.
Page 115
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Nous allons utiliser des murs, des objets dans l’espace simulé de notre modèle que les piétons
ne peuvent pas traverser, pour créer notre modèle. En termes simples, nous sommes sur le point
d’utiliser les trois formes de balisage ci-dessous pour placer des «murs AnyLogic» au-dessus
des murs qui apparaissent dans notre image.
Page 116
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Les murs :
: Utilisez cette forme pour dessiner les murs extérieurs et intérieurs.
: Utilisez cette forme pour dessiner des zones rectangulaires telles que des
espaces de travail inaccessibles aux piétons.
: Utilisez cette forme pour dessiner des obstacles circulaires tels que des colonnes,
des piscines et des fontaines.
5. Utilisez la palette Pedestrian Library pour dessiner les murs de l’aéroport. Double-cliquez
sur l'élément Wall que vous trouverez dans la section Space Markup de la palette Pedestrian
Library, puis tracez le mur autour du bord de l'aéroport en cliquant avec votre souris chaque
fois que vous souhaitez ajouter un point. Lorsque vous êtes prêt à définir le point final du mur,
double-cliquez sur votre souris.
Changeons l’aspect de notre mur en choisissant une nouvelle couleur et une nouvelle hauteur.
6. Accédez aux propriétés du mur, puis sélectionnez Color: dodgerBlue dans la section
Apparence.
Maintenant que nous avons défini les murs du bâtiment et choisi leur couleur, nous allons
utiliser l’élément de balisage spécial Ligne (Line) cible pour garantir que les piétons de notre
modèle apparaissent à l’entrée de l’aéroport, puis se dirigent vers la porte.
Ligne cible (Target Line):
Dans un modèle de dynamique des piétons, l'élément Ligne cible définit les emplacements où les
piétons apparaissent dans l'espace simulé, où ils attendent (bien que ces zones définissent généralement
des emplacements d'attente) et leur destination.
7. Définissez l'emplacement où apparaissent les passagers de votre modèle en faisant glisser
l'élément Target Line de la palette Pedestrian Library sur le diagramme, comme illustré dans
la figure ci-dessous.
Page 117
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Les éléments de ligne cible et les formes de marquage de l'espace de votre modèle doivent se
trouver à l'intérieur des murs. Si l'une des formes de marquage d'espace de votre modèle touche
un mur, le message d'erreur «Exception during the discrete event execution: Unreachable
target…» peut s'afficher lors de l'exécution du modèle.
Nous avons marqué l’espace qui définit notre modèle piétonnier simple et nous allons maintenant
utiliser un organigramme pour définir la logique de processus du modèle.
Définition de la logique de flux piétonniers à l'aide de blocs d'organigrammes de la bibliothèque
Pedestrian Library :
Vous utiliserez un organigramme pour définir les processus qui se déroulent dans vos modèles de
dynamique piétonnière. Les piétons de votre modèle passent par un diagramme et effectuent les
opérations définies par les blocs.
Les blocs les plus importants de la bibliothèque piétonne sont :
: Ce bloc génère des piétons un peu comme le bloc Source qui génère des agents dans
un organigramme standard de la bibliothèque de modélisation de processus. Vous utiliserez
généralement ce bloc comme point de départ de votre flux de piétons.
: Ce bloc simule la manière dont les piétons reçoivent les services aux points de
service.
: Ce blocage oblige les piétons à attendre pendant un temps donné à un endroit spécifié.
: Ce bloc utilise des conditions spécifiées pour acheminer les piétons vers
plusieurs itinéraires ou processus.
Page 118
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
: Ce bloc dispose des piétons et est généralement le point final du flux de piétons.
10. Commencez par faire glisser le bloc PedSource de la palette Pedestrian Library sur notre
diagramme principal (Main).
11. Puisque nous voulons que les passagers arrivent au hasard à un taux moyen de 100 passagers
par heure, accédez aux propriétés du bloc pedSource, puis tapez 100 dans la case Arrival rate.
12. Spécifiez l'emplacement où les passagers apparaissent dans le système simulé en cliquant sur
ArrivalLine dans la liste Target Line.
13. Ajoutez un bloc PedGoTo pour simuler le mouvement des piétons à l'emplacement spécifié,
puis connectez-le à pedSource. Puisque nous voulons que nos passagers se rendent à la porte,
nommez l'objet goToGate1.
Pour connecter les blocs, ajoutez un nouveau bloc de la palette au diagramme graphique et placez-
le près d'un autre bloc.
Page 119
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
15. Ajoutez un bloc PedSink pour éliminer les piétons entrants. Les organigrammes pour piétons
commencent généralement par un bloc PedSource et se terminent par un bloc PedSink. Votre
organigramme devrait ressembler à la figure ci-dessous.
16. Exécutez le modèle. Dans l'animation 2D, vous verrez les piétons se déplacer de l'entrée de
l'aéroport à la porte.
3. Sur la page Agent animation, sélectionnez le premier élément de la liste Général : Person,
puis cliquez sur Finish.
Page 120
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
6. Faites glisser la fenêtre 3D (3D Window) sur le diagramme principal et placez-la sous l'image
de la structure du terminal.
Page 121
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
7. Ouvrez les propriétés de la fenêtre 3D, puis sélectionnez caméra dans la liste Caméra.
8. Nous voulons que notre bloc d'organigramme pedSource crée des piétons de notre type de
passager personnalisé. Ouvrez les propriétés pedSource, puis sélectionnez Passenger dans la
zone New pedestrian de la section Pedestrian.
9. Exécutez le modèle et vous verrez des piétons passer de l'entrée à la porte à l'intérieur du
bâtiment. Vous pouvez passer à une vue 3D sélectionnant [window3d].
10. Parcourez la scène pour obtenir la meilleure vue, cliquez avec le bouton droit à l'intérieur de
la scène 3D, puis cliquez sur Copy camera location.
Page 122
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
11. Fermez la fenêtre de simulation, ouvrez les propriétés de la caméra, puis appliquez la caméra
optimale que vous avez sélectionnée à l'étape précédente en cliquant sur Paste coordinates
from clipboard
12. Exécutez le modèle une deuxième fois et affichez la vue 3D fournie par la nouvelle position de
la caméra.
Page 123
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
1. Faites glisser l'élément Service with Lines de la palette Pedestrian Library sur la disposition
du terminal. Par défaut, un service aura deux points de service et deux lignes de file d'attente
qui mènent aux points de service.
2. Ouvrez la zone de propriétés Service With Lines, utilisez la zone Name pour nommer la forme
scpServices, dans ce cas, «scp» (security checkpoints) ce que signifie points de contrôle de
sécurité, puis changez l’option Type of service en Linear.
Une fois que vous avez changé le type de service d'un service de point à un service linéaire, les
formes de service changeront de points en lignes.
Services linéaires et ponctuels dans les modèles piétons :
Un service piéton peut être un service linéaire ou un service ponctuel.
• Dans un service linéaire comme un tourniquet, les piétons se déplacent continuellement du point de
départ de la ligne au point d'arrivée de la ligne.
• Dans un service ponctuel comme un guichet, les services aux piétons ont lieu à un point spécifique
où les piétons attendent le temps de retard donné.
Nous utilisons un service linéaire pour nous assurer que les passagers de notre modèle marchent le
long de la ligne de service et passent par le détecteur de métaux du contrôle de sécurité. Maintenant,
Page 124
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
nous allons nous assurer que le point de service linéaire traverse verticalement le support d'espace qui
représente le détecteur de métaux.
3. Utilisez la poignée ronde au-dessus du centre de la forme pour faire pivoter le service.
4. Déplacez le service de manière à ce que le premier service linéaire traverse le rectangle qui
représente le cadre du détecteur de métaux.
Page 125
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
polygonale. Vous devrez prêter une attention particulière à ces règles lorsque vous travaillez avec des
formes de balisage d'espace complexes :
• Votre premier clic sélectionnera la forme de balisage d'espace complexe complet (Service avec
lignes).
• Après avoir sélectionné la forme de balisage d'espace complexe, vous pouvez cliquer sur n'importe
quelle forme de composant pour la sélectionner (Ligne de service ou de file d'attente).
5. Sélectionnez la prochaine ligne de service
6. Placez avec précision la ligne de service au-dessus du deuxième espace réservé du point de
contrôle de sécurité, puis ajustez l'emplacement de la file d'attente.
7. Accédez aux propriétés de la forme Service avec lignes, puis définissez le nombre de services
(Number of services) et le nombre de lignes (N of queues) sur 5.
8. Si nécessaire, ajustez les nouvelles lignes de service et de file d'attente. Une fois cette étape
terminée, les formes de service doivent ressembler à celles de la figure ci-dessous.
Maintenant que nous avons dessiné les services, nous allons les ajouter à la logique de notre modèle.
Nous utiliserons un bloc spécial Bibliothèque pour piétons (Pedestrian Library) nommé PedService
pour simuler la façon dont les passagers se déplacent dans nos services de contrôle de sécurité.
Page 126
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
9. Ajoutez le bloc PedService à l'organigramme entre les blocs PedSource et PedGoTo pour que
les piétons passent par le service que nous avons défini à l'aide de la forme Service avec lignes
référencée, puis nommez-le securityCheck.
10. Accédez aux propriétés du bloc securityCheck. Sélectionnez les services scpServices en tant
que Services.
11. Étant donné que nous supposons qu'il faut entre 1 à 2 minutes pour passer par le point de
contrôle de sécurité, tapez uniform(1, 2) minutes comme délai (Delay time).
12. Ajoutons maintenant des modèles 3D des points de contrôle de sécurité. À l'aide de la palette
d'objets 3D (3D Objects), des éléments détecteur de métaux (Metal Detector) et Scanner
XRay (XRay Scanner) de la section Aéroport (Airport), dessinez cinq points de contrôle de
sécurité. Vous verrez la boîte de message, vous invitant à modifier l'échelle de l'objet 3D.
Sélectionnez l'option Ne plus me demander (Do not ask me again) et cliquez sur OK.
13. Exécutez le modèle. Vous verrez que les passagers sont désormais scannés aux points de
contrôle de sécurité.
Page 127
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
3. Placez la forme à l'emplacement indiqué dans la figure ci-dessous. Pour que la ligne ressemble
à ce que vous voyez sur la figure, déplacez la ligne à l'emplacement requis, puis placez le point
final où la ligne commence à tourner.
Ajoutez plus de points saillants à la ligne. Cliquez avec le bouton droit sur la ligne de file
d'attente et choisissez Add points dans le menu contextuel. Ajoutez plus de points en cliquant
à l'endroit où vous souhaitez placer les points saillants de la ligne. Terminez de dessiner la ligne
en double-cliquant.
Ci-dessous les étapes pour construire la ligne d’attente.
4. Dans les propriétés de checkInServices, définissez le Type de file d'attente sur Serpentine.
Utilisez cette option pour simuler des files d'attente serpentines (également appelées "zigzag").
Page 128
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Vous verrez que la file d'attente a des bordures maintenant. Dans l'animation 3D, ils
apparaîtront comme des barrières de ceinture.
6. Dans les propriétés du bloc, sélectionnez la forme de balisage d'espace checkInServices pour
l’option Services.
7. Dans la mesure où nous supposons qu'il faut entre 2 et 4 minutes pour s'enregistrer, tapez
uniform(2, 4) minutes pour l’option.
8. Ajoutez le bloc PedSelectOutput pour acheminer les passagers vers différentes branches de
l'organigramme.
9. Connectez le bloc checkInAtCounter aux blocs d'organigramme existants, comme illustré dans
la figure ci-dessous.
Page 129
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
11. Ajoutons des modèles 3D prêts à l'emploi à la zone d'enregistrement de l'aéroport. Sous l'onglet
Objets 3D de la palette, développez la section People, puis ajoutez deux copies d'Office Worker
et de Woman 2 au diagramme.
Page 130
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
12. Définissez la zone non accessible aux passagers. Ajoutez l'élément Rectangular Wall dans la
section Space markup de la palette Pedestrian Library et placez-le comme indiqué dans la
figure ci-dessous. Dans les propriétés du mur, définissez Visible sur no pour rendre ce mur
invisible lors de l'exécution du modèle.
13. Dans l'onglet Objets 3D (3D Objects) de la palette, sélectionnez la section Office, puis faites
glisser quatre copies de l'objet Table sur le diagramme. Étant donné que les tableaux ne sont
pas orientés dans la bonne direction, utilisez la zone Position de leur section Propriétés pour
définir la Rotation, Z: 90 degrés.
14. Exécutez le modèle. Vous verrez des passagers s'enregistrer et passer par le détecteur de
métaux.
Page 131
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Nous voulons que les passagers attendent avant d'aller à la porte d'embarquement. Pour ce faire, nous
devons dessiner la zone d'attente où les passagers attendront, puis ajouter un bloc de diagramme
(PedWait) pour simuler l'attente.
15. Dessinez la zone d'attente avant les portes à l'aide de l'élément Polygonal Node
de la section Space Markup de la palette Pedestrian Library. Passez en mode dessin et
dessinez la zone comme indiqué dans la figure ci-dessous en cliquant avec votre souris chaque
fois que vous souhaitez ajouter un point. Lorsque vous avez terminé, double-cliquez avec votre
souris.
17. Modifiez les propriétés du bloc en sélectionnant la zone dans la liste Area, puis en définissant
le Delay time sur uniform(15, 45) minutes.
18. Exécutez à nouveau le modèle et vous verrez les passagers maintenant attendre dans la zone
d'attente avant de se diriger vers la porte.
Page 132
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Exercice1 : Ajoutez d'autres fonctions d'enregistrement sur la partie droite (figure ci-dessous) et
configurer PedSelectOutput pour séparer le flux piétons vers plus de branches.
Page 133
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Nous voulons distinguer les passagers dans l'animation 3D, à savoir animer les passagers classe
affaires et économie avec différents modèles 3D. Pour ce faire, nous utiliserons l'objet Person
3D existant pour représenter les passagers en classe économique et ajouterons une autre forme
3D (Office Worker) pour représenter les passagers en classe affaires.
3. Ajoutez l’objet 3D Person de la section People pour animer les passagers de classe
économique, puis ajoutez l'objet 3D Office worker de la section Office pour animer un
passager de classe affaires. Placez les deux figures près de l'origine de l'axe (0,0), comme
indiqué sur la figure ci-dessous :
4. Modifiez la visibilité de ces objets. Tout d'abord, cliquez sur la forme Office worker. Nous
voulons que cette forme ne soit visible que lorsqu'il s'agit d'un passager en classe affaires, c'est-
à-dire lorsque son paramètre business est égale à vrai (true). Basculez vers l'éditeur de valeur
dynamique de la propriété Visible en cliquant sur l'icône à droite du libellé Visible, puis tapez
business dans la zone. Ce faisant, nous rendons cette forme 3D visible uniquement lorsque le
paramètre business du piéton est vrai (true).
5. Maintenant, sélectionnez l'objet 3D person (vous pouvez le faire à partir de l'arborescence des
projets) et définissez Visible sur !business. Cette forme ne sera ainsi visible que si le passager
est un passager économique.
Page 134
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Le symbole ! est l'opérande booléen NON. L’expression !business revient vrai lorsque business est
NON vrai, lorsque le passager n'est pas un passager en classe affaires mais un passager en classe
économique.
Nous voulons mettre en place la classe des passagers à leur arrivée au terminal de l'aéroport.
6. Revenez au diagramme principal (Main) et ajoutez une fonction à partir de la palette d'agent.
Nommez-la setupPassenger.
Dans ce cas, ped est l'argument de la fonction, de type Passenger. Après avoir configuré le passager
comme type d'argument, nous pouvons accéder directement au champ personnalisé de l’activité de
Page 135
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
piéton de type business simplement avec ped.business. La fonction randomTrue(0.15) renvoie true
dans une moyenne de 15% des cas, ce qui signifie qu'une moyenne de 15% des passagers de notre
modèle voyageront en classe affaires.
8. Appelez cette fonction lorsqu'un nouveau piéton est créé par le bloc pedSource. Dans la zone
des propriétés pedSource, cliquez sur la flèche pour développer la section Actions, puis entrez
le code suivant dans la zone On exit: setupPassenger(ped);
Ici, nous appelons notre fonction setupPassenger pour le piéton nouvellement créé. Ce piéton
est passé à la fonction via son argument.
Dessinez deux services avec des lignes pour la porte supérieure, un pour la classe affaires et un
pour les passagers en classe économique.
9. Dessinez un Service avec Ligne , définissant la ligne prioritaire (Type of
service : Point ; Nb of services :1, N of queues : 1). Nommez ce service business1.
Page 136
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
11. Dessinez une zone à la porte avec l'élément de mur rectangulaire ( ), puis
ajoutez une table et deux modèles 3D de femme à la table. Dans les propriétés du mur,
définissez Visible sur non (Visible to no) pour rendre ce mur invisible lors de l'exécution du
modèle.
On va insérer les blocs dans l'organigramme entre les objets pedWait et goToGate1.
12. Ajoutez PedSelectOutput pour acheminer les passagers en classe affaires et en classe
économique vers différentes lignes.
13. Ajoutez deux blocs PedService: businessBoarding1 et economyBoarding1 pour simuler le
processus de vérification des billets des passagers à la porte d'embarquement.
14. Étant donné que le bloc PedSelectOutput achemine les passagers en classe affaires et en classe
économique vers différentes lignes, sélectionnez Use: Conditions, puis tapez ped.business
dans la zone Condition 1. Cette expression sera vraie (true) pour tous les passagers en classe
affaires, ce qui signifie qu'ils suivront la branche supérieure de l'organigramme et rejoindront
la ligne prioritaire. Après avoir configuré les conditions pour les prochains ports de sortie du
bloc (true, false, false), le modèle dirigera tous les autres passagers vers le deuxième port de
sortie.
Page 137
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
15. Pour le bloc businessBoarding1 de type PedService, choisissez business1 comme Services.
Puisqu'il faut entre deux et cinq secondes pour vérifier le billet d'un passager, vous pouvez
légèrement modifier le délai (Delay time).
16. Pour economyBoarding1, définissez Services : economy1, ajustez le délai (Delay time).
17. Exécutez le modèle. Vous verrez des passagers passer le point de contrôle, et un petit nombre
d'entre eux empruntera la ligne prioritaire.
Vous pouvez tester l’effet de la modification des temps d’attentes (Delay time) sur la simulation.
Phase 6. Configuration des vols à partir de la feuille de calcul MS Excel
Dans cette phase, nous modéliserons la façon dont les avions décollent à des heures précises selon un
calendrier stocké dans un fichier Excel.
Base de données AnyLogic :
Chaque modèle AnyLogic dispose désormais d'une base de données intégrée pour lire les données
d'entrée et écrire la sortie de simulation.
Avec la base de données, vous pouvez :
• Lire les valeurs des paramètres et configurer les modèles.
• Créer des populations d'agents paramétrées.
• Générer des arrivées d'agents dans les modèles de processus.
• Consigner les activités de l'organigramme, les événements, les transitions des diagrammes d'états,
etc.
• Afficher l'utilisation des ressources, les temps d'attente, de traitement et de déplacement.
• Stocker et exporter des statistiques, des ensembles de données et des journaux personnalisés.
• Exportez les données vers une feuille de calcul MS Excel.
Page 138
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Vous pouvez facilement importer la base de données dans votre projet AnyLogic à partir d'une base
de données externe ou d'une feuille de calcul. Vous pouvez également créer des tables de base de
données vides et entrer des données manuellement.
Nous allons montrer comment importer des données de la base de données.
1. Nous allons montrer comment importer des données de la base de données .
2. Dans la vue Projects, cliquez avec le bouton droit sur la base de données et sélectionnez
Import database tables... dans le menu contextuel. Vous allez sélectionner le fichier
Flights.xlsx dans le dossier associé à ce cours.
3. Vous verrez la feuille Excel Sheet1 ajouté dans la liste à droite (Slect table(s) you want to
import). Cliquez sur OK pour importer des données de la table de base de données sélectionnée
dans votre modèle
4. Dans la vue Projects, vous verrez l'élément Sheet1 ajouté sous l'élément Database. Double-
cliquez dessus et vous verrez les données stockées dans cette table affichées dans l'éditeur de
table. Le tableau contient trois colonnes contenant des informations sur la destination du vol,
l'heure de départ et le numéro de porte.
Page 139
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Page 140
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Les collections :
Les collections définissent des objets de données qui regroupent plusieurs éléments en une
seule unité pour stocker, récupérer et manipuler des données agrégées. Ils représentent
généralement des éléments de données qui forment un groupe naturel.
9. Maintenant que nous avons créé le type d'agent Flight, nous allons ajouter un paramètre de vol
flight au diagramme des passagers et définir le type de paramètre sur Flight. Ce paramètre
stockera le vol du passager.
10. Revenez au diagramme principal (Main) et ajoutez un paramètre pour définir la durée du temps
d'embarquement. Nommez le nouveau paramètre boardingTime, puis choisissez Type: Time,
Unit: minutes et Valeur par défaut (Default value): 40.
11. Sélectionnez la fonction setupPassenger que nous avons créée précédemment pour terminer
notre processus de configuration. La fonction utilise maintenant la fonction random() pour
sélectionner au hasard le vol que le passager prendra dans la liste des vols disponibles.
Le vol est stocké dans le paramètre flight de passager, et AnyLogic ajoute le passager à une
collection de passagers qui prennent le même vol. Modifiez le code dans la section Corps de la
fonction (Function body) :
Page 141
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
La fonction dateToTime() convertit la date donnée en heure du modèle par rapport à la date de
début et aux paramètres d'unité de temps du modèle. La fonction add() ajoute un élément à la
collection.
Page 142
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
13. Ajoutez deux autres blocs PedService, businessBoarding2 et economyBoarding2, qui sortent
de PedSelectOutput et entrent dans PedGoTo. Laissez PedSelectOutput diriger les passagers
vers quatre ports différents.
14. Ajoutez un autre bloc PedGoTo pour modéliser la façon dont les passagers se déplacent vers
la deuxième porte. Sélectionnez gateLine2 comme ligne cible du bloc (Target line).
Événements dynamiques
Nous allons maintenant utiliser des événements dynamiques qui planifient les actions définies par
l'utilisateur d'un modèle pour planifier les actions de départ et d'embarquement. Un modèle peut
avoir plusieurs instances du même événement dynamique planifiées simultanément et elles peuvent
être initialisées par des données qui sont stockées dans les paramètres de l'événement.
Vous devez utiliser des événements dynamiques dans votre modèle:
• Lorsque vous vous attendez à ce que plusieurs événements, effectuant des actions similaires,
soient planifiés en même temps.
• Lorsque l'action de votre événement dynamique dépend d'informations spécifiques
Page 143
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
REMARQUE : Étant donné qu'AnyLogic représente un événement dynamique en tant que classe
Java, le nom de votre événement dynamique doit commencer par une lettre majuscule.
17. Ajoutez deux éléments d'événement dynamique (Dynamic Event) de la palette d'agent au diagramme
principal.
18. L'événement dynamique DepartureEvent planifie le départ d'un avion en supprimant le vol de
la population d'agents contenant les vols à venir. Utilisez la figure ci-dessous pour vous aider
à configurer l'événement.
Page 144
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
21. Définissez une fonction startBoarding pour modéliser le début du processus d'embarquement
de l'avion. Cette fonction parcourt les passagers qui attendent d'embarquer pour le vol donné
et leur permet d'embarquer en mettant fin à leur retard dans le bloc pedWait avec l'appel de la
fonction du bloc free().
Dans cet exemple, nous utilisons une boucle "for" pour parcourir la collection de de
passagers passengers définie à l'intérieur de l’objet flight. Les passagers qui montent à bord
de l'avion doivent ainsi quitter la salle d'attente.
Itération à travers une population d'agents à l'aide de la boucle "for" :
Les deux formes de la boucle "for" sont le moyen le plus simple pour itérer AnyLogic à travers les
agents d'une population :
Page 145
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Syntaxe Exemple
22. Définissez une fonction planBoardings pour planifier l'embarquement pour tous les vols
enregistrés. La fonction parcourt les agents de la population de vols (flights) dans une boucle
‘’for ‘’. Elle permet aux vols qui doivent décoller avant la fin de leur temps d'embarquement
de commencer immédiatement l'embarquement. Les vols qui ne remplissent pas cette condition
commenceront leur processus d'embarquement 40 minutes avant leur heure de départ, comme
nous l'avons défini dans le paramètre boardingTime.
Page 146
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Nous devons lier le point de départ de la simulation à une date spécifique dans le fichier Excel qui
définit l'heure de départ.
24. Dans l’arborescence Projects, sélectionnez l’option Simulation pour activer ses propriétés.
Dans la section Model Time, définissez la date de vol de la base de données comme date de
début. Définissez la date de début (Start time) sur 21/12/2014, 12:00:00. Dans la liste Stop
date, définissez la date d'arrêt sur 21/12/2014, 22:00:00.
25. Utilisez la palette Images pour ajouter un élément Horloge qui affichera la date du modèle.
26. Exécutez le modèle. Vous verrez des passagers attendre l'annonce d'embarquement dans la
zone d'attente, puis se diriger vers leur porte d'embarquement.
Dans le cas où un message d’erreur s’affiche pendant la compilation, vous pouvez voir la liste des
problèmes dans la fenêtre en bas. Vous pouvez annuler l’exécution en cliquant sur Cancel et chercher
l’erreur à corriger, en la cliquant deux fois.
Page 147
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
En cliquant sur l’erreur, AnyLogic vous permettra d’accéder à l’objet ou la fonction qui contient
l’erreur.
Vous pouvez également cliquer sur l’option Proceed de la fenêtre d’exécution, pour voir si l’erreur
bloque la simulation.
En cliquant sur Run, une fenêtre s’affichera et donnera des détails sur l’erreur.
En cliquant sur l’option ‘Console’, des détails sur le problème seront affichés ce qui aidera à
résoudre le problème.
Pour rappel, la bibliothèque des piétons de la version gratuite Personal Learning Edition
d’Anylogic permet une simulation d’un phénomène d’une durée maximale d’une heure. Pour pouvoir
simuler un modèle de plusieurs heures, il faut la version professionnelle qui est payante.
Vous pouvez modifier le paramètre Delay time des services d’embarquement à uniform(20,50)
pour pouvoir une meilleure simulation.
Page 148
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Vous trouverez peut-être ce modèle plus complexe que ceux que nous avons abordés
précédemment, d'autant plus que nous avons montré comment utiliser AnyLogic pour définir une
logique personnalisée qui s'appuie sur des événements, des fonctions et des graphiques d'action.
Pour passer à l'étape suivante du développement de vos propres projets de simulation, nous vous
encourageons à utiliser la fonction d'aide d'AnyLogic ainsi que les exemples de modèles qui illustrent
chacun une technique de modélisation spécifique.
Page 149
Executive Master of Engineering - GENERALISTE Module: Système des Systèmes
Références
Carlock, P. G., and R. E. Fenton. System of systems (SoS) enterprise systems for information-intensive organizations.
Systems Engineering 4(4):242–261. 2001.
Jamshidi, M. Theme of the IEEE SMC 2005, Waikoloa, Hawaii, USA. http://ieeesmc2005.unm.edu/, October 2005.
Jamshidi, M. Systems of systems engineering: principles and applications. CRC press, 2008.
Manthorpe, W. H. The emerging joint system of systems: a systems engineering challenge and opportunity for APL, John
Hopkins APL Technical Digest 17(3):305–310. 1996
Luskasik, S. J. Systems, systems of systems, and the education of engineers. Artificial Intelligence for Engineering Design,
Analysis, and Manufacturing. 12(1):11–60. 1998
Pei, R. S. Systems of systems integration (SoSI)—a smart way of acquiring Army C4I2WS systems. Proceedings of the
Summer Computer Simulation Conference, pp. 134–139. 2000.
Page 150