Bonsoir Mic, Mytå, Zon, C@thy, et tous les amis d'XLD.
Je n'ai pas vu le temps passer dans le train, et voici la version n°4, que je vous consil d'ouvrir pour comprendre ma prose qui va suivre.
Je n'arrive toujours pas à optimiser dans tous les cas;
J'ai une solution (la jaune), où j'optimise en priorité les colonnes les plus élevées.
J'ai une solution, (la grise), où j'optimise en priorité les petites colonnes.
Le mieux par rapport à la version 3, c'est que je n'ai plus de cas aberrants avec des nombres négatifs.
Le problème, c'est que c'est parfois l'une, parfois l'autre la meilleure. (clique sur les 2 boutons exemple 1 et 2 pour voir, et j'ai un troisième exemple qui génère les valeurs initiales (bleues) au hasard). Il faut sans doute trouver un algorithme médian, mais je suis à court d'idée.
J'ai habillée ma feuille, pour donner des exemples, et pour essayer de comprendre.
J'ai eu aussi l'idée de lancer plusieurs fois ma troisième solution (aléatoire), et de mémoriser la fois où elle me donne le meilleur résultat. Tu peux le faire en cliquant sur le bouton "Boucle visible" pour voir comment cela fonctionne, et en mettant le nombre de calculs à faire dans l'itération (si tu ne rentre rien dans la boite de dialogue ouverte, une valeur sera saisie par défaut)
Ensuite, en faisant une boucle très longue (10000), on peux espérer avoir une solution proche de l'optimale (si on n'a vraiment pas de chance, on peut n'avoir que des solutions avec écarts importants). Dans ce cas, choisis le bouton "boucle invisible" pour gagner du temps (la macro shunte les affichages intermédiaires).
Bref, je me suis bien amusé, mais je n'ai pas la solution finale.
Je me pose une question sur mes calculs d'écarts moyens: ce nombre qu'il faut minimiser représente-t-il bien ce que l'on cherche? a priori, oui, puisque cela correspond pour l'exemple 1 (le tien)
Bon, je n'aurai malheureusement plus autant de temps ces jours-ci, alors j'espère que Mytå et Zon auront plus de réussite. Ceci-dit, je suis d'accord avec toi, cet exercice est assez intéressant, et même très prenant!
Good luck.