Bonsoir à tous,
Tu as 3^13 soit 1 594 323 combinaisons de sommes possibles.
Ça n'est pas énorme, tu peux tester toutes les possibilités et identifier les sommes qui t'intéressent.
Pour cela, tu peux utiliser l'écart-type des sommes obtenues et tu choisis le minimum.
Tu peux le faire manuellement (ça fait un gros fichier) ou l'automatiser par macro.
En dehors de ces 2 solutions, tu peux envisager le solver.
Mais pour garder la linéarité de l'objectif (mode simplexe oblige) tu seras surement obligé de le paramétrer en 3 sous-modèles qui te donneront chacun une solution. Tu choisiras la meilleure parmi les 3.
Tu pourrais utiliser les autres mode du solver mais tu n'auras plus l'optimum (généralement).
L'approche exhaustive (manuelle ou macro) te donnera toutes les solutions (dans ton exemple, il y a 2 optima).
Le solver ne te donnera qu'une solution. C'est déjà ça!
Pour l'approche exhaustive, tu écris tous les nombres de 0 à 3^13 moins 1 en base 3 sur 13 positions.
Tu auras donc des séquences de 13 chiffres de 0 à 2 pour représenter un de ces nombres.
Chaque nombres en base 3 sera une somme :
quand un 0 apparaît en position i du nombre, le ième nombre de la colonne 1 sera à intégrer dans la somme de la colonne 1
quand un 1 apparaît en position i du nombre, le ième nombre de la colonne 2 sera à intégrer dans la somme de la colonne 2
quand un 2 apparaît en position i du nombre, le ième nombre de la colonne 3 sera à intégrer dans la somme de la colonne 3
Par exemple, le nombre 1 464 058 donne 2202101022101 en base 3 et correspond à une combinaison de sommes optimale : 164,5 164,325 et 164,5 avec un écart type minimal de 0,082495791.
Si tu échanges le chiffre en 2ème position et celui en avant dernière position, tu auras aussi une combinaison de sommes optimale.
L'écriture en base 3 te permet d'adresser chaque colonne avec un chiffre (0, 1 ou 2). Il ne peut donc y avoir qu'un chiffre par ligne utilisé.
L'écriture sur 13 positions garantit que toutes les lignes seront utilisées.
Je pense que ce que tu recherches correspond à la version macro de cette approche.
Approche solver :
Le principe est de minimiser les écarts de chaque sommes de colonnes. Ce sera donc une minimisation.
Tu utiliseras un tableau de 13 lignes par 3 colonnes de variables binaires.
Tu feras un sommeprod entre chaque colonne de variables binaires et la colonne correspondante de tes données chiffrées pour obtenir la somme de chaque colonne.
Tu ajouteras une colonne de 13 contraintes indiquant que la somme de chaque ligne du tableau de variables binaires vaut 1.
Quand tu seras arrivé là, on pourra rediscuter.
Petite question :
Pourquoi veux-tu résoudre ce problème?
Un exo à faire? un boulot à rendre?
Tu t'y connais un peu en algorithmique ou tout ce que j'ai écrit est du charabia?
Commencer par ta question sur la combinatoire de sommes pour apprendre excel, c'est chaud.
Cordialement