有效实施


遗传算法本质上是非常通用的,仅仅将它们应用于任何优化问题不会给出好的结果。在本节中,我们将描述一些有助于和协助 GA 设计者或 GA 实施者工作的要点。

介绍特定问题的领域知识

据观察,我们将更多针对特定问题的领域知识纳入 GA 中;我们获得的客观价值就越高。添加问题特定信息可以通过使用特定于问题的交叉或变异运算符、自定义表示等来完成。

下图显示了 Michalewicz (1990) 对 EA 的看法 -

有效实施

减少拥挤

当高度适应的染色体大量繁殖时,就会发生拥挤,并且在几代之后,整个种群都充满了具有相似适应度的相似解决方案。这减少了多样性,而多样性是确保 GA 成功的一个非常关键的因素。有很多方法可以限制拥挤。其中一些是 -

  • 突变引入多样性。

  • 对于具有相似适应度的个体,切换到排名选择锦标赛选择,这比适应度比例选择具有更大的选择压力。

  • 健身共享- 在这种情况下,如果群体中已经包含相似的个体,则个体的健身度会降低。

随机化有帮助!

实验观察到,最好的解决方案是由随机染色体驱动的,因为它们赋予种群多样性。GA 实施者应小心保持群体的足够随机性和多样性,以获得最佳结果。

将 GA 与本地搜索混合

局部搜索是指检查给定解的邻域内的解,以寻找更好的目标值。

有时将遗传算法与本地搜索混合起来可能很有用。下图显示了 GA 中可以引入本地搜索的各个位置。

杂交遗传算法

参数和技术的变化

在遗传算法中,不存在“一刀切”或适用于所有问题的神奇公式。即使在初始 GA 准备好之后,也需要花费大量的时间和精力来研究种群大小、变异和交叉概率等参数,以找到适合特定问题的参数。