在DEAP中执行清除程序

问题描述 投票:0回答:1

清除程序(Petrowski 96)是解决多峰问题的一种利基方法。是否可以通过DEAP使用清除程序?

对于其他共享方法,只需修改适应度功能。因此,这些方法很容易在DEAP框架中部署。但是,清除操作需要算法中的额外循环以更新每个人的适应性。是否有DEAP功能可以做到这一点?

python genetic-algorithm deap
1个回答
0
投票
仅仅改变适应度功能是不够的,因为您需要对所有个体进行额外的传递以根据附近优势个体的存在来更新其适应度。但是,您可以为此制定自己的算法。

一旦您定义了要根据Petrowski 96中所述的程序来遍历总体中所有个体以设置其适应性的程序,则>

def update_fitness(population): ... # set fitness of non-dominant individuals to 0 return population

然后您可以重新定义标准算法,例如eaMuPlusLambda

eaMuPlusLambda

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.