在遗传算法中,如果没有约束,如何初始化种群以及如何确定染色体的长度?

时间:2016-01-14 23:49:05

标签: matlab genetic-algorithm genetic-programming

例如,当x的范围从-inf到inf时,如何最小化x ^ 2? 如何选择染色体的初始长度? 如何确定初始人口? 我可以采用引导方式而不是随意初始化吗?

1 个答案:

答案 0 :(得分:1)

遗传算法通常在染色体表示中具有固定的长度,如果长度不同,我们更多地谈论遗传编程。

反正。我不知道初始长度是否有规则,但您应该考虑允许个人提供良好初始结果的大小,但不是很大。您需要记住GA / GP倾向于呈现Bloat

初始人口应该是您可以使用的最大人口,并且仍然能够在合理的时间内完成您的执行,因为您的计算能力可用。根据我的经验,更多总是更好。

关于初始化,肯定有几种播种技术,this paper枚举其中一些,你应该能够找到关于它们的更多信息:最近邻(NN),Gene Bank(GB),选择性初始化(SI),分类人口(SP)。

对于上述所有问题,最好的方法是进行大量实验,找出最适合您的问题和实施的方法。例如:在一个系统中,我有最好的解决方案通常是70个节点;经过大量的实验,我发现了45个节点的初始个体的最佳位置,这比初始化为30或60时更好。

相关问题