Bonjour,

Voici le problème auquel je suis confronté :

Un village est isolé, sont activité est la fonte de métaux précieux qui leur sont vendus par une banque de métaux. Ils craignent que cette banque puisse faire faillite et veulent maintenir une réserve de métaux pour tenir 1 mois.

Dans le village il y a N habitants qui peuvent échanger librement et sans frais auprès de la banque de métaux précieux K métaux différents.
Pour l'exemple, mettons qu'il y ai 2 habitants et 3 métaux, Alfred a 10€ d'or, 20€ de platine et 30€ d'argent ; Béatrice a 30€ d'or, 20€ de platine et 10€ d'argent.

Les habitants souhaitent mutualiser leurs biens afin de constituer une cagnotte globale pour les besoins de l'ensemble du village en métaux au cas où la banque des métaux ferait faillite, pour tenir 1 mois. Les besoins du village afin de prévoir cette réserve de sécurité sont dans le vecteur B et changent régulièrement.
Pour l'exemple, le village a besoin de 60€ d'or, 10€ de platine et 50€ d'argent.

La question est la suivante, selon quel processus, quel algorithme, les habitants doivent-ils échanger leurs métaux auprès de la banque afin que l'ensemble de leurs biens matchent avec le vecteur B et ceci en minimisant le nombre de transactions ? On précise que la somme des éléments du vecteur B est toujours égale à la somme des possessions des habitants

Dans l'exemple quels échanges Alfred et Béatrice doivent-il faire pour que la somme de leurs deux stocks de métaux soit 60€ d'or, 10€ de platine et 50€ d'argent en un minimum d'échanges ?