遗传算法 - 种群



种群是当前代中解的一个子集。它也可以定义为一组染色体。在处理 GA 种群时,需要注意以下几点:

  • 应保持种群的多样性,否则可能会导致早熟收敛。

  • 种群规模不应过大,因为它会导致 GA 速度变慢,而较小的种群可能不足以形成良好的交配池。因此,需要通过试错来确定最佳的种群规模。

种群通常定义为一个二维数组 - **种群规模,x 大小,染色体大小**。

种群初始化

在 GA 中初始化种群主要有两种方法。它们是:

  • **随机初始化** - 用完全随机的解填充初始种群。

  • **启发式初始化** - 使用已知的启发式算法填充初始种群。

据观察,不应使用启发式算法初始化整个种群,因为它会导致种群具有相似的解并且多样性非常低。实验观察表明,随机解是推动种群达到最优性的关键。因此,在启发式初始化中,我们只用几个好的解来填充种群,其余部分则用随机解填充,而不是用基于启发式的解填充整个种群。

还观察到,在某些情况下,启发式初始化只会影响种群的初始适应度,但最终,导致最优性的是解的多样性。

种群模型

两种广泛使用的种群模型:

稳态

在稳态 GA 中,我们在每次迭代中生成一个或两个后代,它们替换种群中的一个或两个个体。稳态 GA 也称为**增量 GA**。

代际

在代际模型中,我们生成 'n' 个后代,其中 n 是种群规模,并在迭代结束时用新的种群替换整个种群。

广告

© . All rights reserved.