遗传算法 - 人口
人口是当前一代解决方案的子集。它也可以被定义为一组染色体。处理 GA 群体时需要牢记以下几点 -
应保持种群的多样性,否则可能导致过早收敛。
种群规模不应保持太大,因为这会导致 GA 速度减慢,而较小的种群可能不足以形成良好的交配池。因此,最佳种群规模需要通过反复试验来确定。
种群通常被定义为二维数组——种群大小、x 大小、染色体大小。
群体初始化
在 GA 中初始化种群有两种主要方法。他们是 -
随机初始化- 用完全随机的解决方案填充初始群体。
启发式初始化- 使用问题的已知启发式填充初始群体。
据观察,整个群体不应该使用启发式进行初始化,因为它可能导致群体具有相似的解决方案和很少的多样性。实验观察到,随机解决方案是推动群体达到最优的解决方案。因此,通过启发式初始化,我们只需用几个好的解决方案为群体播种,用随机解决方案填充其余部分,而不是用基于启发式的解决方案填充整个群体。
还观察到,在某些情况下,启发式初始化仅影响总体的初始适应度,但最终,解决方案的多样性导致了最优性。
人口模型
有两种广泛使用的人口模型 -
稳定状态
在稳态遗传算法中,我们在每次迭代中生成一两个后代,它们替换种群中的一两个个体。稳态 GA 也称为增量 GA。
世代相传
在世代模型中,我们生成“n”个后代,其中 n 是种群大小,并且在迭代结束时整个种群被新种群替换。