Après une semaine "off", je me suis de nouveau penché sur le problème de Seddiki que je trouve très intéressant.
J'ai automatisé le calcul par un algorithme qui n'est peut être pas optimal, mais qui est rapide à exécuter et pas trop mauvais. Il comporte plusieurs passes :
1) calcul de la moyenne entière des enveloppes par agent Moy = Arrondi(Ne / Na) = Arrondi(1400/30) = 47.
2) tri des centres par nb d'enveloppes décroissant.
3) affectation grossière de centres à tous les agents :
- Pour chaque agent, on affecte un centre (du plus "enveloppé" au moins "enveloppé") tant que le total des enveloppes obtenu est < Moy. Si le total est Moy, on s'arrête. S'il n'y a plus rien à ajouter, on retient le plus petit des centres > pour lequel le total est > Moy.
4) Cette affectation étant insuffisante, il reste des centres non affectés qu'on attribue en priorités aux agents qui ont le moins d'enveloppes.
5) On permute les centres entre les agents pour équilibrer le nombre d'enveloppes entre ceux-ci. Par exemple si l'agent X a un total de 40 enveloppes et l'agent Y un total de 50 enveloppes, et si X a un centre de 15 enveloppes et Y un centre de 20 enveloppes, on permute ces centres : X et Y se retrouvent donc avec 45 enveloppes chacun.
Dans la feuille 2, il suffit de clicker sur le bouton Calculer