【发布时间】:2017-11-26 05:51:03
【问题描述】:
我刚刚开始使用 DEAP。之前,我使用基于Matlab的遗传算法,经过交叉和变异后,选择指定大小的更好个体,然后更新种群。但是我很难理解为什么在 DEAP 中需要在交叉和变异过程之后评估具有无效适应度的个体:
invalid_ind = [ind for ind in offspring if not ind.fitness.valid]
fitnesses = map(toolbox.evaluate, invalid_ind)
for ind, fit in zip(invalid_ind, fitnesses):
ind.fitness.values = fit
我试过删除那些代码,但算法似乎永远不会收敛。甚至我也没有看到那些可以更新人口/后代,所以这些有什么用。提前谢谢!!!
【问题讨论】:
标签: python genetic-algorithm deap