Mlrose TSPOpt 遗传算法自带代价函数
Mlrose TSPOpt Genetic Algorithm own cost function
我想为自己的 TSP 问题编写自己的成本函数。我不想使用 mlrose 那个,因为我想随时间优化实际坐标。
首先,我创建了一个如下所示的 coords_List:[(49.321,8.213),[50.321,9.124]...)
然后我创建了自己的适应度函数,它接受猜测数组和 return 一个浮点数。
fitnessF = mlrose.CustomFitness(coords_list)
现在我设置了mlRose:
problem_fit = mlrose.TSPOpt(length = len(coords_list),fitness_fn =fitnessF, maximize=False)
best_state, best_fitness = mlrose.genetic_alg(problem_fit, random_state = 2)
这个returns:
Exception: fitness_fn must have problem type 'tsp'.
现在我这样设置代码:
fitnessF = mlrose.TravellingSales(check_fitness)
现在 return:
object of type 'function' has no len()
提前致谢
Ps: 我也准备通过电子邮件分享我的笔记本
我能找出问题出在哪里。我必须定义我的自定义适应度函数是正确的,但是对于 TSP 我必须添加问题类型:
健身 F = mlrose.CustomFitness(coords_list,"tsp")
现在可以使用了。
我想为自己的 TSP 问题编写自己的成本函数。我不想使用 mlrose 那个,因为我想随时间优化实际坐标。
首先,我创建了一个如下所示的 coords_List:[(49.321,8.213),[50.321,9.124]...)
然后我创建了自己的适应度函数,它接受猜测数组和 return 一个浮点数。
fitnessF = mlrose.CustomFitness(coords_list)
现在我设置了mlRose:
problem_fit = mlrose.TSPOpt(length = len(coords_list),fitness_fn =fitnessF, maximize=False)
best_state, best_fitness = mlrose.genetic_alg(problem_fit, random_state = 2)
这个returns:
Exception: fitness_fn must have problem type 'tsp'.
现在我这样设置代码:
fitnessF = mlrose.TravellingSales(check_fitness)
现在 return:
object of type 'function' has no len()
提前致谢
Ps: 我也准备通过电子邮件分享我的笔记本
我能找出问题出在哪里。我必须定义我的自定义适应度函数是正确的,但是对于 TSP 我必须添加问题类型:
健身 F = mlrose.CustomFitness(coords_list,"tsp")
现在可以使用了。