Mlrose TSPOpt遗传算法自带成本函数



我想为自己的TSP问题编写自己的成本函数。我不想使用mlrose,因为我想随着时间的推移优化真正的坐标。

首先,我创建了一个coords_List,它看起来像这样:[(49.321,8.213(,[50.2321,9.124]…(

然后我创建了自己的适应度函数,它接受猜测数组并返回一个浮点值。

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)

返回:

Exception: fitness_fn must have problem type 'tsp'.

现在我设置了这样的代码:

fitnessF =  mlrose.TravellingSales(check_fitness)

现在它将返回:

object of type 'function' has no len()

提前感谢

Ps:我也准备通过电子邮件分享我的笔记本

我可以弄清楚问题出在哪里。我必须定义我的自定义适应度函数,这是正确的,但对于TSP,我必须添加问题类型:

fitnessF=mlrose。CustomFitness(coords_list,"tsp"(

现在它会起作用的。

最新更新