MEMOIRE Présenté par M me RIAD AMEL Pour obtenir LE DIPLOME DE MAGISTER Intitulé : Développement d’une Architecture Multi-Agent pour un Système Intéractif d’Aide Multicritère à la Décision (SIAMD ) en Gestion de Production Soutenu le : / / 2009 à la salle de conférences de la faculté des sciences Devant les membres du jury : M r B. BELDJILALI Professeur, Université d’Oran, Algérie (Président) M r B. MESSABIH Maître de Conférences, Université Mohamed Boudiaf d’Oran, Algérie (Examinateur) M me L. BABA-HAMED Maître de Conférences, Université d’Oran, Algérie (Examinatrice) M r K. BOUAMRANE Maître de Conférences, Université d’Oran, Algérie (Rapporteur) M me N. TAGHEZOUT Maître de Conférences, Université d’Oran, Algérie (Rapportrice) Université d’Oran - Es Sénia- Faculté des Sciences Département d’Informatique
129
Embed
Développement d’une Architecture Multi-Agent pour un ... · Développement d’une Architecture Multi-Agent pour un Système Intéractif d’Aide Multicritère à la Décision
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
MEMOIRE
Présenté par
MmeRIAD AMEL
Pour obtenir
LE DIPLOME DE MAGISTER
Intitulé :
Développement d’une Architecture Multi-Agent pour un Système
Intéractif d’Aide Multicritère à la Décision
(SIAMD ) en Gestion de Production
Soutenu le : / / 2009 à la salle de conférences de la faculté des sciences
Devant les membres du jury :
Mr B. BELDJILALI Professeur, Université d’Oran, Algérie (Président)
Mr B. MESSABIH Maître de Conférences, Université Mohamed Boudiaf d’Oran, Algérie (Examinateur)
Mme L. BABA-HAMED Maître de Conférences, Université d’Oran, Algérie
(Examinatrice) Mr K. BOUAMRANE Maître de Conférences, Université d’Oran, Algérie (Rapporteur)
Mme N. TAGHEZOUT Maître de Conférences, Université d’Oran, Algérie
(Rapportrice)
Université d’Oran - Es Sénia- Faculté des Sciences
Département d’Informatique
Remerciements Le travail de recherche présenté dans ce mémoire a été effectué au Département d’Informatique au
sein de l’équipe de l’Informatique et Automatique à l’université d’Oran Es-sénia. Il n’aurait pas
pu aboutir sans le soutien des personnes que je remercie ici.
Tout d’abord, mes prières au DIEU tout puissant !.. Un grand merci à Mr K.BOUAMRANE, Maître de Conférences à l’université d’Oran, qui a
accepté d’être le rapporteur de ce mémoire. Je le remercie pour ses conseils judicieux et pour l’intérêt
qu’il a porté à mon travail. Un grand merci à Mme N.TAGHEZOUT, Maître de Conférences à l’université d’Oran,pour
avoir accepté de co-rapporter ce mémoire, pour m’avoir dirigée, guidée durant ce travail. Son aide
scientifique, ainsi que ses conseils ont soutenu mon travail de recherche, je la remercie pour son
engagement et sa patience, et sa disponibilité, c’était un plaisir de travailler auprès d’elle. Merci…
Mes plus sincères remerciements vont également à MrB.BELDJILALI, Professeur à l’université
d’Oran, qui nous fait l’honneur de présider le jury. Qu’il trouve ici l’expression de ma profond
respect.
Mes remerciements vont également à MrB.MESSABIH, Maître de Conférences à l’ université
Mohamed Boudiaf d’Oran, pour l’intérêt qu’il a porté à notre travail et d’avoir accepté de le juger
et d’en être examinateur. Qu’il trouve ici l’expression de ma profond respect.
Je tiens à remercier également Mme L.BABA-HAMED, Maître de Conférences à
l’ université d’Oran, d’avoir accepté de juger ce travail et d’en être l’examinatrice. Qu’elle trouve
ici l’expression de ma profond respect.
Je dédie mon travail
A mes parents pour leurs encouragements et leur présence
dans les moments difficiles, Je tiens à remercier plus personnellement mon marie, A mon beau-pére et ma belle-mére,
A mes frères et ma sœur,
Merci à tous mes camarades et mes amis de l’équipe "Informatique et Automatique",
A tous ceux qui ont contribué par leurs encouragements et leurs relectures à la réalisation de ce travail. Merci…
Sommaire
Introduction générale ................................................................................. ..1 Chapitre 1 Système Intéractif d’Aide à la Décision
Figure 1.1 : Processus de décision selon SIM .......................................................... 77
Figure 2.1 : Les fonctions de pilotage ....................................................................... 19
Figure 2.2 : Structure de pilotage distribuée supervisée ........................................... 22
Figure 3.1 : Modélisation de notre structure de pilotage par un SMA ...................... 38
Figure 3.2 : Structure d’un agent SIP selon TRE 96 ................................................. 39
Figure 4.1 : Le protocole Contract Net .................................................................... 51
Figure 5.1 : Architecture d’un agent SIP superviseur ............................................... 58
Figure 5.2 : Architecture d’un agent SIP .................................................................. 60
Figure 5.3 : Schéma décrivant l’événement de fin d’exécution ............................... 62
Figure 5.4 : Schéma décrivant l’événement blocage de tâche
en cours d’exécution............................................................................. 63
Figure 5.5 : Schéma décrivant le fonctionnement générale de l’application ........... 64
Figure 5.6 : Diagramme de classe de notre protocole de négociation ................... 66
Figure 5.7 : Structure de l’agent de négociation ....................................................... 67
Figure 5.8 : Diagramme de séquence représente l’interaction
entre un agent initiateur et un participant .............................................. 69
Figure 5.9 : Diagramme de séquence représente la négociation
entre un agent initiateur et un participant .............................................. 70
Figure 5.10 : Diagramme de séquence représente la négociation
commune avec renégociation cas1 ....................................................... 71
Figure 5.11 : Diagramme de séquence représente la négociation
commune avec renégociation cas2 ........................................................ 72
Figure 5.12 : Diagramme de séquence représente la négociation
entre un agent initiateur et m participants ......................................... 73
Figure 5.13 : Architecture d’Electre III .................................................................... 77
Figure 5.14 : Résultat du préordre final .................................................................... 79
Figure 6.1 : Structure de l’agent superviseur ........................................................... 83
Figure 6.2 : Nouvel ordre de fabrication .................................................................. 84
Figure 6.3 : Réponses des agents SIP pour la demande d’affectation ...................... 84
Figure 6.4 : Interface des quatre agents .................................................................... 85
Figure 6.5 : La panne machine .................................................................................. 86
Figure 6.6 : La résolution de la panne ....................................................................... 86
Figure 6.7 : Plate-forme JADE montrant le résultat de la réaffectation .................... 87
Figure 6.8 : La matrice de performance .................................................................... 88
Figure 6.9 : Résultat de la méthode ELECTREIII .................................................... 88
Figure 6.10 : Lancement de la procédure de négociation ......................................... 89
Figure 6.11 : Plate-forme JADE montrant le résultat de négociation
avec l’agent SIP N°3 ......................................................... 89
Figure6.12 : La fin de panne .................................................................................. 90
Figure 6.13 : Agenda local de l’agent SIPN°3 ......................................................... 90
Figure 6.14 : Agenda global de l’agent superviseur ................................................. 91
Figure A.1 : Algorithme de classement ..................................................................... 108
Figure C.1 : Architecture logiciel de La plate-forme JADE ..................................... 117
Figure C.2 : L'interface de l'agent RMA ................................................................... 122
Figure C.3 : L'interface de l'agent Dammy ............................................................... 123
Figure C.4 : L'interface de l'agent DF ....................................................................... 123
Figure C.5 : L'interface de l'agent Sniffer ................................................................. 124
Figure C.6 : L'interface de l'agent Inspector ............................................................. 124
Liste des tableaux
Tableau 4.1 : Hiérarchie des différents types de négociation .................................. 53
Tableau 5.1 : Liste des critères retenus pour le processus de réaffectation ............. 75
Tableau 5.2 : Liste des critères retenus pour le processus de gestion de la file ...... 76
Tableau 5.3: Tableau des performances des différentes actions. ............................. 78
Tableau 5.4 : Seuils d’indifférence, de préférence ................................................. 79
Tableau 5.5 : Résultat des deux distillations ........................................................... 79
Introduction générale
1
Introduction générale
Les exigences croissantes en flexibilité ont conduit à de nouveaux paradigmes de pilotage des
systèmes de production. Ceux-ci sont basés sur le concept d'auto-organisation et sur la notion
d'agent. De plus, l'aspect décisionnel tente toujours de proposer des solutions en fonction des
objectifs prédéfinis et de l'environnement courant de l'atelier chaque fois qu'une décision doit
être prise.
Les problèmes de décisions associés à la conduite en temps réel d’un système de production
se traduisent en réalité en problèmes d’utilisation des ressources pour la réalisation des
opérations [ROU 95]. Par conséquent, une identification des événements et des états est
suffisante pour justifier une prise de décision. L’état du système de production est défini
comme étant l’ensemble des états associés, d’une part, aux opérations à réaliser et d’autres
parts aux ressources disponibles pour réaliser ces opérations. Cet ensemble doit caractériser
complètement le problème de conduite, et par conséquent il doit fournir toutes les
informations nécessaires à la prise de décision. Les recherches de plus en plus nombreuses
dans le domaine telles que de C.Briand, F.Roubellat [BRI 00] qui ont proposé une
architecture pour le pilotage temps réel d'atelier,et F.Ounar [OUN 99] qui a abordé le cadre
du pilotage, par les ressources, des systèmes de production flexibles, etc.
Aujourd'hui, la résolution des problèmes est assurée par les Systèmes Multi-Agents (SMA)
[SAV 03].Ces systèmes regroupent des agents capables de s’auto-organiser afin d'atteindre
des buts individuels ou collectifs.
Nous modélisons le système de production proposé sous forme d’un système multi-agent,
composé de plusieurs agents SIP (Station Intégrée de Pilotage), ces agents sont des entités
autonomes interactives qui communiquent entre elles. Le système multi-agents est conçu en
vue de faire négocier plusieurs agents dans des activités devant conduire à la résolution d'un
problème ou à la réalisation d'un but.
Introduction générale
2
A cet effet, la négociation des activités d'agents représente l'élément majeur dont doit tenir
compte les concepteurs de SMA. Lors du processus de négociation, les agents doivent
communiquer et interagir en vue d'atteindre l'objectif global du système et résoudre ainsi les
conflits.
L'étude de la négociation intéresse un grand nombre de chercheurs appartenant à des
domaines aussi variés que la biologie, l'économie, la psychologie, etc. Les premiers travaux
sur la négociation ont été présentés par Malone et Crowston [MAL 94].
Les principales motivations qui nous ont conduits à effectuer ce travail sont :
1. La nécessité d’améliorer une architecture multi-agent distribuée pour un SIAMD
multicritère en gestion de production. Les modules décisionnels élaborés sont basés
sur une structure multi-agent en utilisant la méthode multicritère ELECTREIII.
2. La nécessité de développer un protocole permettant la résolution des situations
conflictuelles pouvant survenir entre les différentes activités d'agents interagissant
dans un environnement manufacturier (dynamique et à fortes contraintes industrielles).
En effet, lorsque deux agents décident d'accéder à la même ressource pour réaliser
leurs tâches ; ils peuvent entraîner dans certains cas, une incohérence au niveau du
système. Pour détecter et résoudre ces situations conflictuelles nous avons essayé de
proposer une stratégie de négociation en utilisant une hybridation du Protocole Contrat
Net [VER 04] et une approche fondée sur l'intelligence artificielle.Nous avons utilisé
la plate forme JADE (Java Agent DEvelopement framework), comme un outil de
développement pour la conception de notre application.
Ce mémoire est structuré comme suit :
Le chapitre 1 concernant l’aide à la décision, est consacré à la description des différents
principes de décision, leur typologie ainsi qu’aux étapes du processus de prise de décision.
Ensuite, nous terminons par la présentation du Système Intéractif d’Aide Multicritère à la
Décision (SIAMD).
Introduction générale
3
Le chapitre 2 présente les systèmes de production auxquels est intégrée une approche multi-
agents.
Le chapitre 3, aborde une définition des concepts de base de l’approche multi-agents et
détaille la structure de pilotage distribuée supervisée.
Le chapitre 4, présente respectivement les différents protocoles de négociation et introduit la
stratégie proposée pour la résolution des situations conflictuelles.
Le chapitre 5, introduit la structure des agents SIP (Station Intégrée de Pilotage) et présente le
processus de négociation élaboré. Nous justifions l’utilisation de la méthode ELECTRE III
dans le processus décisionnel adopté par les agents au cours de leurs négociations.
Finalement, le chapitre 6 permet la mise en œuvre de notre travail en présentant un exemple
d'application ainsi que l'implantation des mécanismes de résolution définis au chapitre 5.
Quelques écrans d’illustration permettent de se familiariser avec l’application réalisée en
utilisant la plateforme JADE.
Enfin, nous clôturons ce mémoire par une conclusion et des perspectives.
Chapitre 1 : Système Intéractif d’Aide à la Décision
5
Chapitre1
Système Intéractif d’Aide à
la Décision
1.1 Introduction Les systèmes décisionnels sont de plus en plus indispensables à la définition de la stratégie
d’une entreprise et aux prises de décisions auxquelles elle est confrontée chaque jour. Ils sont
conçus pour permettre des décisions rapides et motivées.
Les SIAD ont été d’un grand apport pour la production soit au niveau du pilotage, de
l’ordonnancement ou de la conduite. Ils ont pour objet d’apporter une aide à la décision pour
des problèmes peu ou mal structurés. En situation complexe la décision n’est pas structurée et
il devient donc primordial de concevoir des systèmes coopératifs permettant une répartition
évolutive des compétences entre l’utilisateur et la machine (dépendante du problème à
résoudre) et offrant une bonne intégration des deux agents (homme et machine) dans le
processus de décision. Cette répartition est un processus dynamique qui changera au fur et à
mesure des problèmes résolus ou des décisions prises.
Dans ce chapitre nous introduisons dans un premier temps les concepts de base d’un
processus décisionnel.Nous déterminons par la suite la nature multicritère des processus
décisionnels associés au pilotage des systèmes automatisés de production . Enfin, Nous précisons la modalité d’intégration d’un SIAD au niveau pilotage.
Chapitre 1 : Système Intéractif d’Aide à la Décision
6
1.2 La notion de décision Le Petit Larousse définit la décision comme « l’action du décideur après examen », décider,
c’est déterminer ce qu’il faut faire » et « choisir entre plusieurs alternatives ». Il résulte de ces
définitions que décider consiste à déterminer un ensemble d’actions, après y avoir réfléchi.
Une réflexion est préalable parce que nos actes ne peuvent pas être laissés au hasard si nous
voulons qu’ils soient efficaces par rapport aux buts que nous nous sommes fixés.
Le but de la décision est de modifier les résultats de nos actions pour les rendre conformes
aux critères d’évaluations que nous nous sommes fixés où que nous sommes susceptibles
d’adopter [CIP 00]. La décision va donc entraîner une modification de notre activité qui peut
être caractérisée par :
• Les entrées qu’elle utilise.
• Les acteurs qui y participent.
• Les moyens qu’elle met en œuvre.
• L’environnement dans lequel elle se déroule.
• Les sorties ou les résultats qu’elle permet d’obtenir.
1.3 La prise de décision Prendre une décision signifie concevoir et s’engager sur une stratégie d’allocation irrévocable
de ressources précieuses ( au sens général du terme).Le processus de prise de décision n’inclut
pas l’allocation de ces ressources qui est appelée une action.
De manière plus générale, on peut dire que tout individu placé devant plusieurs alternatives
mutuellement exclusives, choisit l’une d’entres elles à la suite d’un processus mental que nous
appellerons décision. On peut associer à toute décision son domaine.
On peut par exemple distinguer les décisions médicales, des décisions militaires ou
industrielles. Ces domaines peuvent être eux-mêmes divisés en sous domaines. Le domaine
d’une décision est par définition générique, c'est-à-dire que plusieurs décisions partagent le
même domaine. Par contre,certains facteurs d’une décision sont uniques et dépendent de la
décision et du décideur. Nous appellerons ces derniers la situation d’une décision[SITE 01].
Cette situation se compose du contexte et des préférences du décideur. Chaque décideur a
pour décision un contexte qui lui est associé et qui affecte fortement l’intérêt et la
disponibilité des différents choix.
Chapitre 1 : Système Intéractif d’Aide à la Décision
7
Ce contexte inclut l’état des informations du décideur qui constitue sa perception des
conséquences possible de ses actions. Chaque décideur a des désirs particuliers qui sont
exprimés par préférences sur les résultats possibles de sa décision.
A toute décision sont toujours associées des alternatives parmi lesquelles le décideur doit
choisir. Sans alternative, il n’y a pas de décision. Ces alternatives peuvent être crées à partir
des variables de décision qui sont soient génériques (appartiennent au domaine de décision
)ou uniques (appartiennent à la situation de la décision ).A chaque alternative est associée un
résultat ou bénéfice espéré au sens large du terme qui peut guider le choix entre les
alternatives.
1.4 Processus de décision
Selon Levine et Pomerol [LEV 89], un processus de décision se compose de quatre phases :
une phase d’information, une phase de conception, une phase de choix et une phase
d’évaluation du choix. La procédure décrite par cette succession de phase n’est pas purement
séquentielle. Des retours arrière peuvent se produire, notamment lors de la phase de
conception,l’évaluation des scénarios peut nécessiter l’acquisition d’informations
supplémentaires.
Un système d’information est nécessaire dans les deux phases de préparation à la prise de
décision, et dans la phase d’évaluation du choix. En effet, la capacité de traitement des
informations des ordinateurs permet au décideur, pendant la phase d’information, d’accéder
rapidement à des informations brutes ou traitées concernant la situation courante. Cette
capacité de traitement de l’information peut être aussi utilisée lors de l’évaluation des
scénarios décrivant les différentes options envisagées par le décideur lors de la phase de
conception[DUV 01].
La figure(1.1) détaille ce processus en quatre étapes nécessairement séquentielles.
Figure 1.1 : Processus de décision selon [SIM77].
Information Conception Choix Évaluation
Chapitre 1 : Système Intéractif d’Aide à la Décision
8
1. Information : Cette étape,avec la suivante,conditionne fortement la qualité de la prise
de décision.En effet,elle détermine l’ensemble des données nécessaires(mias pas
forcement suffisantes) qui seront utilisées lors des phases suivantes ;
2. Conception : Cette phase génére les différentes alternatives qui forment l’ensemble
des possibilités. Les différentes solutions sont donc élaborées à ce stade ;
3. Choix : Cette phase consiste la phase de décision proprement dite. Elle consiste à
restreindre l’ensemble des possibilités au sous-ensemble des possibilités
séléctionnées ;
4. Evaluation : Cette phase a pour objet d’évaluer la qualité de la prise de décision et
peut impliquer si nécessaire un retour à l’une des phases précédentes.
Remarque :
Simon [SIM 77] considère qu’il n’existe pas de solution optimale car en phase :
• D’analyse, nous ne disposons pas de toutes les données,
• De modélisation, nous ne disposons pas de toutes les représentations,
• D’élaboration de la solution : il s’agit plutôt d’un système d’itération de solutions pour
déterminer une solution satisfaisante.
Enfin,nous présentons la classification développée initialement par Simon [SIM 77] et reprise
par Levine et Pomerol [LEV 89]. Elle comporte trois grandes catégories :
1. Décision structurée : Le problème est clairement posé en termes techniques, les
données sont fiables et numériques. Les modèles associés sont clairement définis. Ils
permettent une résolution claire et algorithmique du processus décisionnel. C’est le
cas d’une facturation, d’un achat ….
2. Décision peu structurée : Le problème peut ne pas être clairement posé. Les données
sont souvent qualitatives, peu fiables, très peu stables et difficilement accessibles.
La résolution est difficilement exprimable sous forme algorithmique. Cette catégorie est
constituée de la quasi-totalité des processus de décision dans le cas du pilotage.
3. Décision non structurée : Le problème n’est pas clairement posé, le principe de la
rationalité limitée s’applique à toutes les étapes du processus décisionnel. La décision
élaborée est difficilement justifiable de manière rationnelle. C’est le cas par exemple
d’une réaction de l’opérateur face à un aléa qui n’a jamais été envisagé.
Chapitre 1 : Système Intéractif d’Aide à la Décision
9
1.5 Aide à la décision L’aide à la décision est l’activité de celui qui, prenant appui sur des modèles clairement
explicités mais non nécessairement complètement formalisés, aide à obtenir des éléments de
réponse aux questions que se pose un intervenant dans un processus de décision. Ces éléments
concourant à éclairer la décision et normalement à recommander, ou simplement à favoriser,
un comportement de nature à accroître la cohérences entre l’évolution du processus d’une
part, les objectifs et les systèmes de valeurs au services desquels cet intervenant se trouve
placé d’autre part[ROY 93].
L’homme d’étude est celui qui prend en charge l’aide à la décision. Mettant en œuvre des
modèles dans le cadre d’un processus de décision, il contribue à l’orienter et à le transformer.
1.6 Système Interactif d’Aide à la Décision et Pilotage
1.6.1 Système Interactif d’Aide à la Décision (SIAD)
L’aide à la décision regroupe un ensemble de domaines assez disparates tels que l’intelligence
artificielle, l’ergonomie, et les Systèmes de Gestion de Bases de Données (SGBD).
Bonczek [BON 84] définit un SIAD comme étant un système informatisé qui utilise ses
connaissances sur un sujet particulier afin d’aider le responsable lors de la prise de décision
dans une catégorie de problèmes peu ou pas structurés.
Selon Courbon [COU 88], un SIAD est un système homme-machine qui à travers un dialogue
permet à un décideur d’amplifier son raisonnement dans l’identification et la résolution de
problèmes peu structurés. Cette définition introduit la notion de dialogue ou coopération
homme -machine, concept qui conditionne fortement l’efficacité d’un SIAD.
Ces diverses définitions ont mis l’accent soit sur le type de problèmes, soit sur les fonctions
du système, soit sur ses composants ou encore sur le processus de développement.
Turban [TUR 95] définit un SIAD comme un système interactif, flexible, adaptable et
spécifiquement développé pour aider à la résolution d’un problème de décision en améliorant
la prise de décision. Il utilise des données, fournit une interface utilisateur simple et autorise
l’utilisateur à développer ces propres idées ou points de vue. Il peut utiliser des modèles soit
standards, soit spécifiques ; supporter les différentes phases de la prise de décision et inclure
une base de connaissances.
Les premiers SIAD sont apparus en 1968, ils n’ont été effectifs qu’à la fin des années
soixante-dix où divers outils d’aide à la décision sont devenus opérationnels. La définition et
les spécifications d’un SIAD ne peuvent pas être fixées précisément car il n’est pas possible
de trouver une approche générique pour l’ensemble des cas et des domaines possibles. C’est
Chapitre 1 : Système Intéractif d’Aide à la Décision
10
la raison pour laquelle, un regroupement par niveaux d’aide interactive en fonction des désirs
de l’utilisateur, a été proposé dans la littérature : [TRE 96] [OUN 99]
• SIAD passif : Donne un avis qui ne vient pas empiéter sur l’autonomie de l’utilisateur.
• SIAD traditionnel : Est un assistant dont la principale utilisation concerne les
interactions du type « What-if ? ».
• SIAD étendu : Assure les fonctions de consultant et se place au même niveau que
l’utilisateur.
• SIAD nominatif : Domine le processus de décision. L’opérateur ne remplit plus qu’un
rôle passif dans la prise de décision.
Les SIAD ont été conçus pour résoudre des problèmes de décision peu ou mal structurés. Ces
problèmes possèdent les ou l’une des caractéristiques suivantes :
1. Les préférences, jugements, intuitions et l’expérience du décideur sont essentiels ;
2. La recherche d’une solution implique un mélange de recherche d’information, de
formalisation ou définition et structuration du problème, du calcul et de la
manipulation de données ;
3. La séquence des opérations ci-dessus n’est pas connue à l’avance parce qu’elle peut
être fonction des données, être modifiées, peut ne donner que des résultats partiels, ou
encore peut être fonction des préférences de l’utilisateur.
4. Les critères pour la décision sont nombreux, en conflit et dépendant de la perception
de l’utilisateur ;
5. La solution doit être obtenue en un temps limité ;
6. Le problème évolue rapidement.
1.6.2 Le pilotage décisionnel
Traditionnellement, le pilotage et le suivi de l'activité étaient assurés par le contrôle de gestion
avec une démarche analytique centrée sur des indicateurs comptable.
Aujourd'hui, pour faire face à des marchés de plus en plus complexes, le pilotage doit intégrer
des enjeux nouveaux, tels que la valeur et le suivi du capital client et donc la rentabilité client.
Il est essentiel pour l'entreprise de mettre en place un système décisionnel moderne qui repose
sur la définition d'une véritable logique de pilotage. Pour répondre à ce besoin, Soft
Computing[SITE 02] a défini une double approche, adaptable à tout secteur d'activité, qui
permet à la fois de contrôler, d'analyser l'évolution du capital client mais aussi de simuler les
ressources à mettre en œuvre en fonction du potentiel de marché.
Chapitre 1 : Système Intéractif d’Aide à la Décision
11
L'aptitude à mettre en place un système logique et structuré, avec la création de tableaux de
bord et d'indicateurs pertinents, devient alors essentielle pour l'entreprise.
1.6.3 Les éléments d'un système de pilotage
Un système de pilotage performant repose sur la bonne articulation de deux éléments
complémentaires:
1. Un système décisionnel: il s'agit d'un ensemble de données organisé sur un mode
approprié à la prise de décision, associé à une représentation intelligente de ces
données au travers d'outils spécialisés.
Un système décisionnel s'articule sur deux éléments informatiques distincts:
• Un entrepôt de données qui permet aux utilisateurs de travailler dans un
environnement informationnel, référencé, homogène et historiés.
• une ou plusieurs applications décisionnelles qui permettront d'extraire de
l'entrepôt de données la connaissance souhaitée selon des règles préétablies.
2. Une logique de pilotage: la valeur ajoutée la plus déterminante pour l'efficacité du
système réside dans cet élément, qui consiste en un formatage du système décisionnel
selon différents axes:
• les spécificités métier de l'entreprise,
• Les axes d'analyses (domaines d'application fonctionnels ou opérationnels),
• Les indicateurs élaborés pour représenter ces domaines,
• Les règles de gestion, qui déterminent les composantes des indicateurs,
• Les requêtes qui permettent de lancer des analyses plus approfondies (ex:
datamining).
1.6.4 Les niveaux de décision dans le cadre du pilotage
La décision est classée en trois niveaux [TRE 96] :
• Le niveau Stratégique concerne les décisions prises dans un horizon à long terme. Les
modèles analytiques sont utilisés dans ce niveau de décision.
• Le niveau Tactique concerne les décisions prises dans un horizon à moyen terme. Il
décrit le plan de production global. La simulation est très utilisée du fait de la
complexité des systèmes.
• Le niveau Opérationnel concerne les décisions prises dans un horizon à court terme.
Ce niveau de décision concerne le plan détaillé (ordonnancement, allocation de tâches,
Chapitre 1 : Système Intéractif d’Aide à la Décision
12
etc.). Des modèles physiques doivent être intégrés dans ce niveau. La simulation est là
encore très exploitée pour valider les modèles et les heuristiques.
Selon cette caractérisation, le processus décisionnel associé à une structure de pilotage est :
• Souvent indissociable de l’opérateur humain car il est seul capable d’intégrer la
diversité et la complexité des données dans un cadre décisionnel réactif et global.
• Naturellement peu ou pas structuré, ce qui réduit fortement l’intérêt d’exploiter un
ensemble de méthodes purement algorithmiques.
Ces caractéristiques justifient l’adoption d’une démarche décisionnelle coopérative associant
l’opérateur humain et un système interactif d’aide à la décision.
1.6.5 Nature des processus décisionnels dans le cadre du pilotage
Trentesaux [TRE 96] a démontré que les processus décisionnels au niveau du pilotage
résultent d’un compromis entre des critères conflictuels exprimés principalement en termes de
coût, délai ou qualité. Chaque processus de décision de pilotage est par essence multicritère.
L’allocation d’une tâche par exemple, est un processus décisionnel qui résulte d’une étude
portant sur des critères de coût de production, de temps de changement de série, de temps de
convoyage, de temps d’attente dans le stock amont, de qualité de production, etc. Par ailleurs
l’approche multicritère facilite l’intégration de l’opérateur humain au sein d’un SIAD.
1.7 Conclusion Face à une demande évolutive de productions variées, les entreprises se trouvent obligées de
réorganiser leur production de manière à fabriquer à la demande, respecter les délais et assurer
une qualité suffisante à faible coût. Pour ce faire, notre étude vise à améliorer la qualité de la
décision apportée au processus décisionnel par la proposition d’une méthodologie de
conception d’un Système Interactif d’Aide Multicritère à la Décision SIMAD pour le pilotage
d’une structure dynamique, évolutive et robuste. Pour cela nous avons présenté dans ce
chapitre tout ce qui concerne la décision, le procédé de prise de décision sur lequel porte notre
étude. Nous avons mis en évidence l’aspect multicritère des décisions associées au pilotage.
Ces décisions sont exprimées principalement en termes de coût, délai ou qualité, ce qui nous a
amené à adopter l’approche multicritère comme méthode de résolution. Les problèmes de décisions associés à la conduite en temps réel d’un atelier se traduisent en
réalité en problèmes d’utilisation des ressources pour la réalisation des opérations.
Chapitre2 : La gestion de production
14
Chapitre 2
La gestion de production
2.1 Introduction Aujourd’hui, les entreprises doivent évoluer dans un environnement très incertain, très
changeant et dominé par une forte concurrence internationale. L'amélioration de la gestion de
production est à la base de toute recherche dans le domaine de la productivité à accroître. La
productivité est la clef de la survie et du développement des entreprises industrielles, les
modifications, les améliorations ou les transformations de produits, sont de plus en plus
communes et la notion de flexibilité est fortement liée à cette évolution. Ainsi l’organisation
employée doit pouvoir supporter un processus de fabrication robuste. La concurrence exige
que l'entreprise se dote d'un système de production efficace qui réagisse rapidement aux
contraintes du monde environnant et en particulier aux exigences et évolutions du marché
[ANN 01].
Il faut développer de nouvelles technologies d'une part, et gérer au mieux les systèmes
productifs d'autre part.Parmi les différentes fonctions de la gestion de production, nous nous
intéressons plus particulièrement à la fonction d'ordonnancement dynamique.
Dans ce chapitre nous présentons les concepts fondamentaux de la gestion de production et
nous faisons le point sur la problématique de pilotage de tels systèmes. Nous développons,
par la suite, les principales approches de pilotage.
Chapitre2 : La gestion de production
15
2.2 Le système de production Un système de production est un ensemble de ressources réalisant une activité de production.
De manière générale on peut décomposer un système de production en deux parties
complémentaires [GEO 98] :
La partie opérative, qui désigne le flux matériel, elle est constituée des entités
appartenant à trois populations : la population des produits, des moyens de production et les
opérateurs, Elle a pour fonction de fabriquer (qualité, quantité, délais) des produits ou des
services pour lesquels le système est destiné.
La partie conduite, qui traite le flux informationnel. Elle a pour fonction d’élaborer les
ordres ou les commandes nécessaires pour la partie opérative.
Son rôle est de diriger, guider et piloter, de manière à assurer la pertinence et la cohérence
du système dans un environnement donné. La conduite peut être considérée comme l’art
d’adapter en permanence les objectifs de l’entreprise à l’évolution de l’environnement à
travers l’analyse des contraintes et des opportunités.
Les principales missions du système de pilotage peuvent être résumées de la façon suivante
: auto organisation, adaptation, optimisation et régulation.
2.2.1 Les caractéristiques d’un système de production
Solon le contexte économique dans lequel les entreprises évoluent aujourd’hui,elles
nécessitent des systèmes de production basés sur des principes, ayant des nouvelles
caractéristiques, telles que la flexibilité, la robustesse, la réactivité, et la pro activité [ALO
02].
• Flexibilité La flexibilité d'un système de production se caractérise par sa capacité d'adaptation à la
production des nouveaux produits. Plusieurs types de flexibilité sont mis en évidence suivant
leurs incidences sur l'objectif et sur les moyens de production permettant la réalisation de ce
dernier.
o Flexibilité sur les temps : c’est-à-dire sur les dates de début d’exécution des
opérations.
o Flexibilité sur les ordres : on autorise dans ce cadre, à modifier l’ordre dans
lequel les opérations doivent s’exécuter sur les machines.
Chapitre2 : La gestion de production
16
o Flexibilité sur les affectations : dans le cas ou les ressources existent en plusieurs
exemplaires, on autorise l’exécution d’une tâche à s’effectuer sur une autre
ressource que celle qui était prévue initialement.
o Flexibilité sur les modes d’exécution : le mode d’exécution comprend
l’autorisation ou non de la préemption, du chevauchement de gamme, la prise en
compte ou non du temps de préparation, la modification du nombre de
ressources nécessaires pour exécuter une opération.
• Réactivité
La réactivité d’un système de production est définie comme l’aptitude à répondre dans un
temps requis aux changements de son environnement interne ou externe. C'est-à-dire qu’il
doit avoir une conduite qui lui permette de réagir et s’adapter, en fonction des objectifs de
production, aux fluctuations des besoins et aux aléas du système par rapport au
fonctionnement permanent.
Cette réactivité impose une vue dynamique des événements, pour cela trois fonctions
s’avèrent nécessaires :
o Une fonction d’observation qui collecte les variables nécessaires au suivi, afin de
connaitre l’état courant du système.
o Une fonction de surveillance qui détecte et interprète les écarts et les
changements entre le plan prévisionnel et le plan courant.
o Une fonction de correction qui tente à tout instant de corriger les écarts entre ces
plans, ce qui implique un ordonnancement dynamique.
• Pro-activité
La pro-activité d’un système de production se caractérise par ses capacités d’anticipation
des changements d’état, d’apprentissage et d’enrichissement des connaissances,
d’adaptation de ses règles de fonctionnement et par sa capacité de réorganisation,
d’observation, de surveillance et de correction nécessaires pour assurer la réactivité et la
pro-activité.
• La robustesse La robustesse d'un système de production se définit par son aptitude à produire conformément
aux résultats attendus. Cela suppose la garantie de l'obtention des performances souhaitées en
présence d'incertitudes dans le système.
Chapitre2 : La gestion de production
17
2.2.2 La gestion de production
La gestion de production a pour objet la recherche d’une organisation et de piloter le
fonctionnement des processus physiques mis en œuvre dans l’entreprise afin d’assurer une
meilleure utilisation des moyens humains, physiques et technologiques disponibles et de
satisfaire au mieux l’objectif global de production défini en terme de quantités à fabriquer
avec une qualité demandée, et des délais à respecter [AGN 01].
Cette définition présente la gestion de production comme une fonction qui doit tenir compte
de nombreuses contraintes et objectifs diversifiés selon leurs natures dans le but de piloter
l’ensemble des moyens de production :
• Les contraintes décrites en termes d’utilisation efficace des moyens disponibles :
ressources humaines ou matérielles.
• Les objectifs définis en terme global de qualité et de coût.
L’automatisation est le moyen le plus courant qui permet d’obtenir une gestion performante
de la production.
2.3 Les Systèmes Automatisés de Production (SAP)
On définit un système de production comme étant une combinaison d’éléments destinés à
conférer une valeur ajoutée à un ensemble de matière d’œuvre dans un contexte donné.
Une automatisation d’un système de production consiste à confier à un dispositif technique
tout ou partie des tâches de coordination effectuées par l’opérateur humain. L’automatisation
permet d’augmenter la productivité, la flexibilité, la qualité et/ou la sécurité qui sont
considérées comme faisant partie de la valeur ajoutée.
2.4 Le pilotage des systèmes industriels Avenier [AVE 84] défini le pilotage comme suit :
Piloter un engin revient en premier lieu à choisir un objectif par rapport auquel la meilleure
trajectoire est définie. Une fois l’engin lancé, il s’agit de :
• Corriger en permanence les écarts par rapport à la trajectoire,
• Modifier éventuellement la trajectoire, voire l’objectif, lorsque des informations sur
l’univers extérieur et sur le comportement de l’engin montrent que le plan initial ne peut
être maintenu.
Chapitre2 : La gestion de production
18
Cette définition du pilotage est applicable aux systèmes de production, dès lors que l’on
précise que c’est l’appréciation (ou l’interprétation) des performances du système qui
conditionne les décisions de modification de trajectoire ou même d’objectifs.
2.4.1 Les fonctions d’un système de pilotage
D'une manière générale, piloter un système de production fait appel à deux fonctions
distinctes :
• Une fonction de gestion à priori (ou planification) dont le rôle est d'assurer la
programmation d'un ensemble d'actions ou de décisions.
• Une fonction de gestion en temps réel (ou conduite) dont le rôle est de prendre
les décisions qui relèvent de l'immédiat, c'est-à-dire qui sont motivées par les
événements liés à l'état courant du système de production.
La fonction pilotage temps réel peut être décomposée en deux sous fonctions : conduite et
commande.
1. La conduite : Elle regroupe les activités décisionnelles qui seront traduites en
ordres et transmises au niveau commande. Elle correspond au niveau
décisionnel du pilotage dont le rôle principal est de mettre en œuvre les
décisions planifiées par le niveau prévisionnel.
La fonction de conduite comprend deux sous fonctions permettant d’assurer :
• Le contrôle et la cohérence globale du système de pilotage ainsi que la gestion
des interactions entre les centres de décisions.
• La définition et la gestion de l’environnement qui comprend la gestion de la
logistique technique et des configurations.
Une fonction associé à chacune des deux fonctions précédentes, c’est la fonction de suivi
permettant la collecte des données de suivi de fonctionnement du système.
2. La commande : Elle s’occupe de la réalisation du processus physique et
retourne un ensemble de données de suivi à la partie conduite.
La figure (2.1) illustre les fonctions de pilotage.
Chapitre2 : La gestion de production
19
2.4.2 Le pilotage en temps réel
Le pilotage en temps réel se trouve face à une problématique principale, qui est d’émettre des
décisions cohérentes face à des contraintes disjointes qui sont :
• Les contraintes imposées par la gestion prévisionnelle en termes de décisions ou
d'objectifs,
• Les contraintes imposées par le système physique (retard, etc.).
2.4.3 Pilotage et ordonnancement
Qu'est-ce que l'ordonnancement?
L'ordonnancement est la programmation dans le temps de l'exécution d'une série de tâches
(ou activités, opérations) sur un ensemble de ressources physiques (humaines et techniques),
en cherchant à optimiser certains critères, financiers ou technologiques, et en respectant les
contraintes de fabrication et d'organisation [AGN 01]. Les Ordres de Fabrication (OF),
suggérés par le calcul des besoins, représentent chacun une requête pour fabriquer une
quantité déterminée de pièces pour une date donnée. Ils constituent les données d'entrée de
l'ordonnancement et permettent de définir, au moyen des gammes de fabrication, l'ensemble
des tâches que la fonction ordonnancement doit planifier.
Une tâche est localisée dans le temps par une date de début et une durée ou une date de fin.
Elle utilise une ou plusieurs ressources, elle est dite préemptive si elle peut être interrompue,
ou non préemptive si elle ne peut pas être interrompue. En sortie de la fonction
Figure 2.1 : Les fonctions de pilotage.
Conduite
Système physique
CommandePilotage Tem
ps réel
Suivi Temps réel
Tâches exécutables
Actions Capteurs Événements
Suivi Actions planifiées
Chapitre2 : La gestion de production
20
ordonnancement, on obtient un planning, ou ordonnancement, qui restitue l'affectation des
tâches fournies en entrée à des dates précises pour des durées déterminées sur les différentes
ressources. Ce planning cherche à satisfaire des objectifs, en respectant le plus possible des
contraintes que nous allons préciser.
Les objectifs de l’ordonnancement imposent de mesurer la qualité d’une solution à répondre
au problème étudié. Des critères d’efficacité sont définis et utilisés pour isoler les solutions
optimales ou satisfaisantes, par exemple : la minimisation de la durée totale de fabrication,
des temps d’interactivité des machines, du coût de l’ordonnancement ou encore du respect des
dates de fin de tâches, alors que certains cas particuliers peuvent nécessiter des critères plus
spécifiques comme par exemple la minimisation de goulots d’étranglement sur une ressource.
A partir de ce problème général de l’ordonnancement, nous nous intéressons à
l’ordonnancement d’un atelier de production qui est caractérisé par des préoccupations de
gestion optimale des ressources issue du domaine de la gestion de production [TRA 01].
Dans ce genre de problème, il faut comprendre les tâches, les ressources qu’elles utilisent. Un
travail ou un Job est une liste d’opérations élémentaires nécessaires à sa réalisation.
Les problèmes d’ordonnancement d’un atelier c’est aussi la définition de « contraintes
potentielles » [TRA 01]:
• Contraintes d’antériorité ce sont des contraintes de succession de tâches d’un
même job.
• Contraintes de localisation temporelle, ce sont des contraintes de temps comme
par exemple : le produit A doit être fourni ∆t avant le produit B.
• Contraintes d’indépendance des Jobs : s’il n’y a aucune contrainte d’antériorité
entre les opérations.
• Hypothèse de non-préemption : une fois commencée, une tâche ne peut être
interrompue.
• Contrainte disjonctive, si un travail ne peut être effectué que sur une seule
machine à la fois, l’exécution de ces tâches ne peut être parallèle de même que la
machine, ne peut exécuter qu’une tâche à la fois.
Dans notre cas, nous nous intéressons aux tâches opératives, c’est-à-dire qu’une tâche est un
ordre de fabrication. L’allocation des ressources à une tâche, peut être réalisée en temps réel
(allocation dynamique). On peut différencier les types de pilotage selon qu’un
ordonnancement prévisionnel des tâches est réalisé ou non.
Chapitre2 : La gestion de production
21
• Pilotage sans ordonnancement prévisionnel : L’ordonnancement dans ce cas
se fait dynamiquement, aucune planification prévisionnelle, l’allocation se fait
au fur et à mesure de l’évolution événementielle du système de production.
• Pilotage à ordonnancement prévisionnel partiel : Seule une partie des tâches
à réaliser sont planifiées à priori. Les autres sont allouées dynamiquement.
• Pilotage à ordonnancement prévisionnel total :Toutes les tâches à réaliser
sont allouées en amont du système de pilotage.
• Le Ré-ordonnancement : Il y’a aussi le ré-ordonnancement qui est une
préoccupation connexe à celle de l’ordonnancement à savoir, comment
préserver les efforts calculatoires qui ont été nécessaires au calcul d’un
ordonnancement lorsque des modifications des conditions initiales le remettent
en cause. C’est un problème très réel qui s’approche de l’ordonnancement
dynamique car on doit le résoudre lorsqu ‘il survient sur le terrain et en temps
réel.
2.5 Les modèles organisationnels des systèmes de pilotage D’une manière générale, le système de conduite se trouve à tous les niveaux de l’entreprise, il
est en relation étroite avec les autres fonctions de l’entreprise soit par les actions de
coordination, soit par des actions de coopération. On peut distinguer essentiellement cinq
structures différentes [TRE 96]:
1. Approche centralisée : Caractérisée par un pilotage localisé au sein d’une ressource
unique qui supervise la production .
2. Approche hiérarchique : Les modèles hiérarchiques répondaient bien aux exigences
industrielles, car ils apportaient des avantages en termes de qualité de la structuration
et de l’optimisation des processus de production.
3. Approche coordonnée : Cette approche est basée sur l'approche hiérarchisée. La
différence est que dans cette approche, on permet l'existence d'une coopération au sein
d'un même niveau. Théoriquement, cette structure accroît la capacité de décision de
chaque niveau.
4. Approche distribuée : Cette approche est basée sur une distribution complète de la
décision sur un ensemble d'agents. Le contrôle d'une telle architecture est
particulièrement complexe en raison de sa modularité.
Chapitre2 : La gestion de production
22
5. Approche distribuée supervisée : Le modèle de pilotage adopté pour notre projet est
le modèle distribué supervisé au sens large qui a la forme suivante figure(2.2).
Il favorise l’interaction entre les différentes entités de pilotage, afin de respecter les
contraintes globales, et laisse chaque entité de production sous le contrôle d’une seule entité
de pilotage pour que la prise de décision soit rapide. Ainsi, l’entité superviseur possède une
vision plus globale du processus de production. Ce qui donne une meilleure souplesse du
système.
2.6 Description du l’un atelier L’état d’un atelier est défini comme étant l’ensemble des états associés d’une part aux
opérations à réaliser et d’autre part aux ressources disponibles pour réaliser ces
opérations[ROU 05].
Cet ensemble doit caractériser complètement le problème de conduite de l’atelier, et par
conséquent il doit fournir toutes les informations nécessaires à la prise de décision.
La relation entre les tâches qui nous intéressent dans notre travail est de type
séquentiellement indépendantes, deux tâches t1 et, t2 sont dites séquentiellement
indépendantes si la tâche t1 peut être exécutée avant que la tâche t2 ne débute.
2.6.1 Etats des ressources
Les états dans lesquels peut se trouver une ressource sont :
• Libre _Isolée (LI_I): La ressource est libre (couplée à aucune opération) et associée à
aucune autre ressource.
Figure 2.2: Structure de pilotage distribuée supervisée.
Information de suiviOrdres Centre de décisionCentre de productionCoordination
Chapitre2 : La gestion de production
23
• Libre _Associée (LI _A) : Si aucune opération ne lui est affectée, et associée à un
ensemble d'autres ressources.
• Occupée _Isolée (OC_I) : Une opération d'exécution est en cours sur une ressource
isolée.
• Occupée _Associée (OC_A) : Lorsqu’elle exécute une opération sur une ressource
associée.
• En Panne (PN) : Si elle ne peut pas fonctionner suite à un incident.
• Non Active (NAC) : Lorsque l’opération est arrêtée suite à un blocage de l’ordre de
fabrication (exemple : manque d’approvisionnement), la ressource est utilisable et elle
reste alors affectée à l’opération qui était en cours. On distingue NAC_ A pour une
ressource non active dans l'état associé. NAC_I pour une ressource non active dans
l'état isolé.
2.6.2 Etats des opérations
Lors de son exécution, une opération peut se trouver dans l’un des états suivants :
• Blanc (BL) : Lorsqu’au moins une des opération précédente n’est pas dans l’état en
cours.
• En approche (AP) : Lorsque toutes les opérations sont passées dans l’état en cours.
• En transport (TP) : Lorsque toutes les opérations précédentes sont terminées et que
l’opération en question est en transport vers son lieu d’exécution.
• Disponible (DI) : Transport terminé, l’opération se trouve devant le lieu
d’exécution, elle est prête à être exécutée.
• En cours (EC) : L’opération est en cours d’exécution sur une ressource.
• Arrêtée (AR) : L’exécution est arrêtée car la ressource qui l’exécutait a subi une
panne sur une ou plusieurs de ces lignes de charge.
• Bloquée (BQ) : Une opération passe à l’état bloqué suite à l’occurrence d’un
incident lié à l’ordre de fabrication ou tout autre incident autre qu’une panne sur la
ressource utilisée par cette opération.
• Terminée (TR) : Lorsque l’exécution de l’opération est terminée.
A chaque instant, l'état du système de production est constitué de l’ensemble des opérations
à exécuter, et des ressources prévues pour l’exécution.
Chapitre2 : La gestion de production
24
2.6.3 Evénements
Les événements correspondent à des situations constatées dans l’atelier à l’aide de son
système de suivi de fabrication, qui provoquent des changements d’états susceptibles
d’engendrer des décisions.
La liste des événements correspondant aux états spécifiés est :
• Fin d’Exécution d’une opération (FE): Une fois l’opération terminée, la ressource
qui l’exécutait devient libre.
• Fin de Transport d’une opération (FT): L’opération est devant son lieu d’exécution
prête à être exécutée.
• Panne (P) d’une ressource : La déclaration de la panne s’accompagne du nom de la
ressource qui tombe en panne et de l’opération concernée.
• Fin de panne (FP) d’une ressource: Après la fin de la panne, la ressource peut
exécuter une opération.
• Blocage (B) d’une opération : Le blocage d’une opération couvre tous les problèmes
relatifs à l’opération qui empêchent son exécution.
• Fin de Blocage (FB) d’une opération : Après l’occurrence de cet événement
l’opération sera prête à être exécutée.
• Panne technique de la Machine (PM) : Se produit lorsqu' une machine est bloquée
en attendant une réparation.
• Fin de panne d'une machine (FP) : Deux situations sont possibles lors d'une fin de
panne soit:
o L'opération est restée couplée à une ressource et dans ce cas l'exécution
reprend.
o L'opération a été découplée d'une ressource, elle doit être réaffectée.
• Panne d'un Réseau (PR): La déclaration de la panne s’accompagne du nom de la
machine qui devient indisponible.
• Fin de Panne d'un Réseau (FPR): Après la fin de la panne, la machine peut de
nouveau exécuter une opération.
Chapitre2 : La gestion de production
25
2.6.4 Décisions
Les décisions ont pour objectif d’organiser l’utilisation des ressources pour exécuter les
opérations en respectant au mieux les délais définis par le plan de production.
Chaque décision concerne donc la relation entre une opération et la ressource utilisée pour son
exécution. On distingue les types de décisions suivants :
• La décision de type E : Cette décision consiste à coupler une opération d'exécution et
les ressources principales et complémentaires nécessaires afin d'engager l'opération.
• La décision de type R : Cette décision consiste à reprendre l’exécution d’une opération
sur une ligne de charge après sa réparation (elle n’est plus en panne). Si plusieurs
opérations couplées à cette ressource ont été arrêtées, un problème de choix va se
poser.
• La décision de type I : Consiste à libérer la ressource suite à l’interruption de
l’exécution de l’opération à laquelle la ressource était couplée.
• La décision de type C : Consiste à changer l’affectation d’une opération. La décision
de réaffectation de l’opération doit être prise dans le cadre du respect du plan de
production.
2.7 Les processus décisionnels associés à la conduite en temps réel d’un
système automatisé de production
On à coutume de distinguer les événements attendus dont on sait qu'ils doivent se produire
pour un certain état de l'atelier des événements inattendus correspondant à un alea[ROU 05].
• Evénements attendus
1. Après la fin de l’exécution d’une opération (FE), la ressource _associée se libère. Elle
sera donc prête à exécuter une nouvelle opération. Il s’agit donc de choisir l’opération à
exécuter. C’est une décision de type E. En conséquence toutes les opérations suivantes
dans la gamme passent à l’état en approche (AP).
2. Dans le cas d’une fin de transport (FT), une opération devient disponible. Si la ressource
qui doit exécuter l’opération est libre et associée, le décideur peut lancer son exécution
donc c’est une décision de type E.
3. Dans le cas d’une fin de panne (FP), la ressource peut à nouveau exécuter une
opération. Cet événement spécifie la ressource qui n’est plus en panne. Il faut donc
exploiter cette ressource pour l’exécution d’une opération. Un problème de choix de
Chapitre2 : La gestion de production
26
l’opération à reprendre l’exécution se pose. Si aucune opération n’est arrêtée cette
ressource sera libre, on se retrouve dans le même cas qu’une fin d’exécution.
4. Dans le cas d’une fin de blocage (FB), le décideur n’a pas le choix : il reprend
l’exécution de l’opération sur la ressource qui lui est couplée.
5. Dans le cas de fin de panne de réseau (FR), la machine devient disponible, il faut donc
exploiter cette machine à exécuter une opération. L'agent SIP doit exploiter la
ressource:
o Soit en reprenant l'exécution de l'opération arrêtée si celle-ci n'a pas été
réaffectée.
o Soit en choisissant une autre opération.
On remarque que, face à des événements attendus les décisions consistent à coupler des
ressources à des opérations pour exécution ou à reprendre celles qui étaient interrompues.
• Evénements inattendus
1. Suite à une Panne (P) d’une ressource, une opération se trouve arrêtée. Avant que cette
opération ne soit en retard, le décideur pourra interrompre son exécution pour la
continuer sur une autre ressource libre associée et non en panne.
2. Suite à un Blocage (B) d’une opération en cours, la ressource qui l’exécutait devient non
active. Afin de respecter les délais des opérations en attente sur cette ressource. Le
décideur pourra interrompre l’exécution de l’opération bloquée pour continuer à utiliser
la ressource à laquelle elle était couplée.
3. Suite de Panne d'un Réseau (PR), déclaration de la panne s'accompagne de nom de la
machine qui devient indisponible, le décideur pourra interrompre son exécution pour la
continuer sur une autre machine libre_ Associée. Il 'agit de choisir la meilleur ressource
Donc, on peut dire que, face à un événement inattendu, les décisions à prendre consistent à
interrompre l’exécution d’une opération ; soit pour la réaffecter vers une autre ressource, soit
pour libérer la ressource qui l’exécutait.
Chapitre2 : La gestion de production
27
2.8 Conclusion Dans ce chapitre, nous avons voulu donner un aperçu sur les systèmes de pilotage, leur nature,
leurs caractéristiques et leurs fonctions en faisant allusion aux systèmes de production qu’ils
pilotent, sachant que le premier s’adapte au deuxième.
Nous avons défini aussi l’état d’un atelier comme étant l’ensemble des états associés d’une
part aux opérations à réaliser et d’autre part aux ressources disponibles pour réaliser ces
opérations. Cet ensemble doit caractériser complètement le problème de conduite de l’atelier,
et par conséquent il doit fournir toutes les informations nécessaires à la prise de décision.
Chapitre3 : Les systèmes multi-agents
29
Chapitre 3
Les systèmes multi-agents
3.1 Introduction L’avènement des systèmes multi-agents qui permettent de distribuer les problèmes sur des
ensembles auto-organisés vers une gestion locale, favorisant réactivité et comportements
émergents peut faciliter la mise en oeuvre 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 un problème.
Dans ce chapitre nous discutons le concepte d’Intelligence Artificielle Distribuée
(IAD),ensuite la notion de SMA .Enfin,nous présentons certains applications industrielles
avec le choix et la modélisation de la structure de pilotage.
3.2 L’intelligence artificielle distribuée L'un des objectifs de l'Intelligence Artificielle est la définition de systèmes capables de
représenter des connaissances, de raisonner, et de planifier des actions afin de résoudre des
problèmes pouvant être très complexes. Elle cherche à obtenir des résultats comparables à ce
que feraient des êtres humains dans des cas similaires, mais sans forcément utiliser les mêmes
moyens.
Pour résoudre certaines tâches simples, il est tout à fait possible de considérer un système dit
intelligent qui agit seul dans son environnement. Cependant, en dehors de ces problèmes
simplifiés, on se retrouve souvent dans les cas réels avec un système qui n'est plus seul à agir
sur l'environnement. Les effets de ses actions peuvent alors se trouver combinées à celles
d'autres entités avec une certaine influence. Pour cela, il faut étendre cette notion de système
Chapitre3 : Les systèmes multi-agents
30
intelligent unique et construire un système à base d'entités plus simples où chacune s'occupe
d'une partie du problème, tout en ayant au final une complexité globale moindre.
3.3 Les Systèmes Multi-Agents (SMA)
3.3.1 Définition
Les systèmes multi-agents constituent une nouvelle technique de modélisation qui place
l’objet d’étude au centre de sa démarche. Ces modèles représentent les actions individuelles,
les interactions entre les acteurs et les conséquences de ces interactions sur la dynamique du
système.
Les systèmes multi-agents empruntent à l’intelligence artificielle distribuée les modes de
communication et de concertation entre agents. Ils reprennent les idées d’autonomie et
d’émergence du résultat final à partir des interactions individuelles à la vie artificielle.
Ferber [FER 95] donne la définition suivante :
« Un système multi-agents est un système composé des éléments suivants:
• Un environnement c’est à dire un espace disposant généralement d’une métrique,
• Un ensemble d’objets situés dans l’espace, ils sont passifs, ils peuvent être perçus,
détruits, créés et modifiés par les agents,
• Un ensemble d’agents qui sont les entités actives du système,
• Un ensemble de relations qui unissent les objets entre eux,
• Un ensemble d’opérations permettant aux agents de percevoir, de détruire, de
créer, de transformer et de manipuler les objets.
• Un ensemble d’opérateurs chargés de représenter l’application de ces opérations
et la réaction du monde à cette tentative de modification (les lois de l’univers).
Autrement dit, un système multi-agents est un ensemble d’entités autonomes et actives (les
agents). Les phénomènes ou les comportements sont distribués au niveau individuel des
agents. Chacun est alors spécialisé et agit de façon autonome.
De ces actions individuelles, émerge la solution ou le comportement général du système, soit
par une interaction due à la modification de l’environnement par les agents où ils évoluent,
soit par une communication entre agents par le biais d’un langage symbolique, par exemple.
De cette définition, nous déduisons que l’interaction et la communication sont un phénomène
important dans les SMA. A cet effet, nous allons maintenant décrire ce qui se passe lorsque
l'on est en présence de plusieurs agents en présentant les phénomènes d'interaction et la notion
Chapitre3 : Les systèmes multi-agents
31
d'organisation qui rend possible la résolution collective de tâches dans les systèmes multi-
agents.
3.3.2 Caractéristiques des agents
Notion d’Agent
Le concept d'agent est utilisé dans divers domaines comme l'ingénierie, la gestion des
réseaux, les systèmes distribués, la robotique, les interfaces homme/machine et l'Intelligence
Artificielle.
En raison des applications inhérentes diverses, la définition d'un agent varie beaucoup selon le
domaine, voire le système utilisé. Ainsi, nous retiendrons deux définitions parmi les plus
connues :
Définition 1
Un agent est un système informatique encapsulé qui est situé dans un environnement et qui est
capable d’effectuer des actions autonomes et flexibles afin d’atteindre les objectifs pour
lesquelles il a été conçu.
Définition 2
Un agent [FER 95] est une entité interactive qui existe autant que partie d’un environnement
partagé par d’autres agents. C’est une entité conceptuelle qui perçoit et agit avec initiative ou
en réaction dans un environnement où d’autres agents existent et interagissent les uns avec les
autres sur la base de connaissances partagées de communication et de représentation.
Les propriétés suivantes peuvent être attribuées aux agents :
• Adaptabilité : capacité à apprendre et à s’améliorer avec l’expérience.
• Autonomie : actions proactives et dirigées par des buts.
• Comportement collaboratif : capacité à travailler avec d’autres agents pour un
objectif commun.
• Capacité inférentielle : capacité d’agir avec des spécifications abstraites des tâches.
• Capacité de communication au niveau des connaissances : capacité de
communiquer avec les autres agents avec un langage comme celui des êtres
humains.
• Personnalité : capacité à manifester des attributs d’un caractère humain crédible.
• Réactivité : capacité de détecter et de réagir.
Chapitre3 : Les systèmes multi-agents
32
• Continuité temporelle : persistance d’une identité et d’un état sur une longue
période.
Définition 3
Un agent est une entité dont l’état est considéré comme constitué de composants mentaux tels
que croyances, capacités, choix, engagements, etc.
3.3.3 La typologie des agents
• Agent Cognitif
La notion d’agent a été développée par le biais de la psychologie humaine où le
comportement humain est prévu et expliqué à travers l’attribution d’attitudes. Ainsi, les
agents cognitifs disposent d’une base de connaissances et de plans explicites leur permettant
d’atteindre leurs buts. Par ailleurs, des modèles d’agents ont été formalisés dans le sens des
croyances, des désirs, des intentions, des objectifs, etc., [WOO 94]. Un agent a une structure
du type BDI « Belief Desire Intention » [MAR 03] est aussi qualifié « délibératif » [SHO 93].
D’ailleurs, selon la programmation orientée agent, [SHO 93] propose la définition suivante :
• Agent Réactif
Un agent peut être réactif, il n’a ainsi pas de représentation de son environnement. Il agit avec
un comportement de stimulus / réponse et réagit à l’état présent de l’environnement dans
lequel il est situé. Ce genre d’agents ne tient pas compte du passé et ne planifie pas le futur, ce
qui présente un grand avantage et rend les systèmes réactifs plus rapides. Les propriétés
principales de ces systèmes sont la robustesse et la tolérance aux fautes. En effet, un groupe
d’agents peut compléter une tâche quand l’un deux échoue.
Par contre, les agents réactifs ont un comportement myope puisqu’ils ne prévoient pas l’effet
des décisions locales sur le comportement global du système. En plus, il est difficile de gérer
les agents pour accomplir les tâches complexes car la relation entre les comportements
individuels et le comportement global du système n’est pas bien saisi.
• Agent hybride
Un agent hybride possède des composants réactifs et aussi des composants cognitifs pour
garantir un raisonnement de qualité [SYC 98].
Dans ce cas, un agent est composé de plusieurs couches arrangées selon une hiérarchie, la
plupart des architectures considèrent trois couches.
Au plus bas niveau, on trouve une couche purement réactive, qui prend ses décisions en se
basant sur des données brutes en provenance des senseurs. La couche intermédiaire fait
Chapitre3 : Les systèmes multi-agents
33
abstraction des données brutes et travaille plutôt avec une version qui se situe au niveau des
connaissances de l’environnement. Finalement, la couche supérieure se charge des aspects
sociaux de l’environnement (raisonnement tenant compte des autres agents).
3.3.4 Interactions et coopération entre agents
Un système multi-agents (SMA) se distingue d’une collection d’agents indépendants par le
fait que les agents interagissent en vue de réaliser conjointement une tâche ou d’atteindre
conjointement un but particulier [JAR 02]. Les agents peuvent interagir en communiquant
directement entre eux ou par l’intermédiaire d’un autre agent ou même en agissant sur leur
environnement.
Le fait d'avoir plusieurs agents actifs au même moment dans le système implique de nouveaux
phénomènes :
1. Les effets des actions de chaque agent et les lois d'évolution de l'environnement se
combinent, et peuvent parfois s'amplifier, s'annuler, se perturber...
2. Les agents peuvent percevoir les effets provoqués par les actions des autres.
Ainsi, un agent peut avoir connaissance du fait qu'il n'est pas seul dans son environnement.
Ces deux remarques nous amènent à la notion d'interaction qui peut être définie de la façon
suivante :
Une interaction est une mise en relation dynamique de deux ou plusieurs agents par le biais
d’actions réciproques [FER 95].
• La coordination
Pour garantir la cohérence globale d’un SMA et sa convergence vers une solution au
problème posé, il est nécessaire que les agents coordonnent leurs différentes actions [HAT
96].
D’après Ferber [FER 95], la coordination définit la manière dont les actions des différents
agents doivent être organisées dans le temps et l’espace de manière à réaliser les objectifs. La
coordination permet d’organiser un ensemble d’actions ce qui évite que les agents se gênent
mutuellement. Selon Durfee et Montgomery le but de la coordination [MOR 94] est de
trouver, parmi un ensemble de comportements d’agents qui interagissent, une collection de
comportements qui réalise d’une façon satisfaisante les objectifs les plus importants des
agents.
Chapitre3 : Les systèmes multi-agents
34
• La coopération
La coopération est une attitude des agents qui décident de travailler en commun. Dans ce cas,
les agents coopèrent s’ils s’engagent dans une action commune après avoir identifié un but
commun. Ferber [FER 95] considère que plusieurs agents coopèrent, pour atteindre un
objectif commun, est vérifiée l’ajout d’un nouvel agent accroît différentiellement les
performances du group et s’il existe des conflits potentiels ou actuels d’accession à des
ressources et l’action des agents sert à éviter ou à sortir de tels conflits.
• La négociation
La négociation est un processus par lequel une décision commune est prise par deux agents ou
plus où chacun d’entre eux essayant d’atteindre leurs buts ou objectifs propres. Les agents
communiquent d’abord leurs positions, qui pourraient être source de conflit, et essayent
ensuite de s’orienter vers un accord en faisant des concessions ou en recherchant des solutions
alternatives [MAZ 01].
Les dispositifs principaux de la négociation sont le langage utilisé par les agents participants,
le protocole suivi par les agents dans le processus de négociation et la procédure de décision
que chaque agent utilise pour déterminer ses positions, concessions, et critère pour l’accord.
Les techniques de négociation peuvent être centrées environnement ou centrées agent.
Centrées environnement : comment doit-on créer les agents de l’environnement pour que les
agents interagissent de façon productive ?
Centrées agent : étant donné un environnement dans lequel un agent doit évoluer, quelle est la
meilleure stratégie à suivre ?
Le mécanisme de négociation doit avoir les caractéristiques suivantes :
Efficacité (pas de perte de ressources pour aboutir à un accord).
Stabilité (un agent ne doit pas dévier de sa stratégie).
Simplicité (faible coût en calcul et en bande passante).
Durfee[DUR 90]définit la négociation comme le processus d’améliorer les accords (en
réduisant les inconsistances et l’incertitude) sur des points de vue communs ou des plans
d’action grâce à l’échange structuré d’informations pertinentes. En général les chercheurs en
IA distribuée utilisent la négociation comme un mécanisme pour coordonner un groupe
d’agents. Différentes approches ont été développées en s’appuyant sur la riche diversité des
négociations humaines dans divers contextes.
Chapitre3 : Les systèmes multi-agents
35
3.3.5 Intérêts des SMA
Les modèles informatiques classiques s’appuient généralement sur des équations
différentielles et reposent sur des relations de cause à effet. Ils sont très puissants mais
présentent cependant une faiblesse quant à la mise en évidence des rapports entre différents
niveaux [FER 95]. L’approche multi -agents a une philosophie centrée sur une représentation
directe des individus et des comportements.
• Elle permet de représenter plusieurs niveaux : l’individu, des groupements d’individus
et l’ensemble du système. L’évolution du système au niveau supérieur doit
émerger des interactions entre les individus.
• Cette approche est particulièrement bien adaptée à la simulation des systèmes
complexes dont le fonctionnement global émerge des actions des individus.
Les SMA permettent de faire vivre virtuellement des agents autonomes sur
ordinateur et d’y effectuer des expériences difficiles, voire impossibles, à
mener dans la réalité, d’où la qualification de laboratoires virtuels.
• Elle permet une grande efficacité pour réfléchir et programmer. La programmation des
processus au niveau local dans différents modules et l’utilisation d’entités
individualisées apportent une grande flexibilité.
• Le langage utilisé est souvent un langage orienté objet qui permet de
développer le programme de façon modulaire. Les modifications ne nécessitent
pas de large restructuration du programme.
• Le modèle peut être facilement adapté à des cas différents en ajoutant soit des
agents soit des comportements. Les modèles sont ainsi facilement évolutifs.
• Un autre avantage est de pouvoir manipuler à la fois des paramètres
quantitatifs et des paramètres qualitatifs (des comportements).
Dans ce qui suit, nous donnerons un petit état de l’art des applications industrielles basées sur
les SMA récoltées par [MOY 00].
Chapitre3 : Les systèmes multi-agents
36
3.4 Applications industrielles
Nous proposons dans cette section, quelques applications industrielles exploitent le concept
SMA.
• La conception et l’ingénierie simultanée : il s’agit de produire de meilleurs produits en
un temps court. A cet effet, toutes les étapes du cycle de vie du produit (définition du
cahier des charges, conception, élaboration des méthodes, mises en fabrication…) sont
considérées aussi tôt que possible.
• Le système d’information et le CIM (Computer Integrated Manufacturing) : il est de
plus en plus prouvé que la productivité des entreprises est plus limitée par
l’information que par le travail ou le capital. Un exemple de gêne à la circulation de
l’information provient des logiciels des différentes parties de l’entreprise qui ne
peuvent pas "discuter" entre eux. Dans l’approche SMA, chacune de ces parties peut
être vue comme un agent.
• La distribution du système de production (multi-sites) : chaque site de production est
autonome, mais doit tenir compte des décisions des autres sites.
• La gestion de la production : le problème consiste à faire cohabiter des objectifs qui
ont des termes plus ou moins longs.
• L’ordonnancement et le pilotage d’un système de production : comment ré -
ordonnancer dynamiquement un atelier qui subit des événements perturbateurs. Ce ré -
ordonnancement est une résolution coopérative et distribuée de problèmes entre les
différentes entités de l’entreprise. La résolution part de la plus petite entité (le poste de
travail), et tente de résoudre le problème en mettant en jeu progressivement de plus en
plus d’entités (machines identiques, puis atelier, etc.).
• Les chaînes logistiques : ce sont des réseaux de fournisseurs, d’usines, d’entrepôts, de
centres de distribution et de détaillants à travers lesquels des matières premières sont
acquises, transformées et livrées au consommateur. L’objectif est d’optimiser les
performances de ces chaînes logistiques. Pour cela, les niveaux de décision
stratégique, tactique et opérationnelle sont mis en jeu pour que chaque maillon opère
de manière intégrée à l’ensemble de la chaîne.
Chapitre3 : Les systèmes multi-agents
37
3.5 Choix et modélisation de la structure de pilotage Nous avons choisi la structure de pilotage distribuée supervisée. Ce choix est motivé par les
avantages qui caractérisent cette approche et qui se résument dans :
• Les caractéristiques de globalisation (en termes d’optimisation ou d’objectif) qui sont
celles des approches hiérarchiques : la présence d’un niveau de supervision fournit une
vision et une capacité de prise de décision globale,
• Les caractéristiques associées aux processus d’allocation dynamique des structures
distribuées qui lui octroient une capacité satisfaisante en termes de réactivité et de
flexibilité.
Trentesaux [TRE 96] a utilisé le concept d’agent au sein d’un système multi-agents pour
modéliser la structure de pilotage distribuée supervisée.
Le système est composé d’un ensemble d’agents sous le contrôle d’un superviseur. Chaque
agent (appelé Station Intégrée de Pilotage ou SIP) est spécialisé dans les opérations de
production et est de type cognitif. Il possède un niveau de connaissance suffisant pour
permettre une prise de décision.
Le rôle d’une SIP est de :
• Gérer localement en temps réel les processus d’allocation des tâches, les files
d’attente, etc.
• Gérer la disponibilité des éléments nécessaires à la réalisation des tâches opératoires.
La SIP supervision doit maintenir une vue globale sur l’état du système. Pour cela, l’agent
superviseur 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 sortie du système de production. Cet
agenda permet aussi de reconstituer les informations de n’importe quel agenda local, qui
serait sur un agent SIP. La fonction ordonnancement dynamique n’est pas attribuée à un agent
unique, mais émerge d’un processus de négociation inter-agents.
Nous considérons un système de production composé d’un ensemble d’agents sous le contrôle
d’un superviseur. La figure(3.1) présente notre architecture retenue où nous distinguons
l’agent superviseur et plusieurs autres agents simples consacrés chacun à un centre de travail
(Agent SIP local), chacun étant constitué de ses propres ressources.
Chapitre3 : Les systèmes multi-agents
38
Figure 3.1: Modélisation de notre structure de pilotage par un SMA.
Station Intégrée de Pilotage (SIP)
Un agent est composé de cinq sous-systèmes figure(3.2) :
• Sous-système d’information : son rôle est d’assurer la communication entre les
sous-systèmes et de gérer les informations locales. Il est composé, d’un coté, d’une
base de données contenant les informations sur les ressources contrôlées par la SIP
ainsi que les informations de suivi (états des ressources et des opérations) d’un
autre coté, il inclut une base de données contenant des données liées aux modèles
de traitements (contenant par exemple la liste des critères) associés au sous-
système de décision.
• Sous-système de communication : il assure la liaison entre la SIP et les autres
agents constituant le système de production.
• Sous-système d’interface : intermédiaire entre l’opérateur humain et l’agent
permettant ainsi l’échange d’informations entre eux.
• Sous-système de contrôle/commande : il assure la commande des ressources de
production et transmet les informations de suivi au sous-système d’information.
• Sous-système de décision : ce sous-système est responsable de l’ensemble des
décisions prises au cours du processus de résolution de problèmes.
Chapitre3 : Les systèmes multi-agents
39
Figure 3.2 : Structure d’un agent SIP selon [TRE 96].
3.6 Conclusion
Dans ce chapitre nous avons essayé de définir le plus précisément possible, ce qu’est un agent
et ce qu’est un système multi-agents avec leurs notions élémentaires, car l’idée de base des
SMA est de faire cohabiter des entités autonomes, capable de percevoir et d’agir sur
l’environnement en les faisant interagir et collaborer pour résoudre des problèmes complexes
et distribués. A cet effet, nous avons jugé judicieux d’expliquer l’interaction entre les
agents,ainsi que la nature de la communication. L’intégration d’un module de décision dans la
structure des agents SIP traduit l’importance de l’aspect décision dans la mise en œuvre d’une
fonction de pilotage. Ce module doit intégrer les données et les modèles de résolution
nécessaires permettant à l’agent de prendre la décision adéquate.
Dans cette étude, nous nous intéressons tout particulièrement à la négociation entre les agents
décideurs, le chapitre suivant sera consacré à la description du protocole de négociation ainsi
élaboré.
Système d’information
Système de communication
Support de communication
Système de contrôle
Syst
ème
d’in
terf
ac
Système piloté
Syst
ème
de
déci
sion
Opérateur humain
Chapitre 4 : La négociation
41
Chapitre 4
La négociation
4.1 Introduction Lorsque plusieurs agents interagissent, des conflits peuvent survenir, ce qui nécessite
l’utilisation de mécanismes de résolution de conflits. Parmi ces mécanismes, on trouve
notamment la coordination, la négociation.
La négociation est un processus grâce auquel plusieurs parties aboutissent à une décision
commune.
Les parties verbalisent en premier lieu leurs demandes et convergent vers un accord par une
succession de concessions ou une recherche de nouvelles alternatives [PRU 81].
Pour cela nous nous proposons d’étudier dans ce chapitre la négociation entre agents.
En général, une négociation intervient lorsque des agents interagissent pour prendre des
décisions communes, alors qu’ils poursuivent des buts différents (indépendants). Plus
précisément, l’objectif de la négociation est de résoudre des conflits qui pourraient mettre en
péril des comportements coopératifs. Il y a d’abord un échange de points de vue,
généralement divergents, puis un ajustement réciproque (concessions ou propositions
alternatives) pour obtenir le compromis attendu. Le processus de négociation permet
d’améliorer les accords (en réduisant les inconsistances et l’incertitude) sur des points de vue
communs ou des plans d’action grâce à l’échange structuré d’informations pertinentes.
La négociation joue un rôle fondamental dans les activités de coopération en permettant aux
personnes de résoudre des conflits qui pourraient mettre en péril des comportements
coopératifs.
Chapitre 4 : La négociation
42
La négociation se décompose en cinq stratégies [LEC 96] :
1. La compétition : rester ferme et utiliser des tactiques de pression.
2. La coopération : rechercher une solution acceptable mutuellement.
3. La concession unilatérale : La concession unilatérale ne permet pas d'impliquer tous
les participants à la négociation. Toutefois, cette stratégie semble intéressante lorsque
la négociation devient inutile ou superflue pour certains agents quand des événements
parallèles se produisent.
4. L'inaction.
5. La rupture.
L'inaction et la rupture représentent des stratégies particulières qu'un agent peut adopter dans
certaines situations (abandon, épuisement des préférences, etc.).
La négociation compétitive et la négociation coopérative sont les stratégies les plus courantes
lors de la négociation.
4.2 Définitions de base de la négociation Dans les sociétés humaines, la coordination est un aspect de la vie quotidienne vu que nous
sommes perpétuellement en contact avec d'autres personnes qui peuvent aider ou gêner nos
mouvements. Très souvent, la coordination est un processus étroitement lié à celui de la
négociation: deux ou plusieurs personnes qui se coordonnent font appel de façon implicite ou
explicite à la négociation. Celle-ci s'avère efficace lorsque les participants à la coordination
aboutissent à un accord.
Qu'est ce qu'on entend par négociation?
Il y a négociation lorsqu’il y a une discussion, des propositions entre les protagonistes et
lorsque l’accord final satisfait au mieux tous les participants [MUL 92].
Il y a probablement autant de définitions similaires de la négociation que de chercheurs dans
ce domaine.
Définition 1 : La négociation est le processus de communication d'un groupe d'agents afin de
conclure un accord mutuellement acceptable [MUL 92].
Tous les chercheurs s’accordent sur la finalité de la négociation, à savoir l’aboutissement à un
accord commun satisfaisant. Mais, la négociation est elle-même définie comme un processus,
toute la diversité des recherches en négociation provient de ce mot : processus. La
négociation peut donc être vue comme une boîte noire ayant en entrée un conflit et en sortie
Chapitre 4 : La négociation
43
un accord, dans le meilleur des cas. La recherche sur la négociation consiste donc à étudier
les mécanismes de cette boîte noire, pour la rendre transparente.
Définition 2 : La négociation est le processus d’améliorer les accords (en réduisant les
inconsistances et l’incertitude) sur des points de vue communs ou des plans d’action grâce à
A prendre ou à laisser (Take it or leave it offer)
Tableau 4.1 : Hiérarchie des différents types de négociation. La négociation sous sa forme la plus basique est en bas, la plus évoluée en haut [VER 04].
Chapitre 4 : La négociation
54
La stratégie de négociation que nous proposons est caractérisé par une suite de messages
échangés entre un initiateur et des participants. En fait, notre stratégie proposée s’inspire du
Contract Net Protocol, et en ce qui concerne :
Les négociations combinées(présentée en section 4.4.6) ne peuvent pas non plus être
implémentées avec notre stratégie proposée car elles nécessitent un lien entre plusieurs
contrats. On ne peut pas créer deux contrats et dire que les deux doivent être pris ou aucun.
La famille des négociations par argumentation (présentée en section 4.4.8) n’est pas incluse
dans notre stratégie proposée. Quant à la négociation par argumentation, elle nécessitera
l’élaboration d’agents BDI(présentée dans le chapitre précédent) et l’utilisation de formules
logiques et d’un système expert pour vérifier les assertions des agents
4.6 Conclusion Dans ce chapitre nous avons présenté les différentes définitions de la négociation et ces
défférents formes.
Le fait que deux agents décident d'accéder à la même ressource pour réaliser leurs tâches peut
entraîner, dans certains cas, une situation conflictuelle. En fait, notre choix qui s’est porte sur
le Contract Net Protocol permet aux agents d'échanger des propositions dans le but
d'atteindre un compromis, où les agents essayent de déterminer l'accord le plus bénéfique au
groupe.
En ce sens le chapitre suivant présente le détail de la stratégie de négociation proposée.
Chapitre 5 : Proposition d’un protocole de négociation
56
Chapitre5
Propositiond’un protocoledenég ociation
5.1 Introduction
Dans ce chapitre, nous introduisons dans un premier temps la structure des agents SIP (Station
Intégrée de Pilotage). Ensuite, nous présenterons le processus de négociation élaboré par les
agents qui sont définis. Dans un second temps, nous justifions l’utilisation de la méthode
ELECTRE III dans le processus décisionnel adopté par les agents au cours de leurs
négociations.
5.2 Architecture de l’agent SIP
a) Description de l’agent SIP superviseur
Le superviseur doit posséder une vue globale sur l’état du système. Pour cela, il maintient un
agenda global qui lui permet de suivre l’exécution et l’évaluation de toutes les tâches dans le
système. Cet agenda permet aussi de reconstituer les informations de n’importe quel agenda
local, qui serait sur un agent local.Une Architecture de l’agent SIP superviseur est donnée à la
figure(5.1)
Les comportements
Doté d’un ensemble de comportements (CP) spécifiques, l’agent superviseur peut accomplir
convenablement sa tâche, on distingue alors :
• Comportement CPR (Comportement de Ressource): Sert à la recherche de la
ressource satisfaisant au mieux des objectifs à atteindre pour la fabrication d’un
produit.
Chapitre 5 : Proposition d’un protocole de négociation
57
• Comportement CPM (Comportement de la configuration Matérielle): Ce
comportement traite les informations reçues par l’agent superviseur sur la
configuration de la cellule, les gammes (Ajout ou suppression de ressource, nouvelle
gamme).
Le module d’analyse et de suivi des tâches: Ce module effectue une analyse
continuelle de messages que l’agent superviseur reçoit, à travers son interface de
communication, et active les comportements qui leurs correspondent. Il met à jour aussi
les états des opérations dans l’agenda global suite aux messages envoyés par les agents
SIP.
La liste des événements : Cette liste regroupe des événements tels que les demandes,
les contrats et les acquittements.
Le filtre : Est un dispositif mis en place et activé par l’agent superviseur qui envoie une
requête vers les autres agents décideurs.
L’horloge temps réel : Elle génère le facteur temps réel par l’agent superviseur.
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.
L’interface de communication : Gère les messages en transmet entre l’agent
superviseur et les autres agents du système.
Le module de communication de chaque agent est constitué des sous modules suivants :
• 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.
• Le module d’interprétation des messages : Son rôle est l’inverse de celui du précédent.
Chapitre 5 : Proposition d’un protocole de négociation
58
Chapitre 5 : Proposition d’un protocole de négociation
59
b)Description de l’agent SIP (local)
L’agent SIP (local) possède une vue locale sur l’état du système. Pour cela, il maintient un
agenda local qui lui permet de suivre l’exécution et l’évaluation de ses tâches dans le
système. Une Architecture de l’agent SIP est donnée à la figure(5.2)
Les composants de l’agent SIP sont les suivants :
Les comportements
• Comportement CPF (Comportement de la File) : A pour but de gérer la file
d’attente de l’agent SIP et sélectionner la prochaine opération à exécuter.
• Comportement CPR (Comportement de Ressource) : Recherche de la meilleure
ressource pour traiter l’opération suivante de la production en cours.
• Comportement CPM (Comportement de la configuration Matérielle): Il permet
à l’agent station de représenter sa capacité productive.
Le module d’analyse et de réaction : Ce module 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.
La liste des événements : La liste regroupe des événements tels que les demandes,
contrats et les acquittements.
Le filtre : Est un dispositif mis en place et activé par l’agent superviseur qui envoie
une requête vers les autres agents décideurs.
L’horloge temps réel : Elle génère le facteur temps réel par l’agent SIP (local).
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.
L’interface de communication : Gère les messages en transmet entre l’agent
superviseur et les autres agents du système.
Chapitre 5 : Proposition d’un protocole de négociation
60
Chapitre 5 : Proposition d’un protocole de négociation
61
Dans ce qui suit, nous allons appliquer le processus décisionnel présenté dans le chapitre II
sur la structure de pilotage distribuée supervisée définie dans le chapitre III.
Les agents utilisent une stratégie d’ordonnancement partiel, basée sur l’utilisation d’un
protocole d’interactions entre les agents.
La relation entre les tâches qui nous intéressent dans notre travail est de type séquentiellement
indépendant.
5.3 Élaboration et expérimentation du processus décisionnel
On peut distinguer deux processus décisionnels :
1. Processus décisionnels au niveau superviseur
L’agent SIP superviseur assure l’allocation de la première opération de l’ordre de
fabrication. Dès l’arrivée d’un nouvel ordre de production, il contacte les autres agents
pour pouvoir choisir la meilleure ressource pouvant exécuter l’opération en question.
2. Processus décisionnels au niveau local
Ces processus décisionnels sont appliqués par chaque agent « SIP », suite à l’occurrence
d’un événement sur les ressources ou les opérations qu’il contrôle.
Evénements attendus
1.A la Fin de l’Exécution d’une opération (FE) :
a) La ressource se libère. Elle sera donc prête à exécuter une nouvelle opération.
l’agent SIP doit choisir l’opération à exécuter. Le problème qui se pose est
« quelle est l’opération à choisir parmi celles présentes en file d’attente de la
ressource ?».
b) Un autre problème se pose. Il s’agit du choix de la meilleure ressource (agent
SIP) pouvant exécuter l’opération suivante sur la pièce.
La figure (5.3) illustre l’événement fin d’exécution.
Chapitre 5 : Proposition d’un protocole de négociation
62
Figure 5.3: Schéma décrivant l’événement de fin d’exécution.
2. Dans le cas d’une Fin de Transport (FT), une opération devient disponible. Si la
ressource qui doit exécuter l’opération est libre, l’agent SIP peut lancer son exécution,
sinon elle devra être placée dans la file d’attente de la ressource.
3.Dans le cas d’une Fin de Panne (FP), la ressource peut à nouveau exécuter une
opération. L’agent SIP doit exploiter cette ressource :
Soit en reprenant l’exécution de l’opération arrêtée suite à l’occurrence de
l’événement panne si celle-ci n’a pas été réaffectée.
Soit en choisissant une autre opération de la file d’attente de la ressource, sinon.
on se retrouve, donc, dans le même cas qu’une fin d’exécution.
4.Dans le cas d’une Fin de Blocage (FB), l’agent SIP n’a pas le choix : il reprend
l’exécution de l’opération bloquée suite à l’occurrence de l’événement blocage.
Evénements inattendus
1. Suite à un Blocage (B), la ressource associée à l’opération bloquée devient non active.
L’agent SIP doit procéder comme suit :
• Libérer la ressource en interrompant l’exécution de l’opération bloquée.
Ordre de fabrication
Active le comportement CPF (déterminer la tâche à exécuter sur lamachine libérée)
Fin
Evénement fin d’exécution d’une tâche
Début
Réaffectation de la tache vers la ressource concernée
Envoi d’une demande d’affectation par le superviseur
Envoi de message à la ressource concernée
Chapitre 5 : Proposition d’un protocole de négociation
63
• Exploiter la ressource en exécutant une des opérations présentes dans sa file
d’attente. Un problème de choix de l’opération à exécuter est alors posé.
La figure (5.4) illustre l’événement de blocage.
Figure 5.4: Schéma décrivant l’événement blocage de tâche en cours d’exécution.
2. Suite à une panne, les opérations arrêtées doivent être réaffectées vers d’autres ressources,
dans ce cas :
L’agent SIP (local) établit un contrat avec les autres agents de façon à trouver une autre
ressource capable de réalisé l’opération en cours. L’agent SIP (local) traite les réponses
reçues pour choisir la meilleure ressource en lançant Electre III.
La figure (5.5) représente l’architecture générale de notre application :
Ordre de fabrication
Envoi de message aux ressources concernées
Active le comportement CPF (pour l’exécution d’uneautre tâche parmi celles présentées en file d’attente)
Nouvelle tâche en cours d’exécution
Fin
Evénement blocage d’une tâche
Début
Envoi d’une demande d’affectation par le superviseur
Chapitre 5 : Proposition d’un protocole de négociation
Figure 5. 5: Schéma
: Proposition d’un protocole de négociation
64
décrivant le fonctionnement générale de l’applicationgénérale de l’application .
Chapitre 5 : Proposition d’un protocole de négociation
65
Le processus de négociation que nous proposons s’applique dans la plupart des situations
conflictuelles. Pour chacune des situations rencontrées nous décrivons les scénarios par un
diagramme de séquence (UML: Unified Modeling Language) .
On distingue deux types d’agents, l’agent initiateur qui est responsable de l’envoie du contrat
et l’agent participant qui est le receveur.
5.4 Négociation par Contract Net
5.4.1 Processus de négociation
L’objectif du protocole est de définir les messages que les agents pourront s’envoyer entre
eux.
Le protocole de négociation que nous proposons se décompose en trois phases :
1. Distribution du problème : Le message est envoyé par l’agent SIP à tous les agents du
système, à partir de la description de la tâche.
2. Trouver les Solutions du problème : Les agents de négociation lance le processus qui
se divise en trois phases,
La phase de proposition, elle initie la négociation. Les agents initiateurs
construisent une proposition qu’ils envoient aux participants. Chaque
participant peut soit accepter, soit refuser la proposition. Où chaque agent de
négociation possède une base de connaissance et les actes de langage
nécessaires aux agents pour faire évoluer leur connaissance.
La phase de conversation (la communication) se déroule durant laquelle des
propositions de modifications sont échangées entres les agents. Les agents
pouvaient accepter ou repousser une proposition (offre).
La phase de décision (aide à la décision locale) cette décision est prise par
l’initiateur selon les réponses des participants aux propositions qu’il leur a
faites. Cette phase de décision finale aboutit soit à la confirmation, soit à
l’annulation du contrat.
3. Obtenir le résultat : L’agent SIP transmet sa tâche vers la meilleure ressource.
On peut représenter notre modèle d’architecture de fonctionnement présentés à la figure(5.6)
par le diagramme de classe UML ( Unified Modeling Language) [FRE 02].
Chapitre 5 : Proposition d’un protocole de négociation
66
Figure 5.6: Diagramme de classe de notre protocole de négociation.
5.4.2 Structure d’un agent de négociation
La figure(5.7) illustre l'agent de négociation qui se compose de six modules fonctionnels:
interface,communication, le générateur de proposition, la base de connaissance, l’aide à la
décision et un module de contrôle.
Le module d'interface permet l’échange d’informations entre les agents.
La communication traite l'échange des messages entre les agents.
Le générateur de proposition construit une proposition selon les paramètres de
préférence initiaux et l'intérêt de l'utilisateur.
La base de connaissance contenant toutes les données, les contraintes et les stratégies
de négociation, historique de négociation.
Aide à la décision où les agents s’engagent dans une démarche participative au cours
de laquelle ils mettent à contribution leurs connaissances.
Un module de contrôle qui permet d’assurer une cohésion à l’intérieur de l’agent. Il est
responsable de l’activation des différents modules internes et aussi de la mise à jour
des connaissances en fonction de l’évolution de l’agent.
Chapitre 5 : Proposition d’un protocole de négociation
67
Figure 5.7 : Structure de l’agent de négociation.
5.4.3 Communication entre les agents
Nous considérons que l’ensemble {propose, accepte, refuse, demande de modification,
propose de modification, confirmation, annulation, rétraction} contient les actes de langage
nécessaire à notre processus de négociation. Un premier acte de langage sera donc l’envoi de
la proposition de l’initiateur aux participants, puis chaque participant répond soit en acceptant
ou en refusant la proposition, soit en raffinant la proposition ou en formulant une contre-
proposition, les messages échangés entre ces agents sont représentés par le langage de
communication FIPA- ACL de la plate forme JADE.
D'un point de vue opérationnel nous avons proposé un environnement d'exécution supportant
le modèle basé sur la plate-forme JADE et respectant les spécifications FIPA. Cet
environnement nous a permis de développer notre prototype de pilotage de simulation de
production. De ce fait, la messagerie que nous utilisons dans notre SMA respecte les mêmes
spécifications FIPA (FIPA-ACL) (Annexe C) .
Les messages échangés entre les agents sont principalement les messages lors de la
négociation (état, contrats, acquittement, fin d’une tâche, ré-ordonnancement d’une tâche…..),
ainsi que les messages de notification envoyés par les agents système vers l’agent superviseur
pour la mise à jour de l’état du système lors de l’évolution d’un processus de négociation ou
d’un changement d’état (début, fin arrêt ou reprise d’une opération).
Générateur de proposition
Communication
Base de connaissance
Interface
Aide à la décision
Contrôle
Chapitre 5 : Proposition d’un protocole de négociation
68
Conversation
Une conversation est une séquence des messages échangés entre deux ou plusieurs agents.
Elle doit être conforme à un protocole d’interaction.
On appelle protocole d’interaction un ensemble de règles plus ou moins génériques qui sont
partagées par les agents du système et auxquelles les interactions doivent se conformer.
Pour mener à bien un processus de négociation entre agents, il est nécessaire de définir
plusieurs primitives de négociation entre les agents.
• L’initiateur possède quatre primitives de négociation :
Propose (contrat) : C’est la première primitive que l’initiateur envoie aux
participants pour leur proposer un contrat.
Demande modification (contrat) : Ce message indique aux participants que le
contrat ne peut être conclu sous sa forme actuelle et qu’il faudra le modifier.
Confirme (contrat) : Ce message indique aux participants que le contrat est
confirmé.
Annule (contrat) : Ce message indique aux participants que le contrat est
annulé.
• Le participant possède trois primitives de négociation :
Accepte : Ce message répond à la proposition de contrat faite par l’initiateur.
Le participant indique par ce message à l’initiateur qu’il accepte le contrat tel
qu’il est. Il peut y avoir des paramètres dans le cas où le contrat est
partiellement instancié. Ce paramètre peut également être utilisé pour effectuer
une contre-proposition lorsque l’application le permet.
Refuse : Ce message répond à la proposition de contrat faite par l’initiateur.
Le participant indique à l’initiateur qu’il refuse le contrat.
Propose modification (liste modifications) : Ce message répond à une
demande de modification de la part de l’initiateur. Le participant envoie à
l’initiateur une liste de modifications possibles du contrat (une contre-
proposition). Le nombre de modifications contenues dans la liste est un
paramètre de la négociation. Cette liste peut être vide s’il n’existe pas des
modifications possibles.
Chapitre 5 : Proposition d’un protocole de négociation
69
Une primitive est commune aux initiateurs et aux participants :
Rétractation (contrat) : Le contrat avait été confirmé mais le participant ou
l’initiateur ne peut (ou ne veut) plus l’honorer. Il décide donc de se rétracter.
Suite à cette rétractation, l’initiateur peut renégocier le contrat.
Ces conversations sont constituées de deux phases :
Une phase de négociation : L’agent initiateur émet une proposition vers tous les
agents. Ceux-ci acceptent, refusent la proposition ou émettent une modification vers
l’agent initiateur.
Une phase de décision : Cette prise de décision conclut la phase de négociation et
débute par un message de confirmation ou annulation envoyée à tous les agents
participant.
Une description d’une situation normale de contrat entre un agent initiateur et un participant
est donnée à la figure(5.8).
Figure 5.8 : Diagramme de séquence représente l’interaction entre un agent initiateur et un
participant.
En plus de la négociation sous Contrat Net, on ajoute dans une extension de ce protocole un
Timer pour éviter des attentes infinies de l’initiateur,car il se peut qu’un participant ne
réponde pas à la proposition soit parce qu’il est absent soit une panne est survenue.
Chapitre 5 : Proposition d’un protocole de négociation
70
Dans ce cas précis, et si l’initiateur n’a pas encore reçu toutes les réponses, qui sont au
nombre des participants, toute proposition reçue après sera automatiquement rejetée en
envoyant un message annuler la proposition.
Dans le cas où une proposition est sélectionnée, l’initiateur envoie un message Confirme
contenant le nom du participant dont la proposition est acceptée et un message Annuler aux
Il faut saisir ce paramètre, puis nous validons la
configuration
Chapitre 6 :Mise en œuvre du prototype proposé
84
Figure 6.2 : Nouvel ordre de fabrication.
La réponse des agents pour la demande d’affectation est présentée dans la figure(6.3)
Figure 6.3 : Réponses des agents SIP pour la demande d’affectation.
Active l’envoi d’une demande d’affectation aux quatre agents
Chapitre 6 :Mise en œuvre du prototype proposé
85
6.3.2 L’exécution d’une tâche
L’exécution de la tâche N°1 sur la machine N°10 de l’agent SIP N°4 est présenté sans la
figure(6.4).
6.3.3 L’événement panne machine
La machine N°9 contrôlée par l’agent N°3 est tombée en panne. L’agent SIP N°3 transmet la
demande vers les autres agents SIP (SIP1, SIP2, SIP4), ce qui déclenche le comportement
CPR (Comportement de Ressource permet de rechercher de la meilleure ressource pour
traiter l’opération suivante de la production en cours) au niveau de chaque agent SIP.
Figure 6.4: Interface des quatre agents.
L’exécution de la tâche N° 1 sur la machine N°10 de l’agent SIP N°4.
Chapitre 6 :Mise en œuvre du prototype proposé
86
Si on souhaite provoquer la panne, on clique sur le bouton « Panne».
Figure 6.5: La panne machine.
La panne doit être résolue par l’activation du bouton « Résolution de panne».
L’agent SIP N°3 envoie un message aux autres agents de façon à trouver une autre ressource
capable de réaliser l’opération en cours.
Figure 6.6: La résolution de la panne.
Le bouton « Réaffectation» transmet la demande vers les autres agents. Les réponses sont
présentées par l’interface de la plate forme JADE.
Utilisations de la plateforme JADE
Etats des files d’attentes et d’exécution ,en panne.
Chapitre 6 :Mise en œuvre du prototype proposé
87
Dans l’arborescence montrée ci-dessus, nous cliquons sur le Main-Container pour visualiser
tous les agents de notre plateforme afin de les sniffer(les rendre visuels).
On clique sur le bouton pour lancer les agents et l’agent sera représenté par un rectangle
rouge portant son nom.
Figure 6.7: Plate-forme JADE montrant le résultat de la réaffectation.
L’agent SIP N°3 traite les réponses reçues pour choisir la ressource de substitution en lançant
Electre III.
Pour cela, on doit passer par trois grandes étapes afin de trouver la solution la plus adéquate,
compte tenu d’un certain ensemble de critères.
1. Définir les différentes actions : réponses des agents ;
2. Définir les différents critères ;
3. Etablir le tableau de performance ;
Agents en interaction
Sniffer l’agent
Chapitre 6 :Mise en œuvre du prototype proposé
88
Figure 6.8 : La matrice de performance.
Pour pouvoir utiliser la méthode Electre III, il est nécessaire d'ajouter à cette matrice, pour
chaque critère, les poids ou coefficients d’importance, ainsi que les seuils de préférence,
d'indifférence et de veto (Voir Annexe A).
Le résultat de la méthode est donné à la figure (6.9).
Figure 6.9 : Résultat de la méthode ELECTREIII.
Alors l’agent SIP N°3 va transmettre sa tâches vert l’agent SIP N°4.
En effet, les deux agents décident d'accéder à la même ressource pour réaliser leurs tâches.
Pour mieux analyser, détecter et pouvoir apporter une solution à cette situation conflictuelle
nous appliquons la stratégie de négociation proposée.
Les critères.
Les actions.
Résultat du préordre final.
Seuils d’indifférence, de préférence et de veto.
Chapitre 6 :Mise en œuvre du prototype proposé
89
Le bouton « Lancer la procédure de négociation» permet de lancer la procédure de
négociation.
Figure 6.10: Lancement de la procédure de négociation.
Nous pouvons visualiser les interactions des agents par la fenêtre de l’agent Sniffer comme
nous l’avons déjà montré dans la section 6.3.3, où nous mettons en évidence tous les agents
de notre prototype implémentés dans la plate forme avec les différentes communications et
interactions.
Figure 6.11: Plate-forme JADE montrant le résultat de négociation avec l’agent SIP N°3.
Chapitre 6 :Mise en œuvre du prototype proposé
90
L’activité est terminée par un échec entre l’agent SIP N°3 et SIP N°4 , dans ce cas l’agent SIP
N°3 doit réaffecter sa tâche arrêtée vers l’agent SIP N°1, l’activité de la négociation se
termine par un succès entre l’agent SIP N°3 et SIP N°1.
6.3.4 La fin de panne
Suite à la fin de panne de la machine N°9 contrôlée par l’agent SIP N°3, et puisque la tâche
N°14 a été réaffectée vers l’agent SIP N°1, la machine devient libre et prête à exécuter une
nouvelle tâche.
Figure 6.12: La fin de panne.
Le module d’analyse et de réaction détecte la présence dans la file d’attente de la machine
réparée et déclenche le comportement CPF.
Nous visualisons les différents agendas d’où l’évolution des fabrication des pièces dans les
différentes ressources.
L’exécution et l’évaluation de la tâche est enregistrée dans l’agenda local de l’agent SIP
N°3(définis au chapitre précédent).
Figure 6.13: Agenda local de l’agent SIP N°3.
Chapitre 6 :Mise en œuvre du prototype proposé
91
L’exécution et l’évaluation de toutes les tâches sont enregistrées dans l’agenda global du
superviseur(définis au chapitre précédent).
Figure 6.14: Agenda global de l’agent superviseur.
6.4 Conclusion Dans ce chapitre, nous avons présenté le déroulement des processus décisionnels décrits
précédemment.Les processus décisionnels déclenchés correspondent aux comportements des
agents face à la situation constatée dans le système de production. Ces comportements sont
activés par le module d’analyse et de réaction en réponse aux changements d’états provoqués
par les événements survenus.
Le protocole de négociation proposé permet la résolution de la situation conflictuelle
identifiée entre les agents d'un système de production.
L’application développée a l’aide de la plateforme JADE nous a permis d’exploiter toute les
possibilités de gestion de communication entres les agents ainsi que le contrôle d’exécution
des tâches affectées aux SIP. Les résultats obtenus dans ce chapitre nous ont permis
d’évaluer, par simulation, l’approche proposée dans le chapitre précédent.
Etats des différents ressources
Conclusion générale
93
Conclusion générale
Ce projet aborde le problème de la prise en compte de la décision dans la modélisation basée
sur les SIAD implémentées sur une architecteur distribuée. L'application à développer porte
sur l'intégration d'une approche multicritère ELECTREIII au niveau des processus
décisionnels, nous exploitons le paradigme multi agent comme outil de modélisation du
système de production. Le modèle de pilotage intègre une structure d’analyse et de réaction
qui se base sur un ensemble d’états, d’évènements et de décisions associés à la conduite en
temps réel du système de production ainsi qu’un ensemble de comportements correspondant
aux processus décisionnels élaborés.
Le modèle proposé intègre un module d’analyse et de réaction, dans la structure de l’agent
SIP pour la détection des événements et l’analyse de l’état du système afin de déterminer le
comportement de l’agent en réaction à l’état constaté.
L’étude des processus décisionnels dans le cadre du pilotage temps réel et distribué a montré
que les décisions sont de nature multicritères ce qui conduit à intégrer l’approche multicritère
au niveau des processus décisionnels.
L’aspect décisionnel qui constitue l’ensemble des règles et fonctions permettant de gérer de
manière optimale les tâches à réaliser dans le système de production (lancement des produits,
affectation des ressources aux opérations, séquencement des opérations devant la file d’attente
des machines…) est traité à travers des méthodes d’ordonnancement partial. De plus, nous nous sommes intéressés dans ce travail à la détection et à la résolution des
situations conflictuelles lorsqu'elles existent entre deux agents d'un système. La stratégie de
négociation proposée est une hybridation du Protocole Contract Net et une approche fondée
sur l'intelligence artificielle. Cette stratégie proposée est basée sur le Protocole Contract Net et
implémentée a l’aide de la plate forme JADE qui a pour but de simplifier le développement
Conclusion générale
94
des systèmes multi-agents tout en fournissant un ensemble complet de services et d'agents
conformes aux spécifications FIPA-ACL.
En fait, la négociation permet aux agents d'échanger des propositions dans le but d'atteindre
un compromis. Pour valider notre travail on a présenté un exemple d'application ainsi qu’une simulation
développée pour la détection et la résolution des situations conflictuelles qui peuvent exister
entre les tâches effectuées par des agents d'un domaine manufacturier.
Ce travail nous a permis de constater l’efficacité de l’approche multi-agents comme outil de
modélisation des structures de pilotage des systèmes de production. Cette puissance de
modélisation est obtenue grâce à :
La correspondance entre la distribution des agents dans un système multi-agents et la
distribution physique des ressources dans un système de production.
Le haut degré de flexibilité qui caractérise l’approche multi-agents facilitant ainsi
l’adaptation de la structure de pilotage aux changements de configuration des systèmes
de production (Un changement de configuration se traduit par l’ajout et/ou la
suppression d’un agent SIP).
Les perspectives
Dans cette section, nous proposons un ensemble de perspectives que nous souhaitons
appliquer à notre modéle afin de l'améliorer encore.
Distribution de notre système sur un réseau : Pour le moment, nous avons implémenté notre
système en utilisant une plateforme adaptant le principe des threads. Il serait intéressant de
distribuer notre système sur plusieurs machines distinctes afin de profiter de la puissance de
calculs de chaque machine mais aussi, de mieux gérer les conflits qui peuvent apparaître dans
la gestion des ressources.
Bibliographie
96
[ALO 02] ALOULOU M. A., «Structure flexible d’ordonnancements à performances contrôlées pour le pilotage d’atelier en présence de perturbation», Thèse de doctorat,INRIA, Lorraine,Nancy,Décembre 2000.
[AMG 04a] AMGOUD L., PRADE H., « Generation and evaluation of different types of arguments in negotiation»,In 10th International Workshop on Non-Monotonic Reasoning,NMR’2004, Session Argument, Dialogue, Decision, Whistler, Canada .
[AMG 04b] AMGOUD L., PRADE H., « Un modèle de négociation basé sur la logique possibiliste». In Congrès Francophone Reconnaissance des Formes et Intelligence Artificielle, RFIA’2004, Toulouse, France.
[ANN 01] ANNE LEGAIT, « Multi- agents architecture for proactive management system», 2ème congrès international franco-québécois de Génie Industriel, Architecture multi- agents pour une gestion proactive de la production: Un cas applicatif, Laboratoire PRISMa, Productique et Informatique des Systèmes Manufacturiers, INSA de Lyon 2001.
[AGN 01] AGNES LETOUZEY, « Ordonnancement interactif basé sur des indicateurs : Applications à la gestion de commandes incertaines et à l'affectation des opérateurs», Le titre de Docteur de l'Institut National Polytechnique de Toulouse, SPECIALITE : Systèmes Industriels, Soutenue, le 19 Décembre 2001.
[AVE 84]
AVENIER M.J., «Pilotage de l’entreprise et environnement complexe, une aide à la conception d’un pilotage plus effectif», Thèse de doctorat d’Etat ès-Sciences Economiques, Université de Droit, d’Economie des Sciences
d’Aix-Marseille, Juillet 1984.
[BEL 99]
BELLIFEMINE F., POGGI A., RIMASSA G., « JADE -- A FIPA-compliant agent framework », CSELT internal technical report. Part of this report has been also published in Proceedings of PAAM'99, London, pp.97-108, April 1999.
[BON 84] BONCZEK R. H., HOLSHAPPLE C. W., WHINSTON A. B., « Developments in Decision Support Systems», Advances In Computers, Vol, 23, 1984, pp. 141-175.
[BRI 00] BRIAND CYRIL, ROUBELLAT FRANÇOIS, « Contribution au
pilotage réactif », Annecy, GRP – 23-24 Mars 2000.
[CAR 99] CARBOGIM D., ROBERTSON D., « Contract based Negotiation via Argumentation » (preliminary report), 1999.
[CHA 05] CHARLOTE MARTIN, MICHEL LEGRET,« La méthode multicritère ELECTREIII Définitions,principe et exemple d’application à la gestion des eaux pluviales en milieu urbain»,Laboratoire central des poste et chaussées Décembre2005.
[CIP 00] CIPTOMULYONO UDISUBAKTI, « Un modèle d'aide a la sélection des projets : l'intégration de la procédure analyse hiérarchique (ahp) et la programmation mathématique a objectif multiple», Thèse de doctorat, Université de Droit, d'Economie et des sciences d'Aix Marseille, Faculté des Sciences et des Techniques de Saint Jerome, 2000.
[CON 91] CONRY S. E., KUWABARA K., LESSER V. R., MEYER R. A., « Multistage negotiation in distributed constraint satisfaction», IEEE Transactions on Systems, Man, and Cybernetics, December 1991.
[COU 88] COURBON J. C., « Les S.I.A.D: outil, concepts et mode d'action», Afcet/interfaces, n° 9, Juillet 988, pp. 30-36.
[DAV 80] DAVIS R., SIMTH R.G.,« Frameworks for cooperation in distribute
problem solving »,IEEE Transactions on Systems, Man, and Cybernetics,
vol11,N°.1,1980.
[DAV 83] DAVIS R., SMITH R., « Negotiation as a metaphor for distributed Problem solving», Artificial Intelligence, 20(1): 63-109, January 1983.
[DUR 89] DURFEE E. H., LESSER V. R., « Negotiating task de-composition and allocation using partial global planning», In Gasser, L. and Huhns, M. N., editors, Distributed Artificial Intelligence, volume II, pages 229–243,Morgan Kaufmann, San Mateo, California1989.
Bibliographie
98
[DUR 90] DURFEE E. H., MONTGOMERY T. A., « A Hierarchical Protocol for
Coordinating Multiagent Behaviors», In Proceedings of the 8th National Con-ference onArti_cial Intelligence, pages 86-93, Cambridge, Volume One,July,August,1990.
[DUV 01] DUVALLET O., « Des Systèmes d’Aide à la Décision Temps réel et distribués : modélisation Par agent», Thèse de doctorat,Université du Havre, 2001.
[FER 95] FERBER JAQUES, « Les systèmes multi agents vers une intelligence collective». Inter éditions , ISBN : 2-72960-762-X1995-.
[FRE 02] FREDERIC JULLIARD, « UML Unified Modeling Language Unifié pour la modélisation objet », Université de Bretagne Sud France, 2002.
[GEO 98] GEORGE DRAGHICI, NICOLAE BRINZEI, IOANA FILIPAS, « La
modélisation et la simulation en vue de la conduite des systèmes de production», 1998.
[HAT 96] HATON JEAN PAUL, « Définitions de mécanisme de coopération», Bulletin de l’AFIA N°25 Avril 1996 p.17.
[HER 04] HERVE CHANG, « Mécanismes de négociation pour composants logiciels Contractualisés», Université de Nice Sophia Antipolis École Doctorale STIC, DEA Réseaux et Systèmes Distribués, Avril-Juin 2004.
[JAR 02] JARRAS IMED, BRAHIM CHAIB-DRAA, « Aperçu sur les système multi- agents», Scientific Series Montréal, Juillet 2002.
[JEN 00] JENNING S., N. R., FARATIN P., LOMUSCIO, A. R., PARSONS S., SIERRA C.,WOOLDRIDGE M., « Automated Negotiation: Prospects, Methods and Challenges». Int. Journal of Group Decision and Negotiation, 10(2):199–215.2000.
[JON 01] JONKER C. M.,TREUR J., Agent Architecture for Multi- Attribute Negotiation», In Nebel, B., editor, Proceedings of the 17th International Joint Conference on AI, IJCAI’01, pages 1195 – 1201,2001.
Bibliographie
99
[LEC 96] LECHILLI KARIM, « Etude et résolution des situations conflictuels à
l'aide de protocoles de négociations dans un environnement manufacturier», Mémoire à la Faculté des études supérieures de I’ Université Laval pour l'obtention du grade de Maître Sciences (MSc.), Département d'informatique faculté des sciences et de génie ux~versitél aval,Aout 1996.
[LEV 89] LEVINE P., POMEROL J. C., « Systèmes interactifs d'aide à la décision et systèmes experts»,Hermès, Paris, 1989.
[MAL 94] MALONE T.W., CROWSTON K., «The interdisciplinary study of coordination», ACM Computing Surveys, 26(1): 47-110, (1994).
[MAR 03] MARJORIE LE BAR S., « Un Simulateur Multi-Agent pour l’Aide à la Décision d’un Collectif : Application à la Gestion d’une Ressource Limitée Agro-environnementale», Thèse de Docteur en Sciences Spécialité Informatique, le 27 Mai 2003.
[MAZ 01] MAZOUZI HAMZA, « Ingénierie des protocoles d’interaction : Système distribué aux systèmes multi –agents», Thèse de doctorat, Université Paris IX dauphine, le 29 October 2001.
[MEY 88] MEYER, R. A., CONRY, S. E., LESSER, V. R., « Multistage negotiation in distributed planning»,In Bond, A. and Gasser, L., editors, Reading In Distributed Artificial Intelligence, pages 367–386, Los Altos, CA, Morg Kaufmann Publishers, 1988.
[MOR 94] MORIATIFS P., « Paradigme multi- agent et prise de décision distribuée», Thèse de doctorat université paris dauphine ,1994.
[MOY 00] MOYAUX THIERRY, « spécification de comportement d’agents dans un
Système multi-agents. », Mémoire DEA de productique et informatique,
Université de droit, d’économie et des sciences d’Aix-Marseille III, 2000.
[MUL 92] MULLER J., BUSSMANN S., « A Negotiation Framework for Co-operating Agents», In M, D. S., editor, Proc. CKBS-SIG, pages 1–17,Dake Centre, University of Keele, 1992.
Bibliographie
100
[MUL 96] MULLER H.J., « Negotiation Principle. Foundations of Distributed
Artificial Intelligence», Chap 7, G.M.P O'Hare, Jennings N. (eds), Wiley, pp.211-229, 1996.
[OUN 99] OUNNAR FOUZIA, « Prise en compte des aspects décision dans la modélisation par réseaux de pétri des systèmes flexibles de production», Thèse de Doctorat, Institut national polytechnique de Grenoble, France,le 9 Décembre 1999.
[PAR 96] PARSONS S., JENNINGS, N. R., «Negotiation through argumentation - a preliminary report» ,In Proc. Second Int. Conf. on Multi- Agent Systems, pages 267–274, Kyoto, Japan, 1996.
[PRU 81] PRUITT D., «Negotiation Behavior», Academic Press, 1981.
[ROU 05] ROUBA B., «Elaboration et Expérimentation d’un processus décisionnel multicritère pour les systemes automatisés de production»Mémoire de magister en Informatique, 2005.
[ROU 95] [ROS 94]
ROUBELLAT F., BILLAUT J-C., VILLAUMIE M., « Ordonnancement d’atelier en temps réel : d’ORBAID à ORDO», JOURNEE D’ETUDE Ordonnancement et entreprise : Applications Concrètes et Outils pour le Futur, Toulouse, Juin 1994. ROSENSCHEIN S. J., ZLOTKIN G., «Rules of Encounter: Designing Conventions for Automated Negotiation among Computer MIT Press», Boston, MA, 1994.
[ROY 78] [ROY 93]
ROY B., «ELECTREIII :Un classement fondé sur une représentation floue des préférences en présence des critéres multiples».20(1),1978 ,pp.3-24. ROY B, BOUYSSOU B., « Aide multicritère à la décision : méthode et cas», Economica, Paris ,1993.
[SAV 03]
SAVALL MARC, « Une architecture d’agents pour la simulation», Le modèle YAMAM et sa plate-forme Phoenix,Thèse Doctorat de l’INSA de Rouen (Spécialité informatique) présentée et soutenue publiquement le 27/06/(2003).
[SIM 77] SIMON H. A., « The new science of management decision», Prentice-Hall, New-Jersey, USA, 1977.
[SMI 80] SMITH R.G., « The contract net protocol: high-level communication and control in a distributed problem solver», IEEE Transactions on Computers, G29 (12): 1104-1113, 1980.
[SMI 80b] SMITH R. G., DAVIS R., « Frameworks for cooperation in distributed problem solving», IEEE Transactions on Systems, Man, and Cybernetics, 11(1), 1980.
[SMI 94] SMITH D. C., CYPHER A., SPOHRER J., « KIDSIM: Programming agents without a programming language», Communications of the ACM, 37(7):55-67, July 1994.
[SYC 89] SYCARA K. P., « Multi-agent compromise via negotiation», In L. Gasser and M. Huhns, editors, Distributed Artificial Intelligence Volume II, pages 119-138. Pitman Publishing: London and Morgan Kaufmann: San Mateo, CA, 1989.
[TAG O7] TAGHEZOUT N., RIAD A., BOUAMRANE K., «Negotiation Strategy For a Distributed Resolution of Real Time Production Management Problems», In ACIT. LATTAKIA SYRIA pp 367-374, 2007.
[TRA 01] TRANOUVEZ E., «IAD et ordonnancement, une approche coopérative du réordonnacement par systèmes multi- agents», Thèse de Doctorat Sciences, Université d’Aix-Marseille III, 2001.
[TUR 95] TURBAN E., «Decision Support and Expert Systems: Management Support Systems», (Third Ed.) NY. Macmillan Publishing Company, 1995.
[TRE 96] TRENTESAUX DAMIEN, « Conception d’un système de pilotag distribue supervise et multicritère pour les systèmes automatises de production», Thèse de doctorat en Automatique-Productique, INP Grenoble,le 24 Janvier 1996.
Bibliographie
102
[VER 04] VERRONS MARIE-HELENE, « GeNCA, un modèle général de négociation de contrats entre agents», Doctorat de l’Université des Sciences et Technologies de Lille (spécialit informatique) présentée et soutenue publiquement, le 2 Novembre (2004).
[WOO 94]
Wooldridge M., Jennings N.R., « Agents Theories, Architectures, and
Languages: A Survey », Lectures Notes in Artificial Intelligence 890, pp.1-
1. Développement de la méthode Electre III Le problème à résoudre avec la méthode ELECTRE III se formalise de la manière suivante :
étant donné un ensemble fini d’actions A évaluées sur un ensemble de critères, partitionner A en
classes d’équivalence et fournir un ordre exprimant les positions relatives de ces classes.
– Construction d’une ou plusieurs relations de surclassement sur l’ensemble A.
– Rangement des actions à partir de la ou des relations de surclassement, générer deux classements (construits différemment) ; l’intersection des deux préordres conduit à un préordre partiel ne retenant que les comparaisons les plus fondées entre les actions.
Le but de cet algorithme est alors en se fondant sur la relation de surclassemnet floue, d’arriver à un classement des actions. Il se déroule comme suit :
Phase 1 : le tableau des performances
Il s’agit d’évaluer les performances des variantes auprès de chaque critère en les disposant dans le tableau des performances. Phase 2 : indices de concordance
La méthode Electre III utilise deux indices pour la concordance :
a) L’indice de concordance par critère
L’indice de concordance par critère affirme dans quelle mesure ai est au moins aussi bonne que l’action ak, pour le critère j.
cj (ai, ak) = 0 pj < g (ak) – g (ai)
cj (ai, ak) =1 g (ak) – g (ai) ≤ qj
0 < cj (ai, ak) < 1 qj < g (ak) – g (ai) ≤ pj
Avec i j k
j j
g (a ) + p - g (a )x p - q
=
b) L’indice de concordance globale
L’indice de concordance globale affirme dans quelle mesure il y a concordance avec l’hypothèse ai surclasse ak.
Annexe A
105
Phase 3 : indice de discordance
Afin de pouvoir calculer l’indice de discordance, on a besoin d’utiliser un autre type de seuil nommé le seuil de veto, le seuil de veto vj du critère j est la différence à partir de laquelle l’affirmation ‘ai est tellement meilleure que ak sur le critère j qu’en aucun cas, ak ne pourra être considérée meilleure que ai quelles que soient les performances de ak et ai sur tous les autres critères ‘sera prise en compte dans l’élaboration de la préférence globale.
Le seuil de veto est fixé de façon que qj < pj < vj
Ainsi, l’indice de discordance dj (ai, ak) est défini tel que :
dj (ai, ak) = 0 vj < gj (ak) – gj (ai)
cj (ai, ak) =1 gj (ak) – gj (ai) ≤ pj
0 < dj (ai, ak) < 1 pj < gj (ak) – gj (ai) ≤ vj
Avec j k j i jj i k
j j
g (a ) - g (a ) - p d (a , a ) v -p
=
Phase 4 : Relation de surclassement floue
La relation de surclassement est exprimée par un indice associé à chaque surclassement, le degré de crédibilité du surclassement qui représente l’indice de concordance Cik affaibli par les indices de discordance dj (ai, ak) qui contribue à cet affaiblissement si et seulement si il est supérieur à Cik il est défini tel que :
Cik si F = ∅
sinon Où F est le sous ensemble de la famille F qui a comme éléments les critères pour lesquels l’indice de discordance est supérieur à l’indice de concordance globale.
F = {j / j ∈ F, dj (ai, ak) > Cik } et F ⊃ F
ikδ =j i k
i ki kj F
1 - d (a , a ) C 1 - C∈
∏
m
j j i k
j=1ik m
j
j=1
P c (a , a ) C
P =∑
∑
Annexe A
106
Phase 5 : Exploitation de la relation de surclassement floue
a) Seuil de discrimination
Le seuil de discrimination s (λ) est une fonction s (λ) = β - α λ définie pour toute valeur λ ∈ [0 ,1] qui vérifie si δik = k et δem = λ – η, avec η > s (λ), alors le surclassement de ak par ai est strictement plus crédible que le surclassement de am par ae b) Principe de l’algorithme
L’algorithme de classement a pour objectif d’exploiter la relation de surclassement floue en vue d’ordonner les actions selon un préordre partiel obtenu à partir de deux préordres :
1. Le premier est construit de façon descendante en sélectionnant d’abord les meilleures actions pour terminer avec les plus mauvaises (distillation descendante).
2. Le second est construit de façon ascendante en sélectionnant d’abord les plus mauvaises actions pour terminer avec les meilleures (distillation ascendante).
Les définitions suivantes se trouvent à la base de l’algorithme de classement :
- Puissance d’une action ai notée P (ai) : nombre d’actions auxquelles elle est strictement préférée.
- Faiblesse d’une action ai notée F (ai) : nombre d’action qui lui sont strictement préférées.
- Qualification d’une action ai notée Q (ai) = P (ai) – F (ai), la valeur résultante représente la position de ai dans le préordre.
c) Description de l’algorithme
Soit λ0 la valeur maximale qu’atteint le degré de crédibilité :
λ0 = max (δik)
L’algorithme procède en abaissant progressivement un seuil λ depuis λ0 jusqu’à 0, en passant par des paliers successifs, la détermination de cette dernière repose sur un concept de niveau de séparation.
Soit λ1 un niveau de séparation défini comme :
λ1 = λ0 – s (λ0)
Ensuite une relation de surclassement triviale S λ1 est établie qui signifie que l’action ai surclasse ak ne sera prise en compte que si elle est significativement plus crédible que l’action ak surclasse l’action ai, elle est définie par :
δik > λ1 et ai S λ1 ak ⇔ δik > δki + s (δik)
Annexe A
107
Ainsi, le nombre d’actions est exprimé par :
- La 1λ -puissance : λ1
1λ i k i kA A(a ) = {a A\ a S a }P ∈
- La 1λ -faiblesse :
λ11λ i k k iA A(a ) = {a A\ a S a }F ∈
- La i1λ -qualification de l'action a par rapport à l'ensemble A :
1 1 1λ λ λi i iA A A(a ) = (a ) - (a )Q P F
L’algorithme pour la distillation descendante et ascendante est décrit par la figure (A.1).
Annexe A
108
Figure A.1 : Algorithme de classement.
Distillation n
Ensemble An = A
Etape l: l = 0, Dl = A n
λl+1 = max δik ou ai, ak ∈ A et ai ≠ ak s (λl) = α + β . λl
λl+1 = max δik ou δik < λl - s (λl) et ai , ak ∈ Dl
pλl+1 (ai) = | {ak ∈ Dl\ ai S λl+1 ak}|
fλl+1 (ai) = | {ak ∈ Dl\ ak S λl+1 ai}|
qλl+1 (ai) = pλl+1 (ai) - fλl+1 (ai)
q = max q λl+1 (ai) ai ∈ à Dl ou
q = min q λl+1 (ai) ai ∈ Dl
ai S λl+1 ak δik > λl+1 et δik > δki + s (λl)
Dl+1 = {ai ∈ Dl\ qλl+1 (ai) = q}
Dl+1 = 1 ou λl+1 = 0
Cn+1 = Dl+1, An+1= An/Cn+1
An+1 = Ø
Fin
l = l + 1
Non
n = n + 1
Oui
Oui
Non
Annexe A
109
Ainsi, la construction du préordre partiel final est le résultat d’une intersection (au sens
mathématique) entre les deux préordres complets, cependant pour le construire il faut suivre
les règles suivantes :
- Si ai est préférée à ak dans les deux préordre complets, alors il en sera de même pour le préordre partiel.
- Si ai est équivalente à ak dans un préordre complet, mais si elle lui est préférée dans le deuxième, alors ai sera préférée à ak dans le préordre partiel.
- Si dans le premier préordre ai est préférée à ak et si dans le second ai est préférée à ak, alors les deux actions seront incomparables dans le préordre partiel.
Annexe B
110
Annexe B 1. Description des classes utilisées Nous avons défini une classe générique Serveur qui est la classe mère de tous les agents du
SMAD. Ces derniers héritent ses propriétés et ses méthodes, en plus leurs propres