Replace 人口更替
寻找一种方法,在不同的GA迭代中重复使用50%的先前种群最佳个体 例如,在进程内的当前迭代结束时,执行“population=ga.getPopulation()”。下一次迭代初始化该pop的50%Replace 人口更替,replace,population,pyevolve,Replace,Population,Pyevolve,寻找一种方法,在不同的GA迭代中重复使用50%的先前种群最佳个体 例如,在进程内的当前迭代结束时,执行“population=ga.getPopulation()”。下一次迭代初始化该pop的50% 有人知道如何处理人口结果吗 应用于此问题的代码片段 所需功能: def createOwnGen(self , ga_engine): gen = ga_engine.getCurrentGeneration() if gen == 0 and self.previo
有人知道如何处理人口结果吗 应用于此问题的代码片段 所需功能:
def createOwnGen(self , ga_engine):
gen = ga_engine.getCurrentGeneration()
if gen == 0 and self.previous_population != []:
population = ga_engine.getPopulation()
popSize = len(population)
for i in xrange(popSize/2):
population[popSize/2+i] = self.previous_population[i]
population.sort()
return False
stepCallback(pyevolve的本机函数)在每一代中都被调用
....
ga.stepCallback.set(self.createOwnGen)
....
bestIndividue = ga.bestIndividual()
population = ga.getPopulation()
self.previous_population = population.internalPop
....
您可以使用方法
setElistismReplacement
()来定义Elistism将使用的个人数量。仅用于记录。SetElistismReplacement将是一个很好的解决方案,以防指定
1 GA完整运行中精英化的个人数量。在每一代人中,只有那么多的个体会被选为下一代
我的意思是在不同的运行中,存储所有代中实现的最佳总体,并重用以前最佳结果的50%来初始化下一次运行
无论如何,已经发布了一个示例