TP vente et double rôle : Acheteurs - Acheteurs/Vendeurs - Vendeurs

mercredi 2 décembre 2015
par  Emmanuel Adam
popularité : 5%

Il s’agit de gérer un échange de communication dans le cadre de la vente d’objets par internet.

Nous prendrons l’exemple classique de livres.

Des acheteurs cherchent à acquérir quelques exemplaires de différents livres.

Ils lancent pour cela un appel d’offre aux vendeurs et choisissent la meilleure offre.

La définition de la meilleure offre se base sur le prix, et la notoriété.


 Q1. Apprivoiser le code

(5 points)

Nous prendrons initialement 3 acheteurs :

  • pour 1 acheteur, la meilleure offre est basée sur 2/3 du prix + 1/3 de la notoriété
  • pour 1 acheteur, la meilleure offre est basée sur 1/2 du prix + 1/2 de la notoriété
  • pour 1 acheteur, la meilleure offre est basée sur le prix uniquement

Pour combiner prix et notoriété, par exemple a * prix + b * notoriété (avec a+b = 1)
la formule est la suivante :
valeurOffre = (b * notoriétéOffre/maxNotoriétés) - (a * prixOffre/maxPrixOffres)

Ainsi

  • pour le vendeur ayant la plus grande notoriété notoriétéOffre/maxNotoriétés = 1
  • pour le vendeur le plus cher prixOffre/maxPrixOffres = 1
  • donc à prix égal, si a =b = 1/2, le vendeur ayant la plus grande notoriété l’emporte

Une solution contenant un ContractNet utilisant prix et notoriété se trouve ici :
http://emmanuel.adam.free.fr/jade/achatVenteNotoriete.zip
la classe principale est ici LaunchSimu dans le package launch. Cette classe lance directement jade ainsi que les agents

Données : Lancez les agents suivants :

  • 4 vendeurs dont
    • 2 possèdent les livres a,b en 3 exemplaires, et les livres c,d en 10 exemplaires
    • 2 possèdent les livres a,b en 6 exemplaires, les livres c,d, en 5 exemplaires, et les livres e en 2 exemplaires
  • 3 acheteurs
    • a1 cherche à acquérir 3 exemplaires du livre a, et 5 du libre d
    • a2 cherche à acquérir 3 exemplaires du livre a, et 7 du livre d
    • a3 cherche à acquérir 8 exemplaires du livre b, 2 exemplaires des livres d,e

 Q2. Créer un rôle

(12 points)

Nous prendrons 10 vendeurs, dont 4 sont des acheteurs/vendeurs.
C’est à dire que ces 4 agents reçoivent des appels d’offres, qu’ils relancent aux vendeurs pour répondre à l’acheteur avec un prix augmenté de p%, mais avec une notoriété plus importante du fait de campagnes publicitaires.


Données :

  • parmi les 10 vendeurs
    • 5 possèdent les livres a,b,c en 3 exemplaires, et les livres d,e,f,g en 10 exemplaires
    • 5 possèdent les livres a,b,c en 6 exemplaires, les livres d,e, en 5 exemplaires, et les livres f,g en 2 exemplaires
  • parmi les 5 acheteurs
    • a1 cherche à acquérir 3 exemplaires du livre a, et 5 du libre d
    • a2 cherche à acquérir 3 exemplaires du livre a, et 7 du livre d
    • a3 cherche à acquérir 8 exemplaires du livre b, 2 exemplaires des livres d,e,f,g
    • a4 cherche à acquérir 4 exemplaires du livre b, 3 exemplaires des livres d,e,f,g
    • a5 cherche à acquérir 1 exemplaire de chaque livre a,b,c,d,e,f,g

 Q3. Accepter plusieurs offres

(3 points)
Un acheteur est capable de combiner les offres pour obtenir le nombre d’objets désiré ; il accepte donc plusieurs offres mais sur des volumes limités.

Un vendeur peut proposer une offre même s’il n’a pas tout le volume demandé (si l’acheteur demande 5 exemplaire du livre ’a’ et que le vendeur n’en a que 3, il les propose tout de même).