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

Matlab 在遗传算法中,如果没有约束条件,如何初始化种群以及如何确定染色体长度?,matlab,genetic-algorithm,genetic-programming,Matlab,Genetic Algorithm,Genetic Programming,例如,当x的范围从-inf到inf时,如何最小化x^2? 如何选择染色体的初始长度? 如何确定初始人口? 我能用一种引导的方式而不是随机初始化吗?遗传算法通常在染色体表示中有一个固定的长度,如果长度会变化,我们将更多地讨论遗传编程 无论如何。我不知道是否有关于初始长度的规则,但你应该考虑一个允许个体提供良好初始结果的大小,但不是很大。您需要记住,GA/GP倾向于呈现 初始人口应该是您可以使用的最大数量,并且考虑到可用的计算能力,仍然能够在合理的时间内完成执行。根据我的经验,越多越好 关于初始化,

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

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

无论如何。我不知道是否有关于初始长度的规则,但你应该考虑一个允许个体提供良好初始结果的大小,但不是很大。您需要记住,GA/GP倾向于呈现

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

关于初始化,当然有几种种子技术,列举其中的一些,您应该能够找到关于它们的更多信息:最近邻(NN)、基因库(GB)、选择性初始化(SI)、排序总体(SP)

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