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

in genetic algorithm, how to initialize population and how to determine the length of chromosomes if there is no constraints?

例如,当x在-inf到inf之间时,如何最小化x^2? 如何选择染色体的初始长度? 如何确定初始种群? 我可以按照引导方式而不是随机初始化吗?

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

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

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

关于初始化,肯定有几种播种技术,this paper列举了其中的一些,你应该可以找到关于它们的更多信息:最近邻(NN),基因库(GB) , 选择性初始化 (SI), 排序种群 (SP).

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