Ce qui est trop bon, c'est que j'avais tanné JMB à l'époque pour qu'il bosse sur un script qui fasse le travail automatiquement, et qu'il l'avait fait. Sauf que le boulot n'était pas fignolé, et que le script est resté dans un carton (enfin, dans un fichier non rendu public). C'est dommage, parce que j'avais un peu réfléchi sur plusieurs stratégies pour aboutir à des solutions et que ça n'avait pas l'air trop mal, mais bon :)
En tout cas, à l'époque où j'achetais encore des cartes (diantre, je ne peux pas me souvenir quand c'était sans devoir me concentrer), je faisais exactement comme évoqué par papaoursdelux et détaillé par Madmox, avec le rajout suivant :
* d'abord, je clique sur mes vendeurs préférés (parce qu'ils sont fiables, rapides, ont un grand sourire et un grand stock) : canard99, MagicB. Quand mes vendeurs préférés n'ont pas l'intégralité de ce que je veux, il me reste donc une liste de cartes (petite). Alors, là, je commence par la carte qui a le moins de vendeurs, je regarde pour chacun de ces vendeurs (par la méthode décrite) les cartes qu'ils ont à la vente, je prends celui qui en a le plus, je retire les cartes de la liste, et je recommence. On obtient donc un algorithme glouton (oui, c'est le nom) qui termine forcément (parce qu'à chaque itération, il reste de moins en moins de cartes à acheter) et qui, parce qu'on n'est pas dans un matroïde (oui, c'est le nom), ne garantit pas forcément l'optimalité, mais en pratique ça ne m'a jamais demandé plus de 4 vendeurs différents. Donc je n'ai jamais cherché à optimiser encore plus.
Sachant que de toute façon, au bout d'un moment, c'est le temps de choix des cartes qui coûte plus cher que les timbres supplémentaires et/ou les "petits suppléments" à payer quand on se fournit en cartes au même endroit plutôt que de se fournir à chaque fois auprès du "moins cher". Bah oui, on a tendance à l'oublier, mais quand on passe du temps, c'est aussi du temps en moins qu'on a pour d'autres trucs, et ça a un coût. Personnellement, je n'ai pas envie de me rétribuer moins de 15€ de l'heure pour une tâche complexe (ordre de grandeur), et donc si je passe 20 minutes pour gagner moins que 5€, c'est que j'ai perdu de l'argent et j'aurais mieux fait de commander tout de suite sans chercher à optimiser...
|