我正在写一个GA而且我不确定在选择父母的时候我是想在我的人群中找到每个使用锦标赛选择的父母,或者我是否想找到两个使用旅行选择的父母对于我的人口中的每个解决方案。
是哪一个?
答案 0 :(得分:4)
我不太清楚你的建议选择之间的区别是什么意思,但一般来说,它的工作方式是你挑选两个随机个体,保持最好的个体,然后成为父#1。然后你选择两个随机的人,保持最好的一个,它就成了父#2。然后这两个父母重新组合产生进入儿童群体的后代。重复,直到你有足够的后代。
因此,您使用以下循环生成子群体。 (您可以为每组父母生成多个后代...调整循环边界以适合您的情况。)
for i = 1 to N
pick individual t1 at random from parent population
pick individual t2 at random from parent population
parent1 = winner(t1, t2)
pick individual t1 at random from parent population
pick individual t2 at random from parent population
parent2 = winner(t1, t2)
generate offspring from parent1, parent2
mutate offspring
evaluate offspring
add offspring to child population
end for