développement d’une architecture multi-agent pour un ... · développement d’une architecture...

129
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

Upload: others

Post on 26-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

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

Page 2: 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

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.

Page 3: 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

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…

Page 4: 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

Sommaire

Introduction générale ................................................................................. ..1 Chapitre 1 Système Intéractif d’Aide à la Décision

1.1 Introduction ............................................................................................................... ..5

1.2 La notion de décision ................................................................................................ ..6

1.3 La prise de décision ................................................................................................... ..6

1.4 Processus de décision ................................................................................................ ..7

1.5 Aide à la décision ...................................................................................................... ..9

1.6 Système Interactif d’Aide à la Décision et Pilotage .................................................. ..9

1.6.1 Système Interactif d’Aide à la Décision (SIAD) .............................................. ..9

1.6.2 Le pilotage décisionnel ...................................................................................... 10

1.6.3 Les éléments d'un système de pilotage .............................................................. 11

1.6.4 Les niveaux de décision dans le cadre du pilotage ............................................ 11

1.6.5 Nature des processus décisionnels dans le cadre du pilotage ............................ 12

1.7 Conclusion ................................................................................................................. 12

Chapitre 2 La gestion de production

2.1 Introduction ............................................................................................................... 14

2.2 Le système de production .......................................................................................... 15

2.2.1 Les caractéristiques d’un système de production ............................................. 15

2.2.2 La gestion de production .................................................................................. 17

2.3 Les Systèmes Automatisés de Production (SAP) ..................................................... 17

2.4 Le pilotage des systèmes industriels ......................................................................... 17

2.4.1 Les fonctions d’un système de pilotage ........................................................... 18

2.4.2 Le pilotage en temps réel ................................................................................. 19

2.4.3 Pilotage et ordonnancement ............................................................................. 19

2.5 Les modèles organisationnels des systèmes de pilotage ........................................... 21

2.6 Description du l’un atelier ......................................................................................... 22

2.6.1 Etats des ressources .......................................................................................... 22

2.6.2 Etats des opérations .......................................................................................... 23

2.6.3 Événements ...................................................................................................... 24

Page 5: 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

2.6.4 Décisions .......................................................................................................... …25

2.7 Les processus décisionnels associés à la conduite en temps réel

D’un système automatisé de production ................................................................... …25

2.8 Conclusion ................................................................................................................. …27

Chapitre 3 Les systèmes multi-agents

3.1 Introduction ............................................................................................................... …29

3.2 L’intelligence artificielle distribuée .......................................................................... …29

3.3 Les Systèmes Multi-Agents (SMA) .......................................................................... …30

3.3.1 Définition ......................................................................................................... …30

3.3.2 Caractéristiques des agents .............................................................................. …31

3.3.3 La typologie des agents .................................................................................... …32

3.3.4 Interactions et coopération entre agents ........................................................... …33

3.3.5 Intérêts des SMA .............................................................................................. …35

3.4 Applications industrielles .......................................................................................... …36

3.5 Choix et modélisation de la structure de pilotage ..................................................... …37

3.6 Conclusion ................................................................................................................. …39

Chapitre 4 La négociation

4.1 Introduction ............................................................................................................... …41

4.2 Définitions de base de la négociation ........................................................................ …42

4.3 Composantes du modèle de négociation dans les SMA ............................................ …43

4.4 Quelques approches de négociation .......................................................................... …44

4.4.1 Les systèmes de vote ........................................................................................ …44

4.4.2 Les enchères ..................................................................................................... …47

4.4.3 A prendre ou à laisser ....................................................................................... …48

4.4.4 Les négociations multi-attributs ....................................................................... …48

4.4.5 Les négociations multi-niveaux ....................................................................... …49

4.4.6 Les négociations combinées ............................................................................. …49

4.4.7 La négociation à base des connaissances ......................................................... …49

4.4.8 La négociation à base d’argumentation ............................................................ …49

4.4.9 Le Contract Net Protocol ................................................................................. …50

4.5 Hiérarchie des différents types de négociation .......................................................... …53

4.6 Conclusion ................................................................................................................. …54

Chapitre 5 Proposition d’un protocole de négociation

5.1 Introduction ............................................................................................................... …56

5.2 Architecteur de l'agent SIP (Station Intégré de Pilotage) .......................................... …56

Page 6: 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

5.3 Elaboration et expérimentation du processus décisionnel ........................................ .…61

5.4 Négociation par Contract Net .................................................................................... ….65

5.4.1Processus de négociation…………………………………………………….. … .65

5.4.2 Structure d’un agent de négociation .................................................................. ….66

5.4.3 Communication entre les agent .......................................................................... ….67

5.5 Intégration de la méthode Electre IIII ....................................................................... ….73

5.5.1 Liste des critères associés aux processus décisionnels ................................... ….73

5.5.2 Les processus considérés ................................................................................. ….75

5.5.3 Pourquoi l’approche multicritère ...................................................................... ….76

5.6 Conclusion ................................................................................................................. ….80

Chapitre 6 Mise en œuvre du prototype proposé

6.1 Introduction ............................................................................................................... …82

6.2 Réalisation du logiciel ............................................................................................... …82

6.2.1 Outils de conception ......................................................................................... …82

6.2.2 Langage de programmation .............................................................................. …82

6.3 Description de l’application ...................................................................................... …83

6.3.1 Arrivée d’un nouvel ordre de fabricatio ........................................................... …83

6.3.2 L’exécution d’une tâche ................................................................................... …85

6.3.3 L’événement panne machine ............................................................................ …85

6.3.4 La fin de panne ................................................................................................. …90

6.4 Conclusion ................................................................................................................. …91

Conclusion générale ................................................................................... ...93

Bibliographie ............................................................................................... ...96

Annexe A……………………………………………………………… ….104

Annexe B…………………………………………………………………..110

Annexe C…………………………………………………………..………115

Page 7: 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

Liste des figures

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

Page 8: 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

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

Page 9: 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
Page 10: 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

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

Page 11: 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

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.

Page 12: 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

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).

Page 13: 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

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.

Page 14: 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

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.

Page 15: 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

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.

Page 16: 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

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

Page 17: 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

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é.

Page 18: 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

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

Page 19: 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

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é.

Page 20: 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

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,

Page 21: 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

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.

Page 22: 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

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.

Page 23: 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

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.

Page 24: 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

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.

Page 25: 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

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.

Page 26: 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

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.

Page 27: 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

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

Page 28: 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

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.

Page 29: 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

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é.

Page 30: 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

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

Page 31: 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

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.

Page 32: 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

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.

Page 33: 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

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

Page 34: 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

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.

Page 35: 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

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.

Page 36: 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

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

Page 37: 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

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

Page 38: 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

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.

Page 39: 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

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

Page 40: 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

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.

Page 41: 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

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.

Page 42: 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

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].

Page 43: 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

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.

Page 44: 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

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.

Page 45: 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

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.

Page 46: 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

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

Page 47: 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

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.

Page 48: 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

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

Page 49: 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

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 à

l’échange structuré d’informations pertinentes [DUR 89].

Définition 3 : On entend une discussion dans laquelle des individus intéressés échangent des

informations et arrivent à un accord en commun [DAV 80].

Définition 4 : La négociation est le processus par lequel plusieurs individus prennent une

décision commune [PRU 81].

Définition 5 : La négociation consiste à améliorer les accords sur des points de vue 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 [CON 91],

[DAV 83],[ROS 94], [SYC 89].

La définition que nous adoptons de la négociation dans le cadre de ce travail est la suivante :

La négociation est un processus par lequel une décision commune à deux agents ou plus est

prise ; chacun d’entre eux essayant d’atteindre leurs buts ou objectifs personnels.

Les agents communiquent leur position (source du conflit) et se déplacent en faisant des

concessions et en cherchant des alternatives.

Les principaux éléments sont le langage utilisé par les agents, le protocole suivi par les

agents lors des négociations et le processus utilisé par chaque agent pour déterminer sa

position, les concessions possibles et les critères d’accord.

4.3 Composantes du modèle de négociation dans les SMA Pour modéliser la négociation dans un SMA, on prend généralement en compte les aspects

suivants [JEN 00] :

• Le langage de négociation (fonctionnement de la société d'agents) : composé d'un

ensemble de primitives de communication, il précise la manière dont les agents

communiquent ;

• Le protocole de négociation (fonctionnement de la société d'agents) : l'ensemble des

règles qui régit la négociation: les participants possibles dans la négociation, les

Page 50: 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

Chapitre 4 : La négociation

44

propositions légales que les participants peuvent faire, les états de la négociation (par

exemple l'état initial où commence la négociation, l'état où on accepte des

soumissions ou la fin de la négociation) et une règle pour déterminer quand on est

arrivé à un accord ou quand il faut s'arrêter parce qu'aucun accord n'a pas pu être

trouvé .

• Les objets de négociation : sur ces objets que se porte la négociation (prix, délai,

temps de réponse) ;

• Le processus de décision (fonctionnement de l'agent) : c'est lui qui oriente la stratégie

de l'agent au cours de la négociation. C'est le coeur du fonctionnement et l'intelligence

de la négociation.

Remarque : Muller [MUL 96] définit trois aspects de négociation :

• Protocole de négociation,

• Objets de négociation,

• Raisonnement, modèles de prise de décision des agents

4.4 Quelques approches de négociation Il existe plusieurs approches de négociation permettant la coordination d'agents pour la

résolution de problèmes distribués. Nous décrivons dans cette section quelques unes de ces

approches.

La négociation peut prendre diverses formes qui peuvent être regroupées en plusieurs

familles. La première famille est celle des systèmes de vote qui sont utilisés pour choisir une

solution parmi plusieurs. On y trouve notamment, le vote à la pluralité et les méthodes de

Borda, de Hare et de Condorcet [VER 04]. La seconde famille que nous présentons est celle

des enchères, nous présentons ensuite la famille des négociations multi-étapes et les

négociations combinées, la famille des négociations à base d’argumentation puis pour finir la

négociation basée sur le Contract Net.

4.4.1 Les systèmes de vote

Les systèmes de vote sont utilisés pour élire une alternative parmi les différentes alternatives

possibles. Les plus simples concernent un choix entre une alternative et le statu quo. Cela

revient à proposer l’alternative et à recueillir les votes pour et les votes contre cette

alternative. Les systèmes plus complexes impliquent un nombre d’alternatives supérieur à

Page 51: 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

Chapitre 4 : La négociation

45

deux, les votants devant alors choisir l’alternative qu’ils préfèrent. Le terme de choix social

est utilisé afin de représenter l’alternative qui satisfait au mieux la population. Dans ce qui

suit, nous considérons le problème suivant : soit un ensemble A de n alternatives dénotées a,

b, c, etc. et un ensemble P de personnes (de votants) dénotées P1, P2, P3, etc. Chaque

personne p de l’ensemble P classe obligatoirement toutes les alternatives sous la forme d’une

liste selon ses préférences. Nous supposons qu’il n’y a pas d’égalité au sein de ces listes.

Nous représentons ces listes de manière verticale depuis les alternatives les plus préférées en

haut de la liste jusqu’aux moins préférées en bas de la liste.

Nous présentons dans cette sous-section quelques différentes procédures de choix social qui

fournissent la ou les alternatives les plus préférées des personnes ainsi que des propriétés

souhaitables pour de telles procédures.

Une procédure de choix social est une fonction qui prend en paramètre une séquence de listes

(sans égalités) d’un ensemble A (l’ensemble des alternatives) et qui produit soit un élément

de A, soit un sous-ensemble de A (en cas d’égalité).

Nous illustrons chacune de ces procédures avec l’exemple suivant. On considère un problème

avec n = 5 alternatives a, b, c, d et e, et 7 personnes dont les listes de préférences sont les

suivantes :

P1 P2 P3 P4 P5 P6 P7

a a a c c b e

b d d b b c c

c b b d d d d

d e e e a a b

e c a a e e a

La pluralité : cette méthode simple consiste à nommer choix social l’alternative étant classée

première le plus grand nombre de fois parmi les listes de préférences des votants.

Avec notre exemple, a remporte 3 voix, b en remporte 1, c en remporte 2, d en remporte 0 et

e remporte 1 voix. L’alternative a avec 3 voix est donc le choix social selon cette procédure,

alors que 4 personnes sur 7 n’ont pas voté pour elle.

La méthode de borda : pour chaque liste de préférences, l’alternative classée première

remporte n−1 points, la seconde n−2 points et ainsi de suite jusqu’à la dernière qui obtient 0

point. Pour chaque alternative, on calcule le nombre total de points qu’elle a recueilli.

Page 52: 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

Chapitre 4 : La négociation

46

L’alternative ayant le meilleur score est déclarée choix social. Comme toutes les alternatives

sont classées par les votants, elles ont toutes une note, on est donc sûr de trouver le choix

social.

Avec notre exemple, a remporte 4 + 4 + 4 + 0 + 1 + 1 + 0 = 14 voix, b remporte

3+2+2+3+2+4+1 = 17 voix, c remporte 2+0+0+4+4+3+3 = 16 voix, d remporte

1+3+3+2+3+2+2 = 16 voix et e remporte 0+1+1+1+0+0+4 = 7 voix. L’alternative b est donc

le choix social selon la méthode de Borda.

La méthode de Hare : ce principe général est de déterminer le choix social en éliminant

successivement les alternatives les moins désirées. Le principe est le suivant : si une

alternative est classée première sur au moins la moitié des listes de préférences, alors c’est le

choix social et la procédure est terminée. Si aucune alternative n’est classée première sur au

moins la moitié des listes, alors on sélectionne l’alternative classée première sur le moins de

listes et on l’enlève de toutes les listes.

Si plusieurs alternatives sont à égalité, on les enlève toutes des listes. Les alternatives qui

suivaient celle qui a été enlevée sur les listes gagnent alors une place. A ce stade, les listes de

préférences sont plus courtes d’au moins une alternative. On recommence alors la procédure

qui est de chercher si une alternative est classée première sur au moins la moitié des listes et

d’effacer l’alternative la moins désirée sinon. La procédure s’arrête dès qu’une alternative

apparaît en premier sur au moins la moitié des listes ou si toutes les alternatives restantes

apparaissent en premier sur exactement le même nombre de listes. On est sûr de trouver un

choix social (ou un sous-ensemble d’alternatives) car toutes les alternatives sont classées par

les votants et on ne les enlève pas toutes puisqu’on s’arrête dès qu’une alternative est classée

première sur au moins la moitié des listes ou que toutes les alternatives restantes sont classées

premières sur exactement le même nombre de listes.

Avec notre exemple, il faut qu’une alternative soit classée première sur au moins

4 listes pour être le choix social. Aucune alternative ne répond à ce critère (l’alternative a

choisie par le plus de personne ne remporte que 3 voix), il faut donc retirer l’alternative la

moins désirée. L’alternative la moins classée première dans les listes de préférences est

l’alternative d car elle est classée première sur aucune des listes. On enlève donc l’alternative

d de toutes les listes. On obtient donc les listes suivantes :

Page 53: 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

Chapitre 4 : La négociation

47

P1 P2 P3 P4 P5 P6 P7

a a a c c b e

b b b b b c c

c e e e a a b

e c c a e e a

Nous n’avons toujours pas d’alternative classée première sur au moins quatre listes, il nous

faut donc à nouveau retirer l’alternative la moins désirée. Les alternatives b et e sont à égalité

avec une seule première place. On enlève donc ces deux alternatives des listes de préférences.

On obtient alors :

P1 P2 P3 P4 P5 P6 P7

a a a c c c c

c c c a a a a

L’alternative c est classée première sur quatre listes, elle est donc le choix social par la

méthode de Hare. 4.4.2 Les enchères

Les enchères sont des mécanismes d’interaction simples mais nécessitant une étude préalable

d’un certain nombre de problèmes, concernant principalement le choix du protocole et de la

stratégie à utiliser. Une enchère comprend habituellement un initiateur, et plusieurs

participants. Les offres des participants peuvent se faire une seule fois ou en plusieurs tours,

en fonction du protocole d’enchère. A la fin, l’initiateur choisit le gagnant, les règles pour

choisir le gagnant étant, de même, spécifiques au protocole.

Il y a beaucoup de protocoles d’enchère, nous nous contenterons donc de présenter les plus

importants, en expliquant aussi qu’elle est la meilleure stratégie à choisir, lorsqu’une telle

stratégie existe.

• Enchère anglaise (premier-prix offre-publique) [SITE 04]

L’initiateur commence l’enchère, d’habitude par l’annonce d’un prix de réservation. Chaque

agent participant annonce de façon publique son offre, en plusieurs tours successifs. Quand

aucun participant ne veut plus augmenter son offre, l’enchère s’arrête et le participant ayant

fait la plus grande offre obtient l’objet au prix de son offre.

Page 54: 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

Chapitre 4 : La négociation

48

Dans les enchères à valeurs privées, la stratégie dominante est de faire une offre un peu plus

grande que la dernière offre et de s’arrêter quand la valeur privée est atteinte. Dans les

enchères à valeurs corrélées, il n’y a pas de stratégie dominante. Le participant augmente le

prix d’une quantité constante ou d’une quantité qu’il considère justifiée.

• Enchère première offre-cachée [SITE 04]

L’initiateur commence l’enchère et chaque agent participant soumet une offre, dans un tour

unique, sans connaitre les offres des autres participants. Le participant qui a fait la plus

grande offre gagne l’objet au prix de son offre. Dans ce protocole il n’y a pas de stratégie

dominante, mais des algorithmes dépendant du contexte peuvent être réalisés pour évaluer la

valeur attribuée par les autres participants à l’objet.

• Enchère hollandaise (descendante) [SITE 04]

L’initiateur commence par proposer un prix et, par des tours successifs, diminue ce prix

jusqu’au moment ou un des participants achète l’objet au prix proposé. Le protocole est

équivalent à celui de l’enchère premier-prix offre-cachée et il n’y a donc pas de stratégie

dominante, en général.

• Enchère Vickery (deuxième -prix offre-cachée) [SITE 04]

Chaque agent participant soumet une offre sans connaitre les offres des autres, dans un seul

tour.

Jusqu’à ce moment le protocole est le même que celui de l’enchère premier-prix offre-

cachée. La différence est que le participant qui a fait l’offre la plus grande gagne mais il doit

payer le prix de la deuxième plus grande offre. La stratégie dominante d’un participant dans

ce cas est de soumettre une offre avec sa valeur privée de l’objet. Cette particularité à permis

à l’enchère Vickery d’être la plus utilisée pour les agents logiciels. 4.4.3 A prendre ou à laisser '' Le take it or leave it offer''

Cette forme de négociation est très primaire, puisqu’elle consiste à formuler une proposition

qui est à prendre ou à laisser par le ou les agents. Cette négociation se déroule sur un seul

tour, sans contre-proposition ni renégociation [VER 04]. 4.4.4 Les négociations multi-attributs

Les négociations multi-attributs, comme leur nom l’indique, sont des négociations qui

impliquent différents attributs devant être négociés. Elles sont directement opposées aux

enchères qui n’impliquent qu’un seul attribut. Cette forme de négociation est cependant très

répandue et à la base de nombreuses variantes de négociation.

Page 55: 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

Chapitre 4 : La négociation

49

Dans [JON 01], Jonker et Treur proposent une architecture d’agents pour la négociation

multi-attributs et décrivent le modèle de négociation qu’ils proposent.

4.4.5 Les négociations multi-niveaux

C’est un type de négociation où le contrat se décompose en plusieurs “sous contrats”,

dépendants les uns des autres [MEY 88]. La négociation s’effectue séquentiellement pour

chaque sous-contrat, la réussite globale est atteinte lorsque tous les sous-contrats ont été

négociés avec succès.

Lorsqu’un sous-contrat est en cours de négociation et qu’aucune solution n’est possible, on

effectue un backtrack pour la négociation du sous-contrat précédent.

4.4.6 Les négociations combinées

Les négociations combinées sont utilisées lorsqu’une personne a besoin d’un ensemble

d’objets non disponibles auprès d’un unique vendeur. Il faut alors négocier chaque objet (ou

sous-ensemble d’objets) séparément et avoir un mécanisme de liaison entre les négociations,

car si l’ensemble des objets ne peut être acquis, aucun objet ne doit l’être. De plus, il ne faut

obtenir chaque item qu’en un seul exemplaire. Les différentes négociations sont

indépendantes les unes des autres, alors que l’ensemble des objets négociés sont typiquement

interdépendants.

4.4.7 La négociation à base des connaissances

Dans ce type de négociation, il existe un agent omnipotent qui possede les connaissances

partagées par chaque agent. Cette connaissance partielle du système global lui permet de

résoudre les conflits [HER 04].

4.4.8 La négociation à base d’argumentation

La négociation par argumentation permet aux agents d’essayer de changer le rejet ou la

modification d’une proposition faite par un autre agent en utilisant des arguments. Ainsi, un

agent peut essayer de persuader un autre agent de répondre favorablement à sa proposition en

cherchant des arguments qui identifient de nouvelles occasions ou modifient les critères

d’évaluation.

L’argumentation a alors pour but de modifier les croyances des autres agents afin qu’ils

adoptent le même point de vue, les mêmes croyances et intentions que l’agent argumentant.

Jennings [PAR 96] a présenté un rapport préliminaire sur cette forme de négociation en

1996, dans lequel il utilise des agents BDI (Belief, Desire, Intention) ainsi que des arguments

Page 56: 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

Chapitre 4 : La négociation

50

et des règles d’inférence utilisant la notation Prolog et une extension des arguments pour

indiquer le soutien ou le doute dans les propositions et pour les prouver. Amgoud et Prade

proposent une approche possibiliste de la négociation par argumentation dans [AMG 04b]

et un framework logique qui comprend de nouveaux types d’arguments dans [AMG 04a].

Dans [CAR 99], Carbogim et Robertson proposent un framework général d’argumentation.

La nature et les types des arguments peuvent varier énormément :

– Mode logique (nature déductive).

– Mode émotif.

– Mode viscéral (menace par exemple).

Chaque forme de négociation possède son propre protocole, qui définit le déroulement du

processus de négociation, c’est-à-dire les actes de langage utilisés et leur séquencement.

Un des protocoles les plus étudiés pour la négociation s’appuie sur une métaphore

organisationnelle [DAV 83]. Le protocole du réseau contractuel (“Contract-Net”) a été une

des approches les plus utilisées pour les SMA [SMI 80b].

4.4.9 Le Contract Net Protocol D'après Smith [SMI 80], la négociation est un processus qui se caractérise par trois

éléments :

1. Les échanges d'informations se font de façon bilatérale;

2. Chaque partie évalue la négociation en tenant compte de sa propre perspective:

3. L'accord final est obtenu par sélection mutuelle.

Smith [SMI 94] propose un protocole de négociation basé sur les contrats qu'on appelle

réseau contractuel ("Contract Net"). Ce réseau est basé sur le principe des appels d'offres. Il

est constitué d'un ensemble de nœuds qui négocient entre eux par envois de messages.

Page 57: 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

Chapitre 4 : La négociation

51

Figure 4.1: Le protocole Contract Net [lEC 96].

4.4.9.1 Principe de l’algorithme

Avant que le processus de négociation ne débute, chaque agent possède son ensemble de

préférences. La négociation est enclenchée lorsqu'un ou plusieurs agents ont émis des

propositions. Lors de l'évaluation de la proposition, sélectionnée par ordre d'envoi, chaque

agent détermine parmi ses préférences celles qui ne sont pas compatibles avec la proposition.

Par la suite, ils mettent à jour leurs connaissances par rapport aux préférences des autres.

Lorsqu'un agent n'est pas satisfait par la proposition, il émet une nouvelle proposition.

Délai de réponse et réponse par défaut : Lors de négociations distribuées comme c’est le cas

lorsque ce sont des agents qui agissent pour le compte d’un utilisateur, il se peut qu’un

participant ne réponde pas à la proposition de l’initiateur, soit parce qu’il est absent, soit

parce qu’une panne est survenue, il faut alors que la négociation ne soit pas bloquée. Afin de

permettre à la négociation de continuer, un mécanisme de temps d’attente des réponses est

Émet une annonce aux agents

Les agents soumettent des propositions

L’agent accepte d’accomplir la tâche

Le gestionnaire attribue la tâche aux meilleurs soumissionnaires

Choisit un autre soumissionnaire

Début du protocole

L’agent refuse d’accomplir la tâche

Le contrat est conclu

Le gestionnaire (l’agent manager) identifier la tâche à exécuter

Le temps de soumissions est expiré

Page 58: 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

Chapitre 4 : La négociation

52

mis en place et lorsque ce temps est écoulé, l’initiateur considère une réponse par défaut pour

le participant.

Nombre de tours de parole des participants : Afin de ne pas avoir une phase de conversation

infinie, nous avons défini le nombre de tours de négociation, c’est-à-dire le nombre de fois où

les participants pourront proposer une modification du contrat, faire une contre-proposition.

Comme avantage,on peut dire que le protocole Contract Net permet de garder la

communication à son minimum, faciliter l'échange de message, faciliter la résolution

conflictuelles, tenir compte des différentes façons permettant d'atteindre un compromis,

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), permettre une

implémentation simple (utiliser des concepts et des mécanismes simples)[MIC 03]. Pour les

désavantages , la communication diffusée peut générée trop de communications pour rien.

Le Contract Net peut être combiné à un processus de décomposition de tâche : c'est le

Contract Net étendu.

4.4.9.2 Le Contract Net étendu

Le modèle Contract Net étendu [SITE 03] est basé sur une décomposition décentralisée de

tâche. L'agent gestionnaire fractionne une tâche en plusieurs sous- tâches et les annonce à un

agent ou à un groupe d'agents soumissionnaires. Mais contrairement au Contract Net_

original où une tâche ne peut être qu'accordée ou rejetée, dans le "Contract Net" étendu, une

tâche peut être accordée temporairement, rejetée temporairement, accordée définitivement et

rejetée définitivement par les agents.

Dans le Contract Net étendu, l'agent gestionnaire annonce une commande un groupe d'agents.

Il sectionne le meilleur agent soumissionnaire à qui envoie un accord temporaire. Tous les

autres agents reçoivent un rejet temporaire. Si la meilleure soumission ne couvre pas la

totalité de la commande, la partie restante de la commande est ré-annoncée par le

gestionnaire jusqu'à couvrir sa totalité. Au terme de ce processus les accords et les rejets

temporaires sont transformés par des accords et des rejets définitifs.

Quand un agent reçoit un accord temporaire, il crée une copie de son ancien plan, ainsi il sera

en mesure de le récupérer en cas de rejet définitif.

Page 59: 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

Chapitre 4 : La négociation

53

4.5 Hiérarchie des différents types de négociation La négociation peut prendre différentes formes, de la négociation la plus basique à la plus

complexe. Le niveau le plus faible en terme de négociation est un système dans lequel cette

négociation est réduite à sa plus simple expression. C’est notamment le cas dans la

négociation dite à prendre ou à laisser dans laquelle une offre est formulée qui sera soit

acceptée, soit refusée, mais sans autoriser de révision. La négociation s’arrête après cette

offre. Le Contract Net Protocol est une négociation de niveau plus élevé, puisqu’il consiste

en un appel d’offres de la part d’un agent appelé manager. Différentes offres sont alors

proposées au manager par des contractants, mais seulement l’une d’elles est choisie par le

manager sans autre formulation si aucune offre ne convient. La négociation telle que nous la

concevons commence à un niveau supérieur, où plusieurs offres sont échangées, des contre-

propositions sont formulées et des concessions sont faites par les différentes parties

impliquées. Les enchères font partie de ces négociations à un niveau certe élémentaire,

puisque aucune concession n’est faite par l’une des parties et surtout parce que le résultat

n’est satisfaisant que pour le vendeur et l’acheteur ayant gagné l’enchère, les autres

participants n’ayant rien obtenu. Les systèmes de vote font également partie des négociations

dans une forme élémentaire puisqu’une seule intervention des participants est nécessaire pour

réaliser la procédure de vote. Les négociations combinées, les négociations multi- niveaux et

les négociations par argumentation constituent un niveau supérieur dans les différentes

formes de négociation.

La négociation sous sa forme la plus basique est en bas, la plus évoluée en haut.

Négociation par argumentation

Négociations multi-niveaux, négociations combinées

Négociations multi-attributs

Contract Net Protocol

Systèmes de vote

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].

Page 60: 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

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.

Page 61: 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

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.

Page 62: 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

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.

Page 63: 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

Chapitre 5 : Proposition d’un protocole de négociation

58

Page 64: 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

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.

Page 65: 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

Chapitre 5 : Proposition d’un protocole de négociation

60

Page 66: 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

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.

Page 67: 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

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

Page 68: 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

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

Page 69: 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

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 .

Page 70: 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

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].

Page 71: 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

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.

Page 72: 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

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

Page 73: 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

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.

Page 74: 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

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.

Page 75: 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

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

autres participants.

Un message s’écrit sous la forme :

< Message > = < expéditeur > < destinataire > < contenu >.

L’activité peut se terminer par :

o Un succès, après la réception du message confirmé.

o Un échec dans les cas suivants : (1) l’initiateur ne reçoit aucune proposition, (2)

aucune proposition n’est acceptée, dans ce cas la renégociation se fait jusqu’à que le

temps d’expiration est dépassé, si l’activité du (re) négociation se termine toujours par

un échec l’initiateur considérer une réponse par défaut aux les participants pour éviter

le blocage de la négociation.

Scénarios de négociation

La figure(5.9) représente un exemple simple de négociation faisant intervenir deux

agents : Initiateur et le participant dont l’initiateur crée le contrat et envoie au

participant le message propose contrat, ce dernier reçoit le contrat. L’initiateur prend

la décision de confirmation du contrat et envoie le message confirmé au participant.

Figure 5.9 : Diagramme de séquence représente la négociation entre un initiateur et un

participant.

Page 76: 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

Chapitre 5 : Proposition d’un protocole de négociation

71

Etudions l’exemple donné à la figure(5.10), l’initiateur propose un contrat au participant qui

accepte et donc le contrat est confirmé, l’initiateur 2 propose à son tour un contrat au

participant pour les mêmes ressources entrant en conflit avec le précédent. Le participant

décide (méthode multicritère) alors d’accepter le contrat de l’initiateur 2, envoie par

conséquent un message accepté à l’initateur2 et une rétraction à l’initiateur1. Face à cette

situation, l’initiateur1 entame une renégociation du contrat avec le participant.

Figure 5.10: Diagramme de séquence représente la négociation commune avec renégociation

cas 1.

Une autre situation peut se présente à la figure(5.11) et explicite le conflit pour l’utilisation de

ressources communes. L’initiateur 1 propose un contrat au participant qui l’accepte.

L’initiateur2 propose au participant un contrat entrant en conflit avec le précédent, le

Page 77: 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

Chapitre 5 : Proposition d’un protocole de négociation

72

participant refuse alors ce contrat, l’initaiteur2 ne peut que demander une contre-proposition

du participant, suite à celle-ci l’initaietur2 propose un nouveau contrat au participant.

Figure 5. 11 : Diagramme de séquence représente la négociation commune avec

renégociation cas2 [TAG O7].

Pour montrer l’utilité d’un délai de réponse, on étudie l’exemple cité à la figure(5.12), ou

l’initiateur propose un contrat à m participants, seuls deux d’entre eux répondent refusent le

contrat, après l’expiration du délai par le timer par exemple 1minute alors que les autres

participants n’ont pas encore répondu, l’initiateur considérer la réponse par défaut pour ces m-

2 participants. Au total, il y a donc( m-2) acceptation et 2 refus, le contrat est donc confirmé.

Page 78: 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

Chapitre 5 : Proposition d’un protocole de négociation

73

Figure 5.12 : Diagramme de séquence représente la négociation entre un agent initiateur et m

participants.

Dans ce qui suit on va présenter la méthode ELECTRE III qui est utilisée dans le processus

décisionnel adopté par les agents au cours de leurs négociations.

5.5 Intégration de la méthode Electre III

5.5.1 Liste des critères associés aux processus décisionnels

Nous explicitons ci-dessous les différents critères et leurs indicateurs correspondants, le temps

induit par le changement de la ressource en panne, le coût lié à l’opération suite à la panne et

la fiabilité de la machine.

1. Le critère temps et ses indicateurs

Dans le cadre de notre étude, nous avons établi quatre indicateurs composant le critère temps,

décrits comme suit : le temps opératoire d'une opération sur une machine, le temps de

préparation d’une ressource pour une opération, le temps de transfert et le prochain instant de

disponibilité d'une machine.

Timer

Page 79: 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

Chapitre 5 : Proposition d’un protocole de négociation

74

Indicateur N° C1 : Temps opératoire d’une opération sur une machine

(d) r : Durée de l’opération (o) sur la machine r. Deux types d’opérations sont à étudier :

1. Les opérations (o) se trouvant dans le stock en amont de la machine i tombée en

panne : (d) r correspondent à la durée de l’opération sur la machine r.

2. L’opération (o) en cours d’exécution sur la machine tombée en panne :

Deux cas sont possibles :

1. Si (o) peut être reprise après la panne alors (d) r correspond à la durée résiduelle

de (o) sur la machine r: (d) r = (d) r - te où te: temps écoulé avant la panne.

2. Si (o) est rebutée après une panne alors :(d) r est nulle. En réalité, ce produit est

supprimé de la liste objet produit.

Indicateur N° C2 : Temps de préparation d’une ressource pour une opération

(Tpr) : Temps de préparation de la machine r pour l’exécution de l’opération (o) (le temps de

chargement sur la machine étant inclus dans Tp).

Indicateur N° C3 : Temps de transfert

(Tf)i->r : Temps de transfert de l’opération (o) de Mi vers Mr. Cet indicateur mesure le temps

écoulé entre le stock d'entrée ou de sortie de la machine tombée en panne et le stock d’entrée

de la machine pouvant prendre en exécution l'opération bloquée.

Indicateur N° C4 : Prochain instant de disponibilité

PI : Prochain instant de disponibilité d'une machine. Deux cas sont à étudier :

1. (PI) r: représente la date à partir de laquelle Mr sera capable d’exécuter l’opération

bloquée. Une fois que la machine de réserve est déterminée, une mise à jour de son

prochain instant de disponibilité est effectuée : (PI) r = (PI)r + (d)r

2. (PI) i : Prochain instant de disponibilité de la machine en panne : (PI) i = Ip + Tm

Ip étant l'instant de panne et Tm étant le temps moyen de réparation.

2. Le critère coût et ses indicateurs

Progressivement, les problèmes de coûts sont devenus prépondérants dans la prise de

décision. Dans la pratique, le calcul d’un coût résulte d’une convention et cette convention est

elle-même liée au type d’utilisation que l’on veut faire de cette information. La détermination

des coûts n’est donc pas une tâche simple.

C’est une approche par agrégation transitive (plus une machine est en retard sur son

programme, plus les coûts sont élevés) qui réduit fortement l’intérêt d’intégrer une approche

Page 80: 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

Chapitre 5 : Proposition d’un protocole de négociation

75

multicritère. Nous considérons comme coûts variables le coût de production sur la machine et

le coût de stockage en amont de la machine alternative.

Les coûts pris en compte étant plus particulièrement ceux liés à l’opération suite à une panne

machine, nous considérons les deux indicateurs suivants :

Indicateur N° C5 : Coût de production sur la machine Mr ;

Indicateur N° C6 : Coût de stockage en amont de la machine Mr ;

3. Le critère fiabilité et ses indicateurs

Définitions

La fiabilité [OUN 99] est l’aptitude d’un dispositif à accomplir une fonction requise, dans des

conditions données, pendant une durée donnée. Au sens mathématique, la fiabilité est mesurée

par la probabilité que l'entité accomplisse une ou plusieurs fonctions requises dans les

conditions données, pendant une durée donnée.

Il existe plusieurs types de fiabilité :

Nous nous intéressons à la fiabilité " ressource C7 ".

La fiabilité est souvent définie comme la probabilité de fonctionnement continu au cours de la

période (0, t) ; R(t) = 1-F(t) où : F(t) : fonction de répartition.

Chaque machine a ses propres caractéristiques de fiabilité.

5.5.2 Les processus considérés

1.Le Processus décisionnel de réaffectation

Ce processus est déclenché par :

Un agent SIP suite à l’occurrence d’un événement panne machine sur l’une des machines

trouvé et qui sont capable de réaliser son opération.

Les critères sont : C1, C2, C3, C4, C5, C6, C7 tels que :

Critères Temps Coûts Fiabilité

Indicateurs C1 C2 C3 C4 C5 C6 C7Intitulé Temps

opératoired’uneopération surune machine

Temps depréparationd’uneressource pourune opération

Le temps detransfertpotentiel

Prochaine datede disponibilité

Le coût deproduction

Le coût destockage

Fiabilité de lamachine

Max/Min Min Min Min Min Min Min Max

Tableau 5.1: Liste des critères retenus pour le processus de réaffectation.

Page 81: 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

Chapitre 5 : Proposition d’un protocole de négociation

76

2.Le Processus décisionnel de gestion de la file d’attente

Une fois l’exécution de l’opération en cours est terminée, ce processus est déclenché pour

sélectionner dans la file d’attente l’opération à exécuter.

Les critères à utiliser sont : C2, C8.

Critères Temps

Indicateurs C2 C8

Intitulé Temps de préparation d’une ressourcepour une opération

Temps passé en file d’attente

Max/Min Min Min

Tableau 5.2 : Liste des critères retenus pour le processus de gestion de la file d’attente.

5.5.3 Pourquoi l’approche multicritère ?

Une approche multicritère a comme principale caractéristique qu’elle formalise (ou modélise)

la préparation des décisions. Tout d’abord, elle améliore la transparence du processus de

décision. Ensuite, elle définit, précise et met en évidence la responsabilité du décideur.

Bernard ROY [ROY 78] caractérise le paradigme multicritère comme un nouveau schéma de

pensée pour comprendre ou agir sur un système. Pour l’intérêt que suscite l’approche

multicritère, nous avons choisi d’utiliser la méthode Electre III dans la modélisation des

préférences conflictuelles des agents en négociation.

Electre III est une méthode multicritère fondée sur les principes de la logique floue, émettant

de prendre en compte les incertitudes liées aux calculs et à l’évaluation des performances à

travers l’utilisation de pseudo-critère.

ELECTRE III

Les méthodes ELECTRE ont été développées par Bernard Roy au début des années

1970[SITE 05] . Il a ainsi initié toute une série de méthodes, dites de surclassement, basées

sur des comparaisons d'actions deux à deux. Celles-ci demande peu d'information pour

pouvoir être implémentées; de plus cette information est facilement accessible au décideur.

Ainsi elles permettent de respecter les personnes et leurs opinions, en introduisant le

concept de concordance qui traduit le respect de la majorité et, le concept de non-

discordance qui permet de tenir compte de la forte minorité.

L’application de ces méthodes a fait preuve d’une efficacité, en remplissant le rôle de :

• Réducteur de complexité, en permettant une analyse perspicace qui focalise une

minorité de variantes véritablement intéressantes.

Page 82: 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

Chapitre 5 : Proposition d’un protocole de négociation

77

• Réducteur de conflits, en fournissant une base de dialogue acceptable par tous les

acteurs.

Plusieurs cas d’application des méthodes ELECTRE ont été réalisés. Nous présentons ci-

dessous une liste non exhaustive de ces principales applications :

• Problème d’implantation : localisation d’une usine et d’une école d’ingénieur, tracé

autoroutier, dessert ferroviaire.

• Problème de développement national ou régional : planification agricole.

• Problème de publicité : médiaplanning.

• Problème de recherche et de développement industriel.

• Problème d’exploitation : fonctionnement d’un aéroport, affectation d’engin.

• Problème de recrutement : admission sur dossier.

• Problème de fabrication : composition d’un produit, organisation d’un atelier.

La méthode ELECTRE III relève de la problématique γ (procédure de classement).

Principe de la méthode

Figure 5.13 : Architecture d’Electre III [CHA 05].

L’attribution des différentes valeurs de la matrice de performance est basée sur l’évaluation

des différents critères par rapport aux actions après implémentation de celle-ci. De telle façon

que l’action qui a la plus grande performance, on lui affecte la valeur la plus grande et ainsi de

suite.

Les poids sont attribués par ordre d’importance des critères.

Poids descritères

Seuils deveto

Hypothèses desurclassement entre

deux actions

Degré decrédibilité

Indice deconcordance

Matrice desperformances

Graphe desurclassement

+analyse de sensibilité

Indice dediscordance

Ensembledes

actions etdes

critères

Page 83: 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

Chapitre 5 : Proposition d’un protocole de négociation

78

ELECRE III est une méthode très complète mais elle est pénalisée d’un côté par sa propre

complexité et d’un autre côté, par la construction du tableau des performances. En amont de

ce problème, l’élaboration de l’ensemble des critères peut s’avérer délicate car pour bien faire,

on doit être exhaustif et les critères doivent être bien déterminés.

Les étapes à suivre sont les suivantes :

1. Définir les différentes actions dans notre cas, représentent les agents :

La ressource N°2 contrôlée par l’agent N°1 (SIP1R02) et la ressource N°10 contrôlée

par l’agent N°4 (SIP4R10) ;

2. Définir les différents critères : les critères(présentée en section 5.5.1) retenus dans

notre étude de cas sont les suivants :

C1 : Temps opératoire d’une opération sur une machine

C2 : Temps de préparation d’une ressource pour une opération

C3 : Temps de transfert

C4 : Prochain instant de disponibilité

C5 : Coût de production sur la machine Mr ;

C6 : Coût de stockage en amont de la machine Mr ;

C7 : Fiabilité de la ressource .

3. Etablir le tableau de performance : consiste à évaluer chaque action par rapport à

chacun des critères.

(Le chapitresuivantprésente l’adaptationde laméthode Electre III dans notre système).

Ainsi, on peut construire la matrice d’évaluation avec en ligne les actions et en colonnes les

critères qui sont récapitulés dans le tableau (5.3) .

C1 C2 C3 C4 C5 C6 C7SIP1R02 1 5 9 1 3 5 7SIP4R10 3 5 5 1 2 5 5

Tableau 5.3 : Tableau des performances des différentes actions.

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. Le seuil d’indifférence d’un critère indique la valeur en delà de

laquelle la différence « performance de l’action ai – performance de l’action ak » ne suscite,

Page 84: 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

Chapitre 5 : Proposition d’un protocole de négociation

79

chez le décideur, que de l’indifférence entre ai et ak. Le seuil de préférence indique la valeur

au-delà de laquelle la différence « performance de ai – performance de ak » suscite, chez le

décideur, une préférence stricte pour ai. Entre le seuil d’indifférence et le seuil de préférence,

le décideur éprouve une préférence faible pour ai. Le seuil de veto indique la valeur au delà de

laquelle la différence opposée « performance de ak – performance de ai » entraîne un

impossibilité de surclassement de ak par ai, quelles que soient les performances de ces deux

actions dans les autres critères(Voir Annexe A).

Pour déterminer toutes ces valeurs, on s'est basé les avis de personnes expertes. On a alors

fixé les valeurs suivantes illustrées dans tableau (5.4), jugées les plus crédibles :

C1 C2 C3 C4 C5 C6 C7Poids 8 5 5 5 10 3 5q 1 1 2 0 0 2 1p 5 3 3 2 1 3 3

Tableau 5.4 : Seuils d’indifférence, de préférence .

A travers le tableau (5.5), on présente les deux types de distillation d’Electre III selon la

manière dont elles sont dirigées. Ces deux distillations mènent évidemment à deux

classements différents à partir desquels Electre III tire le classement final. Le chiffre qui

apparaît dans ces cellules donne la position de l’action correspondante dans le classement.

Distillation descendante Distillation ascendanteSIP1R02 2 2SIP4R10 1 1

Tableau 5.5 : Résultat des deux distillations.

Le graphe de classement de la figure (5. 14) nous permet de classer les différentes actions (les

agents),

Figure 5.14: Résultat du préordre final.

SIP4R10

SIP1R02

Page 85: 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

Chapitre 5 : Proposition d’un protocole de négociation

80

5.6 Conclusion

Ce chapitre a présenté notre proposition de la stratégie de négociation incluant la résolution de

situation conflictuelle qui a suscité notre plus grand intérêt.

Les phases les plus importantes de notre étude sont :

– L'amélioration 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 (SIAMD) pour le pilotage. Les modules décisionnels

élaborés sont basés sur une structure multi- agent en utilisant la méthode multicritère

ELECTREIII.

– 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. En effet, lorsque deux agents décident

d'accéder à la même ressource pour réaliser leurs tâches peuvent entraîner dans

certains cas, une incohérence au niveau du système.

Pour démontrer la faisabilité de cette approche théorique, un système permettant de simuler la

résolution des situations conflictuelles dans un système manufacturier a été développé dans le

chapitre suivant.

Page 86: 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

Chapitre 5 : Proposition d’un protocole de négociation

60

Figure 5.2: Architecture d’un agent SIP.

  CPF

Filtre Liste des événement

Support de communication

Gamme de production

Base de données

Agenda localModule d’analyse et réaction

Sous Système De contrôle

Traitement des messages

Sous Système De décision

Sous Système De communication

Sous Système D’information

Interface experte

Système piloté

CPR CPM

Activation

Message reçu

Message émis

Liste des agents Analyse

des événements

Horloge M.A.J

Module dialogue

Sous Système D’interface

Opérateur humain

Maj. de la configuration de la ressource

Page 87: 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

Chapitre 5 : Proposition d’un protocole de négociation

58

Figure 5.1: Architecture d’un agent SIP superviseur.

Filtre Liste des événement

Support de communication

Gamme de production

Base de données

Agenda global Module d’analyse et de suivi

des tâches

Sous Système De contrôle

Traitement des messages

Sous Système De décision

Sous Système De communication

Sous Système D’information

Interface experte

Système piloté

CPR CPM

Activation

Message reçu

Message émis

Liste des agents Analyse

des événements

Horloge M.A.J

Module dialogue

Sous Système D’interface

Opérateur humain

Maj. de la configuration de la ressource

Page 88: 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

Chapitre 6 :Mise en œuvre du prototype proposé   

82  

Chapitre 6

Mise en œuvre du prototype

proposé

6.1 Introduction Dans ce chapitre nous allons présenter les outils de développement (le langage Java, la plate

forme JADE, MySQL) utilisés pour la conception de notre application. Nous présentons

quelques exemples de scénarios des processus décisionnels ainsi que la négociation pour

résoudre le cas de conflit.

6.2 Réalisation du logiciel

6.2.1 Outils de conception

Le logiciel a été réalisé en langage JbuilderX sous Windows XP. La machine utilisée est

caractérisée par un microprocesseur Intel Pentium 4 avec une fréquence de 2.99 GHz, une

RAM de 512 Mo et un disque dur de 40 Go.

6.2.2 Langage de programmation

Comme langage de programmation, on a choisi JbuilderX qui est un environnement de

développement orienté objet. L’interface et la bibliothèque de composants visuels de ce

langage permettent de réaliser rapidement des interfaces et des codes des applications, c'est un

outil RAD (Rapid Application Development).

Page 89: 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

Chapitre 6 :Mise en œuvre du prototype proposé   

83  

6.3 Description de l’application

Nous considérons une structure de pilotage composée d’un agent superviseur et quatre agents

SIP. La figure( 6.1) presente l’interface principale de l’agent superviseur.

Figure 6.1 : Structure de l’agent superviseur.

6.3.1 Arrivée d’un nouvel ordre de fabrication

Supposons l’arrivée d’un nouvel ordre de fabrication composé des tâches suivantes : tâche

N°1, tâche N°10, tâche N°11,tâche N°12, tâche N°13, tâche N°14, tâche N°15.

Il faut saisir ce paramètre, puis nous validons la

configuration

Page 90: 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

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 

Page 91: 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

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.

Page 92: 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

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.

Page 93: 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

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

Page 94: 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

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.

Page 95: 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

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.

Page 96: 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

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.

Page 97: 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

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

Page 98: 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

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

Page 99: 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

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.

Page 100: 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

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.

[BEL 00]

BELLIFEMINE F., GIOVANI C., TIZIANA T. RIMASSA G., « Jade Programmer's Guide» Jade version2.6, (http://www.fipa.org/specs/fipa00001/), 2000.

Page 101: 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

Bibliographie  

97  

[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.

Page 102: 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

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.

Page 103: 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

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.

Page 104: 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

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).

Page 105: 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

Bibliographie  

101  

[SHO 93] SHOHAM Y., « Agent.oriented programming», Artificial Intelligence, 60(1):51.92, 1993.

[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.

Page 106: 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

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-

39, 1994.

[SITE 01] [SITE 02] [SITE 03] [SITE 04] [SITE 05] [SITE 06]

http://public.enst-bretagne.fr/~garlatti/HomePage/publi-pdf/tutorial-siad.pdf http://www.Soft computing.com/pilotage.pdf http://www.damas.ift.ulaval.ca/publications/article2.pdf  http://turing.cs.pub.ro/auf2/html/chapters/chapters.html

http://books.google.dz/books?id=KD5uY0M8k7oC&pg=PA133&lpg=PA133&dq=Bernard+Roy+electre+III&source=bl&ots=lJOABdfgrD&sig=msghtOVaC0S64CfYQ28Z7GRDGo4&hl=fr&ei=Dk_bSb vG4KRjAfRg4XRCA&sa=X&oi=book_result&ct=result&resnum=1#PPA71,M1  

http://www.fipa.org/specs/fipa00001/,2000 

Page 107: 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

Annexe A

104

Annexe A

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.

Page 108: 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

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 =∑

Page 109: 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

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)

Page 110: 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

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).

Page 111: 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

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

Page 112: 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

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.

Page 113: 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

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

déclarations.

1.2 Structure d’un agent en java

• L’agent serveur

package sma;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import com.borland.dx.sql.dataset.*;

import com.borland.dbswing.*;

import com.borland.jbcl.layout.*;

import javax.swing.border.*;

import java.util.Vector;

import javax.swing.event.*;

import java.sql.*;

public class Serveur extends JFrame {

public Serveur() {

enableEvents(AWTEvent.WINDOW_EVENT_MASK);

try {

jbInit();

}

catch(Exception e) {

e.printStackTrace();

}

}

}

Page 114: 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

Annexe B

111

• L’agent client

import java.awt.event.*;

import java.lang.*;

import javax.swing.*;

import client.Agents;

import jade.core.Runtime;

import jade.wrapper.AgentContainer;

import jade.wrapper.AgentController;

import jade.core.Profile;

import jade.core.ProfileImpl;

import jade.core.ProfileImpl;

import jade.core.Runtime;

public class Client

extends JFrame {

private Socket client;

private String serveurDeChat;

private String message;

public Client(String hote) {

super("Client");

this.serveurDeChat = hote;

c = getContentPane();

this.affichage = new JTextArea();

this.champEntree = new JTextField();

champEntree.setEnabled(false);

c.add(champEntree, BorderLayout.NORTH);

c.add(new JScrollPane(affichage), BorderLayout.CENTER);

//**************************************

class Client_this_windowAdapter

extends java.awt.event.WindowAdapter {

Client adaptee;

Client_this_windowAdapter(Client adaptee) {

this.adaptee = adaptee;

}

public void windowActivated(WindowEvent e) {

Page 115: 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

Annexe B

112

• Négociation

Les agents négociant entre eux pour pouvoir interagir et échanger de l’information. Nous

avons présenté cette négociation par :

L’agent négociation

o L’agent initiateur

public class SIP1I

extends Agent {

Agents agent;

String utilisater;

public class Comprt1

extends Behaviour {

public void action() {

MessageTemplate mt = MessageTemplate.or(MessageTemplate.MatchPerformative(

ACLMessage.PROPOSE),

MessageTemplate.MatchPerformative(

ACLMessage.REFUSE));

MessageTemplate mt1 = MessageTemplate.MatchPerformative(ACLMessage.CFP);

ACLMessage msg_tampon = myAgent.receive(mt);

if (msg_tampon != null) {

System.out.println("mm ");

String[] cont = null;

try {

cont = (String[]) msg_tampon.getContentObject();

System.out.println("mm ");

}

catch (UnreadableException e) {

// TODO Auto-generated catch bloc

e.printStackTrace();

public boolean done() {

// TODO Auto-generated method stub

return false;

}}}

Page 116: 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

Annexe B

113

o L’agent participant

public class SIP1P extends Agent {

Database Mabase = new Database();

QueryDataSet queryDataSet1 = new QueryDataSet();

String bb;

String cc;

public SIP1P() {

try {

jbInit();

}

catch(Exception e) {

e.printStackTrace();

}

}

public void setup() {

this.addBehaviour(new Comprt1());

}

public class Comprt1 extends Behaviour {

public void action() {

ACLMessage msg_tampon = myAgent.receive(mt);

if (msg_tampon != null) {

System.out.println("i am here");

String[] cont = null;

try {

cont = (String[]) msg_tampon.getContentObject();

}

catch (UnreadableException ex2) {

}

Page 117: 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

Annexe B

114

• Processus de négociation

import javax.swing.*;

import java.awt.*;

import jade.core.*;

import jade.core.AID;

import jade.core.*;

import jade.lang.acl.*;

import java.awt.event.*;

import javax.swing.JFileChooser;

import java.awt.event.*;

import javax.swing.border.*;

import javax.swing.event.*;

void actionPerformed(ActionEvent e) {

String user7 = jTextField3.getText();

String rep = Table3.getValueAt(repSIP3,1).toString().substring(0,4);

JOptionPane.showInputDialog(null,"rep "+rep,"",JOptionPane.OK_OPTION);

ACLMessage msg = new ACLMessage(ACLMessage.CFP);

try {

msg.setContentObject(new String[] {"Panne", user7});

//================================================

msg.addReceiver(new AID(rep+"P", AID.ISLOCALNAME));

//======================================

myAgent.send(msg);

// this.setVisible(false);

}

catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

Page 118: 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

Annexe C

115

Annexe C

1. Introduction Le meilleur moyen pour construire un système multi-agent (SMA) est d'utiliser une plate-

forme multi-agent. Une plate-forme multi-agent est un ensemble d'outils nécessaire à la

construction et à la mise en service d'agents au sein d'un environnement spécifique. Ces outils

peuvent servir également à l'analyse et au test du SMA ainsi créé. Ces outils peuvent être sous

la forme d'environnement de programmation (API) et d'applications permettant d'aider le

développeur. Nous allons étudier dans cette partie la plate-forme JADE (Java Agent

DEvelopment framework).

2. Bref description de JADE JADE (Java Agent DEvelopement framework) est une plate-forme multi-agent créé par le

laboratoire TILAB et décrite par Bellifemine et al. Dans [BEL 99] [BEL 00]. JADE permet le

développement de systèmes multi-agents et d'applications conformes aux normes FIPA [SITE

06] . Elle est implémentée en JAVA et fourni des classes qui implémentent « JESS » pour la

définition du comportement des agents. JADE possède trois modules principaux (nécessaire

aux normes FIPA).

• DF « Director Facilitor » fournit un service de « pages jaunes» à la plate-forme ;

• ACC «Agent Communication Channel » gère la communication entre les agents ;

• AMS « Agent Management System » supervise l'enregistrement des agents, leur

authentification, leur accès et l'utilisation du système.

Ces trois modules sont activés à chaque démarrage de la plate-forme.

Page 119: 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

Annexe C

116

3. La norme FIPA La FIPA (Foundation for Intelligent Physical Agents) est une organisation à but non lucratif

fondée en 1996 dont l'objectif est de produire des standards pour l'interopération d'agents

logiciels hétérogènes. Par la combinaison d'actes de langages, de logique des prédicats et

d'ontologies publiques, la FIPA cherche à offrir des moyens standardisés permettant

d'interpréter les communications entre agents de manière à respecter leur sens initial, ce qui

est bien plus ambitieux que XML, qui ne standardise que la structure syntaxique des

documents. Afin d'atteindre ce but, le FIPA émet des standards couvrant :

• Les applications (applications nomades, agent de voyage personnel, applications

de diffusion audiovisuelles, gestion de réseaux, assistant personnel…) ;

• Les architectures abstraites, définissant d'une manière générale les architectures

d'agents ;

• Les langages d'interaction (ACL), les langages de contenu (comme SL, CCL,

KIF ou RDF) et les protocoles d'interaction ;

• La gestion des agents (nommage, cycle de vie, description, mobilité,

configuration);

• Le transport des messages : représentation (textuelle, binaire ou XML) des

messages ACL, transport (par IIOP, WAP ou HTTP) de ces messages.

Ces standards évoluent, et sont régulièrement mis à jour, ainsi que de nouveaux standards qui

sont nouvellement proposés. Les standards qu'édicte la FIPA ne constituent pas vraiment une

plate-forme de construction multi-agents. Ce n'est pas non plus l'objectif que s'est fixé la

FIPA. Tout au plus, la FIPA normalise une plate-forme d'exécution standardisée dans un but

d'interopérabilité. Ces normes s'appliquent donc pour la plupart en phase de déploiement.

Elles n'abordent pas les phases d'analyse ni de conception. Elles peuvent cependant guider

certains choix d'implémentation.

3.1 Architecture logiciel de la plate-forme JADE

JADE reprend donc l'architecture de l'Agent Management Reference Model proposé par

FIPA. Les différents modules présentés dans la figure suivante sont présentés sous forme de

services. Les services de base proposés sont le Directory Facilitator (DF) et l'Agent

Management System (AMS). Il est possible de lui demander de tenir en plus le service de

Message Transport Service (MTS) pour communiquer entre plusieurs plates-formes. Mais ce

Page 120: 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

Annexe C

117

service sera chargé à la demande pour ne conserver par défaut que les fonctionnalités utiles à

tout type d'utilisation.

L'agent est l'acteur fondamental de la plate-forme, un Agent Identifier (AID) identifie un

agent de manière unique. Le DF est un composant qui fait office d'annuaire. C'est un service

de « pages jaunes » qui permet de mettre en relation les agents avec leurs compétences. Un

agent peut enregistrer ses compétences dans le DF ou interroger le DF pour connaître les

compétences proposées par les autres agents. L'AMS est un autre composant important car il

contrôle l'accès et l'utilisation de la plate-forme et maintient un répertoire contenant les

adresses de transport des agents de la plate forme. Ce service est plus un service de type «

pages blanches » qui effectue la correspondance entre l'agent et l'AID.

Chaque agent doit s'enregistrer à un AMS pour avoir un AID. Il n'y a qu'un AMS par plate-

forme. Le MTS est une méthode par défaut de communication entre agents de différentes

plates-formes. Cela permet l'interconnexion entre systèmes hétérogènes ou tout au moins de

système ne communicant pas de la même façon. L'Agent Platform (AP) constitue

l'infrastructure physique sur laquelle se déploient les agents. Il contient le DF, l'AMS et le

MTS. Lorsqu'on parle de AP, on inclut souvent le matériel électronique, l'OS, le software et

les composants cités ci-dessus avec les agents. Enfin, l'Agent Identifier (AID) est un

identifiant précis d'un agent. On lui donne plusieurs paramètres tels que l'adresse de transport,

l'adresse de service de résolution de nom, … Un exemple est : name@HAP (Home Agent

Platform)

Figure C.1 : Architecture logiciel de La plate-forme JADE.

Page 121: 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

Annexe C

118

Dans la plate-forme JADE, deux méthodes sont fournies par la classe Agent afin d'obtenir

l'identifiant de l'agent DF par défaut et celui de l'agent AMS : getDefaultDF() et

respectivement getAMS(). Ces deux agents permettent de maintenir une liste des services et

des adresses de tous les autres agents de la plate-forme. Le service DF propose quatre

méthodes afin de pouvoir :

• Enregistrer un agent dans les pages jaunes (register).

• Supprimer un agent des pages jaunes (deregister).

• Modifier le nom d'un service fourni par un agent (modify).

• Rechercher un service (search).

Le service AMS s'utilise généralement de manière transparente (chaque agent créé est

automatiquement enregistré auprès de l'AMS et se voit attribué une adresse unique). Ces deux

services fournissent donc les annuaires qui permettent à n'importe quel agent de trouver un

service ou un autre agent de la plate-forme.

3.2 Langage de communication de la plate-forme JADE

Le langage de Communication de la plate-forme JADE est FIPA-ACL (Agent

Communication language). La classe ACLMessage représente les messages qui peuvent être

échangés par les agents. La communication de messages se fait en mode asynchrone.

Lorsqu'un agent souhaite envoyer un message, il doit créer un nouvel objet ACLMessage,

compléter ces champs avec des valeurs appropriées et enfin appeler la méthode send().

Lorsqu'un agent souhaite recevoir un message, il doit employer la méthode receive() ou la

méthode blockingReceive().

Un message ACL dispose obligatoirement des champs suivants :

Performative : type de l'acte de communication

Sender : expéditeur du message

Receiver : destinataire du message

reply-to : participant de la communication

content : contenu du message

language : description du contenu

encoding : description du contenu

Page 122: 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

Annexe C

119

ontology : description du contenu

protocol : contrôle de la communication

conversation-id : contrôle de la communication

reply-with : contrôle de la communication

in-reply-to : contrôle de la communication

reply-by : contrôle de la communication

Tous les attributs de la classe ACLMessage peuvent être obtenus et modifiés par les méthodes

set/get(). Le contenu des messages peut être aussi bien du texte que des objets car la

sérialisation Java est supportée.

3.3 Les protocoles FIPA-Query et FIPA-Request

Dans le protocole FIPA-request, un agent sollicite un autre agent pour exécuter des actions et

l'agent récepteur retourne soit une réponse favorable à l'exécution d'actions, soit une réponse

défavorable expliquée par telle ou telle raison.

Supposons que l'agent i ait besoin de l'agent j pour exécuter l'action « action ».

a. L'agent i envoie « request » à l'agent j. Si l'agent j accepte la requête, il retourne «

agree ». Ensuite, quand j a fini d'exécuter « action », il en informe i en utilisant «

inform ».

b. Si l'agent j accepte mais rencontre un problème durant le traitement de « action », il

retourne « failure » et les raisons de l'échec.

c. Si l'agent j n'accepte pas la requête de l'agent i, j retourne « refuse » et les raisons de

ce refus.

Le protocole FIPA-Query signifie que l'agent émetteur sollicite l'agent récepteur pour

exécuter un des types d'un performatif « inform », c'est-à-dire pour répondre à la demande.

Supposons que l'agent i fasse une demande à l'agent j.

a. L'agent i envoie un performatif « query » à l'agent j. Si l'agent j peut répondre à la

demande, il l'informe en utilisant le performatif « inform ».

b. Si l'agent j a essayé de répondre à la demande mais qu'il ne le peut pas, il retourne «

failure » et les raisons de cette impossibilité.

Page 123: 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

Annexe C

120

c. Si l'agent j refuse de répondre à la demande, il retourne « refuse » et les raisons de ce

refus.

3.4 Le protocole Contract-Net de JADE

Le Protocole Contract-Net (CNP) a été défini par Smith [SMI 80b]. Il est un mécanisme de

négociation par appel d'offre (ou Contract) entre deux types d'agents : l'agent gestionnaire et

les agents contractants. L'agent gestionnaire, souhaitant sous-traiter une tâche qu'il doit

accomplir, est l'initiateur du contrat. Chaque agent contractant est un agent auquel on propose

ce contrat. Ce protocole très souvent utilisé, a été normalisé par l'organisation FIPA et

implémenté dans la plate-forme JADE.

4. Comportements des agents dans la plate-forme JADE

Un agent doit être capable de gérer plusieurs tâches de manière concurrente en réponse à

différents évènements extérieurs. Afin de rendre efficace cette gestion chaque agent de JADE

est composé d'un seul thread et chaque comportement qui le compose est en fait un objet de

type Behaviour. Des agents multi-thread peuvent être créés mais il n'existe pour l'heure

actuelle aucun support fournis par la plate-forme (excepté la synchronisation de la file des

messages ACL).

Afin d'implémenter un comportement, le développeur doit définir un ou plusieurs objets de la

classe Behaviour, les instancier et les ajouter à la file des tâches « ready »de l'agent. Il est à

noter qu'il est possible d'ajouter des comportements et sous-comportements à un agent ailleurs

que dans la méthode setup().

Tout objet de type Behaviour dispose d'une méthode action() (qui constitue le traitement à

effectuer par celui-ci) ainsi que d'une méthode done() (qui vérifie si le traitement est terminé).

Dans les détails, l'ordonnanceur exécute la méthode action() de chaque objet Behaviour

présent dans la file des tâches de l'agent. Une fois cette méthode terminée, la méthode done()

est invoquée. Si la tâche a été complétée alors l'objet Behaviour est retiré de la file.

L'ordonnanceur est non-préemptif et n'exécute qu'un seul comportement à la fois, on peut

donc considérer la méthode action() comme étant atomique. Il est alors nécessaire de prendre

certaines précautions lors de l'implémentation de cette dernière, à savoir éviter des boucles

infinies ou des opérations trop longues. La façon la plus classique de programmer un

comportement consiste à le décrire comme une machine à états finis. L'état courant de l'agent

étant conservé dans des variables locales.

Page 124: 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

Annexe C

121

Enfin, il existe également quelques méthodes supplémentaires afin de gérer les objets

Behaviour :

• reset () qui permet de réinitialiser le comportement;

• onStart() qui défini des opérations à effectuer avant d'exécuter la méthode

action();

• onEnd() qui finalise l'exécution de l'objet Behaviour avant qu'il ne soit retiré de

la liste des comportements de l'agent;

La plate-forme JADE fournit sous forme de classes un ensemble de comportements ainsi que

des sous-comportements prêt à l'emploi. Elle peut les exécuter selon un schéma prédéfini, par

exemple la classe SequentialBehaviour est supportée et exécute des sous-comportements de

manière séquentielle. Toutes les classes prédéfinies dans JADE héritent de la classe Abstraite

Behaviour. On peut les citer :

• Classe SimpleBehaviour (abstraite): modélise un comportement simple. Sa

méthode reset() n'effectue aucune opération.

• Classe CompositeBehaviour (abstraite) : modélise un comportement composé.

Les actions effectuées par cette classe sont définies dans les comportements

enfants.

• Classe FSMBehaviour : Cette classe hérite de CompositeBehaviour et éxecute

des comportements enfants suivant un automate à états finis défini par

l'utilisateur. Lorsqu'un comportement enfant termine, sa valeur de fin retournée

par la fonction onEnd() indique le prochain état à atteindre. Le comportement

correspondant à cet état sera exécuté à la prochaine exécution de la classe. Elle se

termine lorsque qu'un comportement associé à un état final à été exécuté.

• Classe SenderBehaviour : elle étend la classe OneShotBehaviour et encapsule

une unité atomique qui effectue une opération d'envoie de message.

• Classe ReceiverBehaviour : Elle encapsule une unité atomique qui effectue une

opération de reception de message. Ce comportement s'arrête dés qu'un message

a été reçu. S'il n'y a pas de message dans la file d'attente de l'agent ou que le

message ne correspond pas au MessageTemplate du constructeur de cette classe,

alors il se met en attente.

Page 125: 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

5. Out

Pour su

dévelop

obéissan

de vie d

5.1 Age

Le RM

compos

forme. P

noms di

5.2 Age

L'outi

particul

liste de

• On pe

(abstra

(abstra

tils de déb

upporter la t

ppés dans

nt aux mêm

d'un agent g

ent RMA R

MA permet

sant. L'archi

Plusieurs R

istincts.

ent Dammy

il DummyA

ière. L'inter

messages

eut aussi c

aite), Pa

aite), OneSh

bogage de

tâche diffici

la plate-for

mes règles, a

énérique (a

Remote Man

t de contrô

itecture rép

RMA peuven

Fig

y

Agent perme

rface perme

ACL envoy

citer d'autre

arrallelBeha

hotBehaviou

e JADE

ile du débog

rme JADE

aux mêmes

gentificatio

nagement A

ôler le cyc

partie de JA

nt être lancé

gure C.2 : L

et aux utilis

et la compo

yés et reçu

Annexe C

122

es classes p

viour, S

ur (abstraite

gage des ap

E. Chaque

possibilités

on de service

Agent

le de vie

ADE permet

és sur la mê

L'interface d

sateurs d'int

osition et l'e

us. Cette lis

par exempl

SequentialBe

e).

pplications m

outil est e

s de commu

e).

de la plate

t le contrôle

ême plate-fo

de l'agent RM

teragir avec

envoi de m

ste peut êtr

les : Class

ehaviour,

multi-agent

empaqueté

unication et

e-forme et

e à distance

orme du mo

MA.

c les agents

messages AC

e examinée

se WakerBe

CyclicBe

ts, des outil

comme un

t aux même

tous les a

e d'une autr

oment qu'ils

s JADE d'un

CL et maint

e par l'utilis

ehaviour

ehaviour.

s ont été

n agent,

es cycles

agents la

re plate-

s ont des

ne façon

tient une

sateur et

Page 126: 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

chaque

sauvega

5.3 Age

L'inter

implant

graphiq

cette int

message p

ardé sur le d

ent Director

rface du D

tée par l'en

que. L'interfa

terface, l'uti

peut être vu

disque et ren

Figu

ry Facilitat

DF peut être

nvoi d'un m

face peut êtr

ilisateur peu

Fi

u en détail

nvoyé plus t

ure C.3 : L'i

tor

e lancée à

message AC

re juste vue

ut interagir a

igure C.4 :

Annexe C

123

ou même

tard.

interface de

partir du m

CL au DF

sur l'hôte o

avec le DF.

L'interface

édité. Plus

e l'agent Dam

menu du R

lui demand

où la plate-f

de l'agent D

encore, le

mmy.

RMA .Cette

dant de cha

forme est ex

DF.

message p

e action est

arger son i

xécutée. En

peut être

t en fait

interface

utilisant

Page 127: 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

5.4 Age

Quand

Chaque

L'utilisa

tard. L'a

jade.Bo

5.5 Age

Cet ag

ses mes

ent Sniffer

un utilisate

message p

ateur peut v

agent peut

oot sniffer:ja

ent Inspecto

gent permet

sages envoy

eur décide d

artant ou al

voir et enreg

être lancé d

ade.tools.sn

Figu

or

t de gérer e

yés et reçus

Figur

d'épier un ag

llant vers ce

gistrer tous

du menu du

iffer.sniffer

ure C.5 : L'

et de contrôl

s.

re C.6 : L'in

Annexe C

124

gent ou un g

e groupe est

les messag

u RMA ou

r

'interface de

ler le cycle

nterface de l

groupe d'ag

t capté et af

ges, pour év

de la ligne

e l'agent Sn

de vie d'un

l'agent Insp

gents, il utili

ffiché sur l'i

ventuelleme

de comma

iffer.

n agent s'ex

pector .

ise un agent

interface du

nt les analy

ande suivant

xécutant et l

t sniffer.

u sniffer.

yser plus

te : Java

la file de

Page 128: 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

Annexe C

125

6. Conclusion

Dans cette annexe, nous avons présenté la plate forme logicielle de développement des

systèmes multi-agents JADE, nous avons évoqué encore quelques notions de base proposées

par la communauté FIPA. Nous avons finalisé par la présentation des outils de débogage

JADE y compris l’agent sniffer que nous avons intégré dans notre prototype développé pour

la visualisation des interactions des agents implémentés dans notre plate forme.

Page 129: 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

Résumé

Résumé

Ce mémoire expose nos travaux de recherche visant à favoriser la négociation entre les

systèmes de production et leurs systèmes de pilotage pour l’amélioration de leurs performances.

Au cours de ce projet, Nous nous sommes intéressés à la résolution d’une classe de problèmes relatifs aux

situations de conflits pouvant avoir lieu entre les différentes activités d'agents interagissant dans un

environnement dynamique en temps réel et concernant l’utilisation des ressources communes.

Lorsque plusieurs agents interagissent des conflits peuvent survenir ce qui nécessite l’utilisation de

mécanismes de résolution de conflits. La stratégie de négociation proposée est une hybridation du

protocole contrat Net et une approche fondée sur l'intelligence artificielle implémentée a l’aide de la plate

forme JADE( Java Agent DEvelopement framework), qui a pour but de simplifier le développement des

systèmes multi-agents tout en fournissant un ensemble complet de services et d'agents conformes aux

spécifications FIPA ACL.

En fait, les agents en conflit entrent dans une série de tractations, d'échanges et de compromis de manière

à parvenir à un accord.

Mots clés: Système multi-agents, Négociation, Aide à la décision, SIAMD, Méthodes multicritères, protocole contract Net.

Abstract This report describes our research to foster negotiations between the production systems and

piloting systems to improve their performance.

During this project, we are interested in solving a class of problems related to situations of conflict can

take place between the various agents interacting in a dynamic environment in real time and on the use of

common resources.

When several agents interact conflicts may arise which require the use of conflict resolution mechanisms.

The proposed negotiation strategy is a hybridization of the Contract Net protocol and an approach based

on artificial intelligence implemented using the JADE( Java Agent DEvelopement framework), platform

which aims to simplify the development of multi-agent systems, while providing a complete set of services

and agents comply with the FIPA ACL specifications.

In fact, officers come into conflict in a series of negotiations, exchanges and compromise in order to reach

an agreement. Keywords: Multi Agent System, Negotiation, Decision Support System (DSS),  SIDAM, multicriteria Methods, Contract net protocol.