utilisation de l`approche multi-agents pour le pilotage en temps reel

Transcription

utilisation de l`approche multi-agents pour le pilotage en temps reel
3e Conférence Francophone de Modélisation et Simulation « Conception, Analyse et Gestion des Systèmes Industriels »
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
UTILISATION DE L’APPROCHE MULTI-AGENTS POUR LE PILOTAGE
EN TEMPS REEL DES SYSTEMES DE PRODUCTION
Younès HAFRI
Najib M. NAJID
Université de Nantes/IRIN/BaDRI
Ecole Polytechnique de Nantes
BP 13522
1 quai de Tourville,44035 Nantes
Cedex 1, FRANCE
Mél: [email protected]
IRCCyN/IUT de Nantes
Institut de Recherche en Communications
et Cybernétique de Nantes
UMR 6597
1 rue de la Noé,44300 Nantes, FRANCE
Mél: [email protected]
RESUME : Dans cet article nous présentons une application de l’approche multi-agents au pilotage d’une cellule
flexible de production (le système A+). Ce système est un système multi-agents à base d’acteurs conçu pour assurer
le contrôle de l’activité de production dans une cellule flexible de production. Le système est distribué aussi bien
physiquement (il est réparti sur un ensemble de sites), que fonctionnellement (il est constitué d’un ensemble
d’agents cognitifs et réactifs) qui coopèrent pour accomplir des fonctions d’ordonnancement dynamique et de
contrôle. Les agents utilisent une stratégie d’ordonnancement dynamique, basée sur l’utilisation d’un protocole
d’interactions entre les agents. Grâce à ce protocole, la coordination des actions des agents pour la réalisation des
taches n’est pas dédiée à un superviseur central, mais émerge de l’interaction de ces agents.
MOTS-CLES : multi-agents, pilotage en temps réel, cellules flexibles
1.
un problème. Un problème est défini par la donnée
d’un état initial connu et d’un état final souhaité ; la
résolution du problème consiste à définir les étapes
intermédiaires pour passer de l’état initial à l’état final.
Le principe des SMA est donc de fédérer l’ensemble
des connaissances et la capacité de raisonnement
détenu par les agents, que ceux-ci soient intelligents ou
non. Chacun des agents peut être spécialisé dans un
sous-domaine du domaine global et c’est l’unification
de leurs compétences qui permet de résoudre la totalité
du problème posé.
INTRODUCTION
Les systèmes de production et plus particulièrement les
systèmes de production dits “ flexibles ” imposent
d’utiliser au mieux les ressources de leur système
opérant afin de réagir le plus rapidement possible à la
flexibilité de la demande. Les commandes
déterministes conduisent fréquemment à des situations
chaotiques. Par conséquent, une gestion adaptée du
système de production s’impose. Il est nécessaire de
proposer une conduite au plus près (voire en temps
réel) du système de production, c’est à dire une gestion
du système de production qui prenne en compte l’état
réel de celui-ci, ainsi qu’une conduite réactive, c’est à
dire une conduite permettant au système de réagir et de
s’adapter, en fonction des objectifs de production, aux
fluctuations des besoins et aux aléas du système.
Mettre en œuvre une telle conduite qu’on appelle
pilotage en temps réel est une opération délicate car la
production est confrontée à un changement continu de
flux de production, une demande urgente peut être
arrivée à n’importe quel moment, en plus, les systèmes
de fabrication flexibles sont caractérisés par leur
instabilité face aux aléas.
Les recherches en SMA sont très actives et des
systèmes opérationnels ont déjà été développés dans de
nombreux
domaines
comme
le
diagnostic,
l’enseignement, la conception, contrôle de réseaux de
communication, etc. (Burg et Arlabosse, 94), (Ramos,
94), (Ferber, 95), (Roy et Vernadat, 1997)
(Balasubramanian et Norrie, 97), (Shen et Norrie, 98),
(Gouardères, 99), (Coudert, Archimede et Grabot, 99),
(Archimede, Coudert et Priem, 99), (Tranvouez,
Espinasse et A. Ferrarini, 99), etc. Ces recherches
concernent l’utilisation de l’approche multi-agents pour
structurer des architectures pour le contrôle des
processus. Les principales motivations sont de
concevoir des applications (non limitée à un domaine
spécifique) pour encapsuler des systèmes experts
existants en vue de la coopération. Pour notre part nous
avons utilisé l’approche multi-agents pour la mise en
œuvre du pilotage en temps réel d’une cellule flexible
de production, nous développons dans cet article une
L’avènement des systèmes multi-agents qui permettent
de distribuer les problèmes sur des ensembles autoorganisés vers une gestion locale, favorisant réactivité
et comportements émergents peut faciliter la mise en
œuvre du pilotage en temps réel . En effet, Le but
principal d’un système multi-agents (SMA) est de faire
collaborer un certain nombre d’agents afin de résoudre
- 255 -
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
structure de pilotage générique basée sur des agents
cognitifs et réactifs.
2.
ARCHITECTURE MULTI-AGENTS DU
PILOTAGE EN TEMPS RÉEL
Nous considérons un système de production composé
de plusieurs centres de travail (station), chacun étant
constitué d’une ou plusieurs ressources. La figure 1
présente l’architecture multi-agents retenue. Dans cette
architecture nous distinguons un agent superviseur
(Agent facilitateur) et plusieurs autres agents simples
dédiés chacun à un centre de travail spécifique (Agent
station).
Agent
facilitateur
Agent
station 1
Ressource 1
Agent
station 2
Ressource 2
Agent
station n
Ressource n
Figure 1. Architecture du système A+
Concernant ces deux niveaux de pilotage, nous
insisterons sur quatre fonctions qui nous sont apparues
importantes :
la fonction gestion des ordres de
production par l’agent facilitateur pour le niveau
cellule ; la fonction gestion des opérations et celle des
équipements pour le niveau station. Pour la gestion des
ordres et la gestion des opérations, nous appliquerons
une approche d’affectation et d’ordonnancement des
opérations établie par (Najid, Coeurdeuil et Vachot,
94).
3.
Il s’agit d’une interface qui permet d’assurer le
dialogue entre les autres agents du système et celui de
l’unité considérée. Les informations qui transitent par
cette couche, sont essentiellement les données de
production (gammes opératoires, opérations, quantités,
etc.) et les comptes rendus ou ordres. La mission
principale assignée à la couche conversationnelle est la
collection et l’interprétation des informations pour
aider le noyau réactif à prendre les décisions adéquates
pour satisfaire la mission demandée. Alors, cette
couche est constituée de deux modules qui jouent des
rôles symétriques :
- le module interpréteur qui a pour rôle la recherche et
l’interprétation des informations venant des autres
agents du système. Il s’occupe du contrôle des
informations et du décodage des messages et leur
protocole. Il doit aussi assurer la collecte
d’informations venant des niveaux inférieurs et qui
sont essentiellement des comptes rendus et de détecter
les informations urgentes (par exemple la détection des
dysfonctionnements).
Plan de
production
Comptesrendus
3.1. La couche conversationnelle
MODÉLISATION
Dans cette structure de pilotage, les niveaux n’utilisent
pas
forcément
les
mêmes
protocoles
de
communication; d’où la nécessité d’avoir des couches
qui jouent les rôles d’interfaces entre les niveaux. Pour
cela, nous avons proposé une nouvelle décomposition
fonctionnelle du centre de pilotage en deux principaux
modules: une couche conversationnelle et un noyau
réactif.
- le module émetteur a pour mission essentielle de
rapporter sur le déroulement de l’exécution des tâches
demandées et d’assurer la transmission des
informations aux autres agents du système. Les
comptes rendus sont destinés au niveau supérieur
(agent facilitateur). Avant de les transmettre, le module
rapporteur les traduits et les met en forme pour l’envoi.
Il doit aussi acheminer les informations qui sont mises
en forme et adaptées au langage perçu et reconnu par
son destinataire .
3.2. Le noyau réactif
Ce module représente le cœur d’un agent A+. Son rôle
est de prendre des décisions en fonction des
informations issues de la couche conversationnelle et
de l’état courant de l’agent. Il est représenté dans
l’agent station par le module d’analyse et de réaction et
dans l’agent facilitateur par le module d’analyse et de
suivi des tâches.
Comme son nom l’indique, ce module réagi en
fonction de l’état présent ; il doit prendre des décisions
en temps réel pour la gestion de ses ressources, pallier
aux dysfonctionnements, et répondre aux demandes des
autres agents. Il gère ses différents comportements en
exécutant en priorité ceux qui engendrent les ordres les
plus urgents ; ce choix se fait en fonction des données
mémorisées et acquises par la couche conversationnelle
et en fonction de l’état courant de ses ressources. C’est
le module qui intervient le premier en cas de
dysfonctionnement pour résoudre l’aléa localement.
Le noyau réactif possède des capacités (compétences)
pour conserver l’historique de ses ressources et des
événements passés ou présents. Cela lui permet de s’y
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
référer à chaque fois qu’il en a besoin . Ces capacités
de mémorisation permettent, par exemple, de mettre en
évidence des corrélations entre les aléas et des causes
qui sont propres à des types de produits, d’outils, de
matériaux, etc. Des statistiques sont calculées à l’aide
de données acquises sur l’unité de production au cours
de son fonctionnement. Si lors de l’apparition de
dysfonctionnement de type i dans un contexte de type j,
une même cause k est souvent incriminée, alors ceci
sert de base de décision au noyau réactif ; la première
solution qu’il émettra sera celle de la cause k
(utilisation d’un moteur d’inférence généralement).
4. LES AGENTS DU SYSTÈME A+
Le système A+ est un système multi-agents à base
d’acteurs (CSELT, 2000) conçus pour assurer le
contrôle de l’activité de production dans une cellule
flexible de production. Le système est distribué aussi
bien physiquement (il est réparti sur un ensemble de
sites), que fonctionnellement (il est constitué d’un
ensemble d’agents cognitifs et réactifs) qui coopèrent
pour accomplir des fonctions d’ordonnancement et de
contrôle. Les agents utilisent une stratégie
d’ordonnancement dynamique, basé sur l’utilisation
d’un protocole d’interactions entre les agents. Grâce à
ce protocole, la coordination des actions des agents
pour la réalisation des taches n’est pas dédiée à un
superviseur central, mais émerge de l’interaction de ces
agents.
4.1. La configuration de la cellule
La configuration de la cellule dans le système A+ est
établie en deux étapes :
Etape 1 : l’opérateur au niveau de l’agent facilitateur, a
besoin de connaître les capacités de la cellule flexible.
Des connaissances globales sur la configuration
doivent donc être nécessairement accessibles à son
niveau, la liste de toutes les ressources disponibles, la
liste de toutes les opérations réalisables par les
ressources de la cellule, la liste de tous les outils
utilisables par les ressources de la cellule, et la liste de
toutes les pièces réalisables dans la cellule.
Ces connaissances globales (sauf les types de pièces)
ne sont pas saisies au niveau de l’agent facilitateur,
mais sont obtenues dynamiquement, grâce aux
messages envoyés par les agents stations lors des
modifications de la configuration matérielle de la
cellule.
D’autres part, il faut configurer chaque agent station en
lui fournissant toutes les connaissances techniques
relatives à ses ressources; en plus des connaissances
relatives aux capacités des autres agents qui forment
ses accointances : le nom de la ressource, les noms des
opérations réalisables par cette ressource et leurs
propriétés, la liste de ces propres outils, et le voisinage
qui représente les ressources qui sont directement
connectées à cette ressource par les moyens de
transport (selon l’agencement de la cellule).
Ces connaissances sont saisies au niveau de chaque
agent station et son ensuite diffusées dans tout le
système au moment où l’agent l’intègre. En échange,
cet agent station reçoit les connaissances semi-globales
sur les autres et par conséquent devient une partie du
système.
Le système A+ comme expliqué, inclus donc une
gestion automatisée et dynamique de la configuration
de la cellule, ce qui lui permet de s’adapter très
aisément à toute modification de la configuration
matérielle (ajout ou suppression de ressource) sans trop
d’intervention de l’opérateur humain, garantissant ainsi
la consistance des connaissances du système.
4.2. L’agent facilitateur
Outre les caractéristiques décrites auparavant, le
facilitateur (figure 2) doit Maintenir une vue globale
sur l’état du système. Pour cela L’agent facilitateur
maintient un agenda global qui lui permet de suivre
l’exécution de toutes les tâches dans la cellule, de leur
lancement jusqu’à leur sorties du système de
production. Cet agenda permet aussi de reconstituer les
informations de n’importe quel agenda local, qui serait
sur un agent station. En outre, dans le système A+, la
fonction ordonnancement dynamique n’est pas
attribuée à un agent unique, mais émerge d’un
processus de négociation inter-agents. Ce processus de
négociation est lancé par l’agent facilitateur. Ceci
permet de diminuer la charge de l’agent facilitateur, qui
n’a plus à gérer que la première opération de la gamme
à réaliser (au lieu de gérer toutes les opérations), et de
faire participer efficacement les autres agents aussi
bien à la réalisation de toutes les opérations de la
gamme de fabrication, qu’au contrôle (un agent station
pouvant être ainsi, à la fois superviseur de certaines
opérations et contractant pour d’autres). L’agent
facilitateur pour accomplir sa tache dispose d’un
ensemble de comportements :
Comportements CPC : sert à la recherche de la station
satisfaisant au mieux des objectifs à atteindre pour la
fabrication d’un produit (cela concerne la réalisation de
la première opération du produit ). Ce comportement
est spécialisé dans le traitement de cet événement, et
s’active à sa détection.
Le CPM de la configuration matérielle:
Ce
comportement traite les informations reçus par l’agent
facilitateur sur la configuration de la cellule, les
gammes, etc. (ie. ajout ou suppression de ressource,
nouvelle gamme, etc.).
La liste des événements : Les événements que contient
cette liste sont constitués des demandes, contrats et
acquittements gérés par l’agent facilitateur.
L’agenda global : permet à l’agent facilitateur de
représenter et de suivre l’évolution de toutes les tâches
dans le système.
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
de décision Tpd, l’agent tâche met à jour
dynamiquement la priorité de sa pièce en fonction du
temps qu’elle a passé sur chaque station selon la
formule suivante :
Le module d’analyse et de suivi des tâches:
Comportement qui analyse continuellement les
messages que l’agent facilitateur reçoit, à travers son
interface de communication, et active les CPi qui leur
correspondent. Il met à jour aussi les états des
opérations, dans l’agenda global, suite aux messages
envoyés par les agents stations concernant l’état
d’avancement des opérations. Il coordonne les agents
stations et gère leurs dysfonctionnements non résolus.
Le filtre : la première phase du processus
d’ordonnancement d’une tâche commence par la
transmission d’une requête, de l’agent facilitateur, vers
les agents stations, pour la réalisation de la première
opération. Le filtre permet de n’envoyer la requête
qu’aux agents capables de réaliser cette opération.
β i = β i + ηξ ω avec η = 0.03 et ω = 3
β i est la priorité de la pièce i
ξ est le temps passé par la pièce dans
le système
où :
Cette formule et les différents paramètres ont été
calibré après plusieurs essais par (Arzi, 93).
Maj. de la configuration/des gammes de production
CPM
Activation
CP i
CPC
Interface experte
Horloge
Analyse
d’événement
Configuration
matérielle
-cellule- BD
Liste
d’événements
Événement
Opération
suivante
Liste des agents candidats
Résultat analyse
Agenda
global
Maj de l’état
des clients
Gammes de
production
Filtre
Module d’analyse et de
suivi des tâches
Message
Interface de
communication
Monde
extérieur
Figure 2. Architecture de l’agent facilitateur
L’interface de communication : Comportement qui
gère les messages en transit entre l’agent facilitateur et
les autres agents du système.
L’horloge temps réel : Elle génère le facteur temps
réel dans l’agent facilitateur
4.3. L’agent tâche
Tous les agents du système A+ sont des agents
cognitifs sauf l’agent tâche. Ce dernier représente
l’évolution d’une pièce à produire parmi un lot de
pièces pour un client donné. Il permet de suivre pas à
pas les étapes de fabrication de la pièce qu’il représente
sur toutes les stations par où elle passe.
L’agent tâche est un agent réactif possédant une seule
et unique tendance à satisfaire “ il veille à ce que la
pièce soit fabriquée sans être retardée ”. L’agent tâche
responsable de la pièce lui augmente sa priorité chaque
fois que c’est nécessaire et à des intervalles de temps
bien précis. En particulier et à chaque instant de prise
Le mécanisme d’interaction de l’agent se résume à de
simples scrutations de variables et de mise à jour de
celle-ci. Il met aussi à la disposition des agents stations
où ils se trouvent les données disponibles à son niveau
sans présenter aucune interface graphique. Si lors de
l’évolution de la fabrication d’une pièce donnée,
l’agent tâche correspondant détecte que sa date limite
de fabrication a été dépassée , il la passe alors en état
d’urgence.
Chaque agent tâche détient toutes les caractéristiques
pour la fabrication de sa pièce dont voici les
principales :
-
-
id_client : le client à qui appartient la pièce
id_pièce : identificateur de la pièce dans le
lot demandé par le client
sous_gamme : les opérations qui ne sont
pas encore transformées pour la fabrication
de la pièce
date_début, date_fin de fabrication
βi la priorité donnée à la pièce
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
Après l’achèvement de toutes les opérations sur la
pièce, l’agent tâche est automatiquement détruit. Il peut
l’être aussi après suppression de toutes les occurrences
(pièces) d’un client donné en rapport avec l’agent tâche
par l’agent facilitateur (voir plus loin).
L’agenda local : Chaque agent station est muni d’un
agenda local qui lui permet de représenter ses
engagements.
La manipulation de l’agenda local obéit aux règles
suivantes :
4.4. L’agent station
•
Chaque agent station (figure 3) assure la supervision de
l’activité de production des ressources qu’il contrôle.
A chaque début d’exécution d’une opération,
l’agent station inscrit dans son agenda local le
début de cette opération et le signale à l’agent
facilitateur.
Interface experte
Maj de la configuration de la ressource/connaissances
CPM
CPF
Activation
CP i
CPO
Analyse
d’événement
Maj
Ressource/Autrui
Configuration de la
ressource/Modèle
d’autrui BD
Horloge
Filtre
Liste
d’événements
Opération
suivante
Liste des agents
candidats
Monde
extérieur
Message émis
Événement
Résultat analyse
Agenda
local
Maj de l’état
des opérations
Interface de
communication
Module d’analyse et de
réaction
Extraction de Opération à
exécuter
l’opération
Message reçu
Contrôleur de
ressource
Module d’exécution
Ordre de
fabrication
Commandes
Module de détection
et de diagnostic
État de la
Ressource/Opération
Statut/Activation
Figure 3. Architecture générale d’un agent Station
Les composants d’un agent station sont les suivants :
•
Les CPF , CPO de négociation : Elles sont identiques à
celle utilisées par l’agent facilitateur. Le comportement
CPF a pour but de gérer la file d’attente de l’agent
station en sélectionnant la prochaine opération à
exécuter selon certains critères; tandis que le CPO a
pour objectif de rechercher la prochaine station (la
meilleure) pour traiter la pièce en cours.
Le CPM de la configuration matérielle : Il permet à
l’agent station de représenter sa capacité productive et
celles des autres agents stations. Les connaissances sur
la configuration matérielle sont représentées par des
structures de données dynamiques.
L’interface experte :
Elle permet à l’expert
(l’opérateur humain) de consulter et de modifier la
configuration de la station, de connaître l’état actuel
des ressources, et de suivre l‘évolution de l’activité de
production sur cette station.
La liste des événements, le filtre, l’interface de
communication, l’horloge
temps
réel :
Même
explication que dans l’agent facilitateur
A chaque fin d’opération, l’agent station inscrit
dans son agenda local la fin de cette opération et
signale à l’agent facilitateur la fin de celle-ci.
En plus des comportements décrits ci dessus, l’agent
Station est composé de modules suivants :
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
- Le module d’analyse et de réaction :
Ce
comportement analyse continuellement les messages
que l’agent station reçoit, à travers son interface de
communication et active les CPi qui correspondent aux
événements reçus. Il met à jour aussi l’état des
opérations, dans l’agenda local, suite aux messages
envoyés par le module d’exécution. Il gère aussi les
dysfonctionnements
- Le module de détection : La fonction du module de
détection consiste à comparer l’état observé, décrit par
les informations recueillies à travers le contrôleur de la
ressource, avec l’état de référence représenté par
l’agent tâche de la pièce en exécution. Ce module
analyse continuellement l’état des ressources
contrôlées et de l’opération en exécution. La détection
d’anomalie est effectuée avant (pré-contrôle) et après
(post-contrôle) chaque exécution d’opération et si
aucune erreur n’a été détectée, alors il y a mise à jour
de l’état de l’opération dans l’agenda local, sinon le
module de diagnostic est sollicité (figure 4).
contenant les informations sur l’état des ressources
concernées par la situation anormale détectée.
- Le module d’exécution : Comportement qui permet
de lancer l’exécution des opérations sous contrat. Pour
cela, il consulte l’agenda local qui contient les
informations relatives aux opérations pour lesquelles
l’agent station est contractant. Aussi, il signale les
événements 'début / fin d’opération' au module
d’analyse et de réaction qui mettra alors à jour l’agenda
local, et informera l’agent facilitateur.
Ce module exécute continuellement le cycle suivant
(figure 5) :
Sélection
Agenda local
C1
C2
T1
T2
DL1
DL2
Cn
Tn
DLn
Interface de
communication
Phase de pré-contrôle
Succès
Phase de post-contrôle
Opération
à exécuter
Lancement
de l’opération
État du contrôleur
Opération
Résultats de
CPO
Inférence
Échec et
diagnostic
Contrôleur de la
ressource
Suivi de l’opération
États
Figure 5. Lancement d’une opération par le module
d’exécution
Succès
poursuite
Figure 4. Fonctionnement du module de détection
Le Lancement de la procédure de pré-contrôle
s’effectue avant le lancement de l’opération à exécuter,
cette procédure fait appel au contrôleur de ressource
afin d’obtenir les informations concernant la présence
et l’identité des pièces sur lesquelles doit agir
l’opération, afin de vérifier la conformité de l’état réel
avec l’état initial représenté.
Le Lancement de la procédure de post-contrôle
s’effectue Après l’exécution de l’opération, cette
procédure fait appel au contrôleur de ressource afin
d’obtenir les informations concernant la présence et
l’identité de la pièce résultante, afin de vérifier la
conformité de l’état réel avec l’état final représenté.
- Le module de diagnostic :
Il établit, en cas
d’anomalie, le diagnostic relatif à la panne détectée et
transfert le résultat de son analyse au module d’analyse
et de réaction. Il est composé d’un moteur d’inférence,
d’une base de connaissance de diagnostic qui contient
l’expertise nécessaire pour traiter les pannes
concernant la ressource, et d’une base de faits
Étape1 : sélectionner l’opération suivante à exécuter.
Pour cela, le module d’exécution attend du noyau
réactif l’identificateur de l’opération à exécuter et
l’extrait de l’agenda local de l’agent station.
Étape 2 : lancer l’exécution de l’opération sélectionnée.
Étape 3 : suivre la progression de l’opération lancée de
son début jusqu’à sa fin, à mettre à jour l’agenda local
à chaque changement d’état discernable (arrêt, reprise
ou fin de l’opération courante) et à avertir l’agent
facilitateur de chacun de ses changements par le biais
du module de communication. Revenir à l’étape 1 à la
fin de l’opération.
5. GESTION DES ÉQUIPEMENTS
Cette fonction s’occupe du lancement de la production
au sein de chaque agent station et de la surveillance des
équipements ; ceci se traduit par la détection des
dysfonctionnements locaux et leur résolution si c’est
possible.
Dans le cas où la résolution du dysfonctionnement
détecté peut être effectuée localement, le noyau réactif
de l’agent station en question le fait, et signale la nature
du problème à l’agent facilitateur et aux autres agents
stations. Par exemple dans le cas d’un bris d’outil,
l’agent station envoie des ordres de changement d’outil
à l’équipement chargé de le faire remplacer, puis
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
signale l’incident. Dans le cas où l’outil en question ne
serait pas disponible dans le magasin de la machine,
l’agent station ne peut plus résoudre le
dysfonctionnement individuellement, il aura besoin de
coopérer avec d’autres agents stations pour
s’approvisionner (remplacer l’outil défectueux) le plus
rapidement possible. Dans le cas où l’agent station ne
pourrait résoudre l’aléa individuellement ni en
coopération avec les autres agents stations, il le signale
au pilote de la cellule (nature, gravité, échec de
résolution, etc.). L’agent station tentera dans tous les
cas,
d’abord de résoudre le dysfonctionnement
individuellement, en coopérant, et en dernier lieu en le
remontant au pilote de la cellule.
Aussi, le système doit donc répondre dynamiquement
aux ordres de productions émergents (urgence pour un
client) et aux situations indésirables. Nous avons
implémenté quelques mécanismes pour répondre à ce
genre de situations
Nous distinguons essentiellement deux catégories de
messages, les deux basées sur la spécification FIPA’97
(FIPA-ACL, 1997) :
- Les messages de contrôle : ce sont les messages
utilisés par les agents lors des négociations (état,
contrats, acquittement, fin d’une tâche, échec
d’ordonnancement d’une tâche …), ainsi que les
messages de notification envoyés par les agents
stations vers l’agent facilitateur pour la mise à jour de
l’agenda global lors de l’évolution d’un processus de
négociation ou d’un changement d’état productif
(début, fin, arrêt ou reprise d’une opération).
Cas 1 : Réordonnancement des ordres urgents
Comme le système développé est orienté client, le
réordonnancement de nouveaux ordres est fréquent et
très important. Quand une urgence arrive après un
ordonnancement normal de tâches, l’agent facilitateur
l’envoi d’urgence dans le système, de telle sorte que
l’ordre passe en priorité sur toutes les stations du
système sans attente.
- Les messages de configuration : Le système A+
intègre, comme déjà expliqué, une gestion automatique
des données de la configuration matérielle des
ressources. Chaque message de configuration
correspond à une connaissance particulière. Un agent
du système utilisera ce type de message s’il veut
obtenir des informations sur la configuration globale
(ressources existantes, opérations réalisables par ses
ressources, outils disponibles,…), ou qu’il veut diffuser
la configuration de sa ressource. On utilise aussi deux
messages spécifiques permettant à un agent de se
connecter et de se déconnecter du système.
Le module de communication (figure 6) de chaque
agent est constitué des sous modules suivants :
Cas 2 : Réordonnancement d’ordres supprimés
Pour tous les ordres à arrêter pour un client donné, il
suffit de libérer les agents stations en possession de
pièces (agents tâches) les concernants. Les autres
tâches des autres clients ne sont guère affectées.
- Le module de préparation des messages : Ce module
effectue la mise en forme et le codage des objets
messages qu’un agent veut envoyer à d’autres agents
du système selon la nature du message à transmettre et
le destinataire.
Cas 3 : Réordonnancement lors d’une panne d’outil
Après l’occurrence d’un bris d’outil, et selon les cas où
la pièce a été détruite ou pas, un ordre pour sa
reproduction sera immédiatement lancé depuis l’agent
station concerné par la panne. Elle sera considérée
comme urgente. Dans le second cas (pièce non
détruite), seule les opérations restantes sur la pièce
seront exécutées. Nous avons choisi de garder la pièce
au niveau de l’agent station jusqu’à la réparation de
l’outil en panne s’il y en a qu’un.
6. GESTION DE LA COMMUNICATION
Le système A+, d’après son architecture et son
fonctionnement, apparaît comme un système ayant un
grand besoin en matière de communication. En effet, le
module de communication (figure 6) du système A+
doit assurer d’une manière fiable, asynchrone,
concurrente et dynamique, la gestion de la messagerie
entre les agents du système (ie. la construction, la
transmission et l’interprétation des messages) pour
aboutir au recouvrement des fonctions du contrôle.
Ainsi, une conversation établie entre deux agents est
une demande de service faite par un agent (client) vers
un autre agent (serveur) qui devra fournir une réponse.
Messages reçus
Messages émis
Interprétation
des messages
reçus
Préparation des
messages à
émettre
Interface de
communication
Réception des
messages
Interpréteur
Émission des
messages
Émetteur
Autres agents
du système
Figure 6. Fonctionnement du module de
communication
- Le module d’interprétation des messages :
Son rôle est l’inverse de celui du précédent. Il procède
au décodage et à l’interprétation des objets messages
reçus. Les messages décodés sont ensuite dirigés vers
MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)
les modules ou les sources de connaissances
spécialisées dans leur traitement.
Lors d’un transfert de données, il est important de
déterminer à qui les messages seront destinés. Un
message se compose toujours d’un expéditeur, d’un
destinataire (ces informations sont définies
automatiquement par les agents du système ), du type
de message et de l’information à transmettre. En se
dotant des caractéristiques de JADE, les agents A+
ont acquis un puissant outil de communication. Ce qui
est remarquable dans ces messages, c’est que les
participants envoient et reçoivent de vrais objets. Les
agents A+ peuvent aussi recevoir et émettre des
messages parallèles et supportent jusqu’à 50
connexions simultanées.
7. CONCLUSION
Nous avons décrit dans cet article, une application de
l’approche multi-agents au pilotage en temps réel d’une
cellule flexible de production. L’architecture de
pilotage choisie est hiérarchique-distribuée. Son
fonctionnement est concurrent, intelligent et émergent
de l’interaction collective de ses agents. Les fonctions
du contrôle sont distribuées sur l’ensemble des agents,
ce qui leur permet de prendre part à toutes les
décisions. Les contributions des agents à la résolution
des problèmes du contrôle sont organisées par un
protocole de négociation capable de résoudre les
conflits collectifs sans intervention de l’agent
facilitateur. Enfin, le système intègre une gestion
automatique de la configuration globale de la cellule et
des agents. Il présente un coût en communication
raisonnable : malgré le besoin important en matière de
communication, la distribution totale des fonctions de
contrôle dans le système A+ permet de répartir le coût
global de la communication sur l’ensemble des agents.
De plus, l’utilisation des propriétés des modèles acteur
(notion
d’accointances)
permet
d’atténuer
considérablement ce facteur.
Le système multi-agents A+ est indépendant des modes
de résolution appliqué au problème d’ordonnancement
dynamique. Nous avons choisi d’appliquer une solution
faite par NAJID (Najid, Coeurdeuil et Vachot, 94) avec
quelques modifications et une autre solution (Arzi et
Roll ,93) est en cours d’implémentation pour pouvoir
comparer les résultats de chacune d’elles.
RÉFÉRENCES
Archimede B., T. Coudert and L. Priem, May 1999.
Ordonnancement dynamique dans les ateliers de
fabrication. Une solution à base d’agents. 3rd
International Industrial Engineering Conference,
Proceedings, Vol.3, Montréal, Québec, p. 15231532.
Arzi Y. and Y. Roll, 1993. Real time Production
Control of an FMS in produce-to-order
environment. International Journal of Production
Research, Vol.31, n° 9, p. 2195-2214.
Balasubramanian S. and D.H. Norrie, 1997. A multiagent intelligent design system integrating
manufacturing and shop-floor control. Division of
Manufacturing Engineering, Departement of
Mechanical Engineering, University of Calgary,
Canada.
Burg B. and F. Arlabosse, mai 1994. ARCHON : une
plate-forme industrielle pour l’IAD. Deuxième
journées francophones Intelligence Artificielle
Distribuée et Systèmes Multi-Agents, Voiron, p.
223-234.
Coudert T., B. Archimede and B.Grabot, 6-8 octobre
1999. Un système multi-agents pour la coopération
Production/Maintenance. MOSIM’99, Annency –
France.
CSELT, juin 2000. JADE1.4 (Java Agent Development
Framework), developped jointly by CSELT and the
Computer Engineering Group of the University of
Parma, Italy, http://sharon.cselt.it/projects/jade
Ferber J., 1995. Les systèmes Multi-Agents (vers une
intelligence collective). InterEditions, Paris.
FIPA-ACL, 1997. The Foundation of Intelligent
Physical Agents. Canada, http://fipa.umbc.edu/.
Gouardères E., May 1999. Application de l’approche
multi-agents au pilotage d’une cellule flexible de
production, 3rd International Industrial Engineering
Conference, Proceedings Vol.3, Montréal, Québec,
p. 1695-1704.
Najid N.M., G. Coeurdeuil and P. Vachot, septembre
1994. Une nouvelle stratégie de pilotage
dynamique. Revue Automatique Productique et
Informatique Industrielle, Vol. 28, p. 495-506.
Ramos C., 1994. An Architecture and a Negociation
Protocol for the Dynamic Scheduling of
Manufacturing Systems, IEEE, p. 1050-4729.
Roy D. and F. Vernadat, 1997. Reactive Shop-Floor
Control with Multi-Agent System. IFAC/IFIP Int.
Conf. On Management and Control of Production
and Logistics, Brazil, p 426-431.
Shen W. and D.H. Norrie, 1998. An Agent-Based
Approach for Dynamic Manufacturing Scheduling.
In workshop notes of the agent-based
manufacturing workshop at autonomous agents’98.
Division of Manufacturing Engineering, The
University of Calgary, Canada.
Tranvouez E., B. Espinasse et A. Ferrarini, May 1999.
Résolution coopérative et distribuée de problèmes :
Une application Multi-Agents au réordonnancement
d’atelier. 3rd International Industrial Engineering
Conference, Proceedings, Vol.3, p. 1543-1552.