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")

现在可以使用了。