• Aucun résultat trouvé

3.3 Le système multi-agent SCEMP

3.3.2 Protocole de communication

La méthode que nous proposons repose sur l'exécution de plusieurs cycles qui correspondent chacun à des échanges et négociations entres les diérents agents. Nous distinguons deux types de cycle : un cycle de production (correspond aux négociations entre les clients et les produc- teurs) et un cycle de maintenance (contenu dans un cycle de production et correspond aux négociations entre les producteurs et les mainteneurs). Notre objectif étant d'ordonnancer les tâches de production et de maintenance, ces cycles se répètent tant qu'il reste au moins une tâche non planiée dans l'environnement.

Les échanges entre les diérents agents se font selon un protocole de communication qui com- porte les étapes fondamentales représentées dans le diagramme de séquence UML de la gure 3.7 :

3.3 Le système multi-agent SCEMP

1. Planication des clients : Au début d'un cycle de production, le superviseur active les agents clients pour déposer leurs ores de TF. Chaque agent client planie selon sa propre procédure de planication les diérentes tâches TF de la gamme qui lui est associée à capacité innie (c'est-à-dire sans prendre en considération la disponibilité des machines). L'agent client ne planie les TF de sa gamme qu'en fonction des contraintes d'antériorité et de la date de début au plus tôt de l'OF (Ri).

Lorsque tous les agents terminent leur planication, ils émettent un appel d'ore en écri- vant dans l'environnement leur souhait concernant la date de début pour les TF, sans pour autant qu'ils soient concernés par les choix des ressources sur lesquelles leurs tâches seront exécutées. Ainsi, pour chaque TF un appel d'ore est lancé dans l'environnement sous forme d'un objet. Pour chaque objet dans l'environnement la tâche requise est spéci- ée, l'ensemble des fonctionnalités nécessaires et la position souhaitée (P S) pour la tâche calculée par l'agent client en supposant que la TF sera planiée sur la machine la plus performante. A ce stade du processus, tous les objets TF présents dans l'environnement sont dans l'état "libre".

2. Planication des producteurs : Après que les agents clients ont terminé d'écrire sur l'envi- ronnement leurs demandes de TF , l'agent superviseur active les agents producteurs pour ordonnancer les TF demandées. Chaque agent producteur procède à la "lecture" des in- formations sur les objets (TF) libres qui gurent dans l'environnement. Il sélectionne les TF ayant des activités compatibles avec les fonctionnalités disponibles de sa machine et ajuste leur durée de réalisation en fonction de la valeur de son aptitude puis ordonnance les TF sélectionnées à capacité nie (c'est-à-dire en prenant en compte les autres tâches déjà planiées et l'état de santé actuel et futur de sa machine). D'après la prévision de l'état de santé de la machine sur un horizon de temps prédéni, relatif aux durées des tâches positionnées, si à un moment la machine devient incapable d'exécuter une tâche, car au moins une fonctionnalité requise par la tâche en question n'est plus en mesure d'être utilisée, le producteur lance une demande de TM pour chaque composant dont la maintenance permettra de remettre la fonctionnalité en état opérationnel. Le producteur lance donc autant de TM que de composants à maintenir pour que la fonctionnalité soit à nouveau en condition opérationnelle.

nécessaires sur l'environnement, l'agent superviseur active les agents mainteneurs pour ordonnancer les TM demandées pendant le cycle de production en cours. A ce stade, un cycle de maintenance est lancé et les agents mainteneurs disposant des compétences nécessaires aux interventions sur les TM demandées ordonnancent celles-ci selon leurs disponibilités et selon leur méthode d'ordonnancement. Ensuite, les agents mainteneurs écrivent sur l'environnement leurs propositions potentielle et eective pour chaque TM libre.

4. Acceptation des TM : L'agent superviseur active à nouveau les agents producteurs ayant lancé un appel d'ore pour des TM pendant le cycle de production en cours pour qu'ils puissent lire et décider d'accepter ou non chaque proposition faite par les mainteneurs. Un agent producteur accepte la proposition qui a la meilleure PE à condition qu'elle soit égale à la PP correspondante. Dans le cas où aucune proposition ne vérie cette condition, la TM reste dans son état libre et est demandée à nouveau dans le prochain cycle de maintenance. Ce processus se poursuit itérativement en boucle jusqu'à ce que toutes les TM soient validées et aectées chacune à un agent mainteneur. Si aucune proposition n'a été retenue par les producteurs (aucune TM n'est passée à l'état "acceptée"), le processus d'ordonnancement se bloque : Par analogie avec le processus client-producteur de SCEP décrit dans [Coudert et al., 2002], au moins une TM doit être acceptée durant chaque cycle de maintenance pour poursuivre le processus. Le protocole oblige alors le producteur ayant les propositions les moins éloignées de sa PS à accepter sa TM. Une fois que toutes les TM sont acceptées, le cycle de production se poursuit et les producteurs reprennent la planication de leurs TF restantes en prenant en compte la durée de la tâche de maintenance. A la n de cette phase, les producteurs enregistrent sur l'environnement leurs propositions pour chaque TF de leur liste.

5. Validation des TF : L'agent superviseur active ensuite les agents clients pour qu'ils lisent les propositions (PE et PP) faites pour leurs TF par les agents producteurs. Ensuite, par analogie avec la phase d'acceptation des TM, chaque agent client valide la proposition qui a la meilleure PE à condition qu'elle soit égale à la PP correspondante. Dans le cas où aucune proposition ne vérie cette condition, l'agent client décide d'attendre une éven- tuelle proposition plus intéressante au cycle prochain. A la n de cette phase, les tâches retenues par les clients passent alors à l'état "validé". De même, si aucune proposition n'a

3.3 Le système multi-agent SCEMP

été retenue par les clients (aucune TF n'est passée à l'état "validée"), le processus d'or- donnancement se bloque [Coudert et al., 2002]. Le protocole oblige alors le client ayant les propositions les moins éloignées de sa PS à valider sa TF.

6. Validation des TM : L'agent superviseur active à nouveau les agents producteurs pour lire les validations faites par les agents clients. Ceci leur permettra de décider de valider ou non les TM acceptées pendant le cycle de production en cours. Chaque agent producteur gagnant d'une enchère intègre la tâche correspondante dans son planning et un contrat est ainsi assigné entre le client qui a demandé la TF et ce producteur. Naturellement, si aucune des propositions d'un producteur n'a été retenue, il n'est pas nécessaire d'eectuer les TM demandées par ce producteur durant le cycle de production en cours. Dans le cas contraire, un processus de validation des TM est lancé (diérentes stratégies de validation sont présentées dans la section 3.3.6) an de décider si une TM acceptée par un producteur doit être validée ou abandonnée.

Il a été souligné durant le processus de coopération entre les agents que les clients, les pro- ducteurs et les mainteneurs sont amenés chacun à résoudre un problème d'ordonnancement avec des hypothèses et contraintes diérentes.

Dans ce qui suit, nous allons présenter les sous-problèmes traités par ces trois classes d'agents en spéciant les hypothèses et les contraintes considérées dans chaque cas. Ensuite, nous dis- cuterons des éventuelles méthodes de résolution possibles pour chaque sous-problème.