DEAP:遗传算法 - eval 函数
DEAP: Genetic algorithm - eval function
我是 Python 和 DEAP 的初学者,我正在尝试了解 TSP 的评估函数,来自:https://github.com/DEAP/deap/blob/master/examples/ga/tsp.py
def evalTSP(individual):
distance = distance_map[individual[-1]][individual[0]]
for gene1, gene2 in zip(individual[0:-1], individual[1:]):
distance += distance_map[gene1][gene2]
return distance,
在distance = distance_map[individual[-1]][individual[0]]
[individual[-1]][individual[0]]
表示之前和当前个人职位之间的差异?
在for gene1, gene2 in zip(individual[0:-1], individual[1:])
即个体值0:1
和1:
?
每个 individual
表示为一个 array
。 individual[-1]
和 individual[0]
分别指个体的最后一个和第一个基因(即数组中的元素)。所以 distance_map[individual[-1]][individual[0]]
是存储在 DistanceMatrix 中的这两个基因之间的距离。
individual[0:-1]
returns 包含 individual
除了最后一个基因的所有基因的数组。 individual[1:]
returns 包含 individual
所有基因的数组,第一个除外。
我是 Python 和 DEAP 的初学者,我正在尝试了解 TSP 的评估函数,来自:https://github.com/DEAP/deap/blob/master/examples/ga/tsp.py
def evalTSP(individual):
distance = distance_map[individual[-1]][individual[0]]
for gene1, gene2 in zip(individual[0:-1], individual[1:]):
distance += distance_map[gene1][gene2]
return distance,
在distance = distance_map[individual[-1]][individual[0]]
[individual[-1]][individual[0]]
表示之前和当前个人职位之间的差异?
在for gene1, gene2 in zip(individual[0:-1], individual[1:])
即个体值0:1
和1:
?
每个 individual
表示为一个 array
。 individual[-1]
和 individual[0]
分别指个体的最后一个和第一个基因(即数组中的元素)。所以 distance_map[individual[-1]][individual[0]]
是存储在 DistanceMatrix 中的这两个基因之间的距离。
individual[0:-1]
returns 包含 individual
除了最后一个基因的所有基因的数组。 individual[1:]
returns 包含 individual
所有基因的数组,第一个除外。