我有一个运行良好的遗传算法。它拥有所有的标准算子,包括初始随机种群、交叉比、变异率、变异度等。
这工作得很好,我已经尽可能地调整和优化了超参数,包括一些自适应变体。每次都会破坏结果的一件事是当我实施精英主义时。我是否包括 1 个精英或一定比例的精英似乎并不重要。我尝试了 1% 到 10%,尝试了一个衰减变量,以便精英只能存活一定数量的世代,以及许多其他策略。每次我添加精英主义时,解决方案都会陷入局部最优,以至于无法逃脱。
大多数文献都建议拥有精英,但精英每次都毁了我的GA,没有失败。
想法?
我有一个运行良好的遗传算法。它拥有所有的标准算子,包括初始随机种群、交叉比、变异率、变异度等。
这工作得很好,我已经尽可能地调整和优化了超参数,包括一些自适应变体。每次都会破坏结果的一件事是当我实施精英主义时。我是否包括 1 个精英或一定比例的精英似乎并不重要。我尝试了 1% 到 10%,尝试了一个衰减变量,以便精英只能存活一定数量的世代,以及许多其他策略。每次我添加精英主义时,解决方案都会陷入局部最优,以至于无法逃脱。
大多数文献都建议拥有精英,但精英每次都毁了我的GA,没有失败。
想法?
在 GA 中有很多想法可以摆脱局部最优。一种解决方案是根据基于个人得分定义的概率为下一次迭代选择总体。在这种情况下,您有机会选择一个分数差的个体来逃避局部最优。
另一个有效的解决方案是使用突变率来摆脱局部最优。这样,您就可以顺利地提高费率,找到合适的费率。