python遗传算法求最优解

2024-09-30 16:33:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我解释说,我正在尝试开发一个程序,根据它接收到的参数来优化系统。我的程序将不得不改变这些参数,试图找到最好的组合。在

以下是简化我的问题的代码:

parameters=[["toto1","toto2","toto3"],["tutu1","tutu2","tutu3"],["titi1","titi2","titi3"],["tata1","tata2","tata3"]]

def MySysteme(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(MySysteme(parameters[0][0],parameters[1][2],parameters[2][2],parameters[3][0]))
print(MySysteme(parameters[1][0],parameters[2][2],parameters[3][2],parameters[0][0]))
print(MySysteme(parameters[3][1],parameters[1][2],parameters[2][2],parameters[0][0]))


#how to find the highest value?

我尝试(尝试)找到最高的数字,而不是天真地测试所有参数。因此使用了遗传算法。1参数是列表中包含的参数,列表的内容是我参数的变量

知道在我的函数/我的系统中,一个人不应该有2倍于同一个参数,例如:print(MySystem(参数[1][0],parameters[1][0])或this print(MySystem(parameters[2][1],parameters[2][0])

另一方面,参数的数量包含在1和4中(可以有1、2、3或4个参数)

解决我的问题的是我考虑的数据:个人:它是参数的一个变量,它带有一个名称(“toto1”,“tata3”,“toto2=12”。。。种群:参数适应度的一组变量:它是根据参数函数的结果一个电路:一组参数

但与商务旅行者不同,我没有起始数据,也就是说我没有GPS坐标。正是在这个层次上,我被困在解决我的问题上。在

有人能帮我吗?在

编辑:

我一直在寻找一些例子,说明如何使用Python中的遗传算法来找到函数达到最大值的点。我看了这个教程 https://lethain.com/genetic-algorithms-cool-name-damn-simple/

我的目标是找到一个较小的数来实现mySysteme函数 我设置了一个新代码: 我再解释一个问题加上简单。J'ai mets联合国代码加上完成,加上克莱尔avec的算法génétique。在

^{pr2}$

我更新了新代码。我的问题是:我希望我的程序找到更小的数字


Tags: 函数代码in程序for参数len系统