• Aucun résultat trouvé

II. Etat de l’art

3. Coordination dans les systèmes de négociation

3.3. Coordination de négociations

3.3.1. Coordinations stratégiques de négociations

3.3.1.2. MACIV, SMACE et ForEV

La complexité du processus de négociation et les nombreux problèmes liés à la coordination des plusieurs négociations sont soulignés et certaines résolues dans les projets MACIV, SMACE et ForEV développés par E. Oliveira, A.P. Rocha, H.L. Cordoso et J.M. Fonseca dans le laboratoire de l’Université de Porto [Oliveira et al.’97] [Oliveira et Rocha’00] [Cordoso et Oliveira’00] [Oliveira’01].

Plusieurs caractéristiques sur la négociation sont communes dans ces projets : les agents sont autonomes, chacun dispose de mécanismes de décision et de stratégies de négociation locales, les négociations sont faites sur des objets de négociation ou des tâches décrites par

plusieurs attributs, chaque négociation consiste en plusieurs échanges des propositions entre

les participants. Les participants peuvent avoir différents rôles en fonction de leur implication dans une négociation : vendeur, acheteur ou médiateur. Les propositions échangées pendant le processus de négociation sont utilisées par les agents dans un processus d’apprentissage afin d’augmenter la qualité de leurs propositions. Finalement, chaque agent peut être impliqué dans

plusieurs négociations dans le même temps.

Par la suite, nous allons présenter quels sont les différents mécanismes de coordination proposés dans les trois projets en commençant, du point de vue de la coordination, avec le plus simple vers le plus complexe.

Dans le projet ForEV la coordination est implémentée avec un protocole de négociation issue du Contract Net Protocol (CNP) [Smith’80]. Mais contrairement au CNP, où l’agent coordinateur se contente de choisir la meilleure proposition reçue, le protocole proposé en ForEV est itéré sur plusieurs étapes. L’objectif principal de ces itérations est de permettre à chaque participant de connaître les défauts de sa proposition. En effet, les informations fournies à chaque étape par un agent coordinateur (« Market Agent ») guident chacun des participants à connaître les défauts de sa proposition et les choix possibles afin d’augmenter le plus possible ses chances de gagner dans la prochaine étape avec une nouvelle proposition. Cette approche est très performante dans la mesure où elle améliore efficacement les propositions à chaque étape, mais elle est très limitative au niveau de l’autonomie des agents et des interactions possibles. Un exemple est le fait qu’à chaque étape l’agent gagnant est obligé de ne pas faire des offres pendant l’étape suivante.

La négociation dans SMACE est basée sur une interaction caractérisée par un échange de propositions et de contre-propositions entre les agents acheteurs et vendeurs. Une

caractéristique principale de la négociation dans SMACE est le fait que chaque agent peut conduire une négociation multilatérale comme un ensemble de négociations bilatérales. Par contre, de la même manière que dans le projet ADEPT, la coordination entre les négociations bilatérales est limitée seulement aux contraintes soulevées par la finalisation des négociations avec la mise en place d’un accord. A la différence de ADEPT, ici les agents sont en compétition et donc la finalisation d’une négociation avec un contrat empêche les autres négociations sur le même objet de continuer. Pour régler ce problème deux moyens de coordination sont proposés :

1) un protocole de coordination qui spécifie qu’à l’envoi d’une acceptation l’agent receveur doit confirmer qu’il peut toujours honorer son engagement. De cette manière sont résolues les problèmes liés à la synchronisation et à la concurrence entre plusieurs processus (négociations bilatérales) sur la même ressource (objet de négociation). L’agent coordonnateur qui reçoit les acceptations décide d’accepter seulement une des propositions.

2) une police de coordination générale spécifiant qu’un agent qui envoie une acceptation à un autre agent doit suspendre toutes les négociations avec les autres et rejeter toutes les acceptations qu’il reçoit de la part de ces derniers. De cette manière sont résolues les mêmes problèmes de synchronisation qu’auparavant mais cette fois pour les agents qui envoient les acceptations. Une approche plus complexe sur la coordination des négociations est faite dans le projet MACIV. Dans MACIV les agents sont considérés autonomes et ils essaient de satisfaire leurs buts sans tenir compte d’un possible gain global du système et sans avoir aucune information globale sur le système. Mais à la différence des autres projets, dans MACIV les agents ont la possibilité de former de coalitions virtuelles afin de gérer de manière commune une même tâche.

Partant de cette caractéristique, la coordination des négociations est envisagée sur deux niveaux. Le premier niveau est géré par un agent coordinateur qui en plus des fonctionnalités présentées auparavant, il a deux autres attributions : i) de former les possibles coalitions en fonction des premières propositions envoyées par les agents participants; et ii) de nommer un agent intra-coordonnateur dans chaque coalition. Le deuxième niveau est géré par l’agent nommé comme intra-coordonnateur dans une coalition.

Par la suite, le processus de négociation est divisé sur ces deux niveaux par deux protocoles de négociation.

Dans le premier, l’agent coordonnateur reçoit les propositions envoyées par les agents désignés comme coordonnateurs d’une coalition et les répond avec la meilleure proposition reçue jusqu’au moment considéré. Par la suite, les agents intra-coordinateurs essaient de négocier dans le cadre de leur coalition une meilleure proposition en utilisant un nouveau protocole. Donc, nous pouvons remarquer que l’agent intra-coordinateur gère deux types de conversations pilotées avec des protocoles de négociation différents. Cette coordination sur deux niveaux avec deux protocoles de négociation différents nous l’avons trouvée aussi dans ADEPT, la différence ici est que les agents dans les sous-groupes ou coalitions sont au même niveau d’autonomie et donc les processus de négociation sont plus compliqués.

Afin des soutenir cette approche sur la coordination, une politique globale est définie sur la manière dont les deux protocoles de négociations sont imbriqués.

Une négociation est considérée comme une succession des différentes étapes :

- dans la première étape l’agent coordinateur collecte les différentes propositions et il décide comment les agents peuvent s’organiser dans des coalitions. Par la suite, l’agent coordinateur a aussi le pouvoir de choisir quels seront les agents intra-coordinateurs dans chacune des alliances.

- dans la deuxième étape, le processus de négociation commence avec l’agent coordonnateur qui envoie la meilleure proposition qu’il a au moment respectif. Par la suite, la négociation continue avec plusieurs itérations d’échange des propositions et de contre-propositions.

- dans la troisième étape, afin d’essayer de construire une contra-proposition, chaque agent intra-coordinateur commence dans son alliance un processus de négociation. Si l’agent intra-coordinateur réussit de construire une proposition meilleure que celle envoyée par l’agent coordinateur, dans ce cas il envoie la contra-proposition, si non il se retire de la négociation.

- la dernière étape consiste dans une agrégation, au niveau de l’agent coordinateur, des toutes les propositions reçues de la part des agents intra- coordinateurs. L’agent coordinateur évalue les propositions et communique la meilleure réponse à tous les participants présents dans la négociation.

Ces deux dernières étapes sont répétées jusqu’à ce que une seule alliance reste ou que le temps disponible pour négocier soit écoulé.

Selon notre grille sur la coordination, dans les trois projets, la coordination d’une négociation est faite par une approche stratégique et globale, principalement par des protocoles de négociations complétés dans certains cas avec des différentes polices de coordination.

Egalement, la coordination est gérée de manière centralisée par un agent coordinateur (dans le projets ForEV et SMACE) et de manière distribuée par plusieurs agents coordinateurs (dans le projet MACIV). L’agent coordinateur a trois fonctionnalités : i) la première est de collecter les propositions envoyées par les agents participants ; ii) la deuxième est de répondre à chacune d’entre elles en lui spécifiant quelle est la manière de faire évoluer sa proposition et finalement iii) de décider qui est le gagnant en fonction des propositions reçues et du temps limite fixé pour la finalisation de la négociation.

Donc, dans MACIV le processus de coordination gère plusieurs négociations et il est distribué sur plusieurs agents. En revanche, le système envisage la coordination seulement au niveau des négociations faites sur une même tâche de négociation et donc des ensembles limités des dépendances sont envisagés et gérés. Egalement, un problème intéressant soulevé par cette approche est le fait que pour la même négociation et dans le même moment de temps, un agent peut être présent dans plusieurs coalitions. Dans MACIV ce problème a été considéré et résolu au niveau du système qui doit empêcher que ça se produit. Par contre, en se positionnant du coté de l’agent omniprésent d’autres questions différentes sur la coordination peuvent être envisagées, comme : quelles sont les dépendances entre les propositions que l’agent omniprésent peut faire dans les différentes coalitions et comment il peut essayer de coordonner ces propositions ?

Documents relatifs