Bonjour, je débute avec les algorithme génétique. J’ai lu 3-4 tutos la dessus qui m’ont beaucoup aidé à comprendre le fonctionnement mais hélas je ne sait pas comment régler mon probleme que je tente de résoudre avec. avant de parler de mon probleme, je me suis surtout basé sur ce tuto qui ressemble je trouve à mon problème :http://antoinevastel.github.io/algorithme/python/algorithmes%20génétiques/2016/04/30/probleme-voyageur-commerce.html
Bon alors je vous explique, je cherche à mettre au point un programme visant à optimiser un système en fonction des paramètres qu’il reçoit. Mon programme vas donc devoir faire varier ces paramètres pour essayer de trouver la meilleur combinaison possible.
voici un code simplifier de mon problème :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | parameters=[["toto1","toto2","toto3"],["tutu1","tutu2","tutu3"],["titi1","titi2","titi3"],["tata1","tata2","tata3"]] def MonSysteme(param1,param2,param3,param4): result=0 for i in range(0,len(param1)): result+=ord(param1[i]) for i in range(0,len(param2)): result+=ord(param1[i]) for i in range(0,len(param3)): result+=ord(param1[i]) for i in range(0,len(param4)): result+=ord(param1[i]) return result print(MonSysteme(parameters[0][0],parameters[1][2],parameters[2][2],parameters[3][0])) print(MonSysteme(parameters[1][0],parameters[2][2],parameters[3][2],parameters[0][0])) print(MonSysteme(parameters[3][1],parameters[1][2],parameters[2][2],parameters[0][0])) #comment trouver la valeur le plus élevé ? |
je cherche à (essayer) trouver le nombre le plus élevé, sans pour autant tester tous les parametres naivement. d’ou l’utilisation d’un algorythme génétique. 1 parametre c’est une liste contenue dans la liste parameters, le contenue de la liste c’est une varariante de mon parametre
sachant que dans ma fonction/mon systeme, on ne doit pas avoir 2 fois le même paramètre, par exemple ceci ne doit pas se produire : print(MonSysteme(parameters[1][0],parameters[1][0])) ou ceci print(MonSysteme(parameters[2][1],parameters[2][0]))
par contre le nombre de paramètre est compris en 1 et 4 (il peut y avoir 1,2,3 ou 4 paramètres)
Pour résoudre mon probleme voila les données que je considere : Individu : c’est une variante de paramètre qui porte un nom ("toto1","tata3","toto2=12"…etc.) Population : ensemble des variantes des paramètres fitness: c’est le résultat de la fonction en fonction des parametres un circuit: un ensemble de parametre
mais contrairement au voyageur du commerce, j’ai pas de données de départ => c’est a dire que je n’ai pas de coordonnées gps. et c’est à ce niveau que je suis bloqué pour la résolution de mon probleme.
quelqu’un peut t’il m’aider ?