清除程序(Petrowski 96)是解决多峰问题的一种利基方法。是否可以通过DEAP使用清除程序?
对于其他共享方法,只需修改适应度功能。因此,这些方法很容易在DEAP框架中部署。但是,清除操作需要算法中的额外循环以更新每个人的适应性。是否有DEAP功能可以做到这一点?
一旦您定义了要根据Petrowski 96中所述的程序来遍历总体中所有个体以设置其适应性的程序,则>
def update_fitness(population):
... # set fitness of non-dominant individuals to 0
return population
然后您可以重新定义标准算法,例如eaMuPlusLambda
eaMuPlusLambda