J'essaie de résoudre un problème (en PHP, mais le langage de programmation n'a pas d'importance). Je vais avoir un n nombre de personnes qui ont payé l'argent, et j'ai un m nombre de personnes qui vont payer le même montant que la somme de ce que le n nombre de personnes ont payé . Je veux calculer l'itinéraire le plus court des transferts d'argent entre ces personnes. Il est possible de fractionner les paiements et de payer à différentes personnes. L'idéal est qu'une personne ne fasse qu'une ou deux transactions. Quelqu'un peut-il me diriger dans la bonne direction ou m'aider avec cela?Algorithme qui est une combinaison du problème du sac à dos continu et du problème d'empaquetage de la corbeille à taille variable
Un exemple: personne A a honoraires de 100 $
personne B a payé 200 $
personne C a payé 50 $
personne D paiera 24 $
personne E paiera 175
$personne F paiera 151 $
Une solution possible est
personne E paie 100 $ à la personne A,
personne E paie 75 $ à la personne B,
personne F paie 125 $ à la personne B,
la personne F paie 26 $ par personne C
personne D paie 24 $ par personne C
L'algorithme "Payer l'addition"? : D Cool! – gaborsch