【问题标题】:Genetic Algorithm - Premature Convergence遗传算法 - 过早收敛
【发布时间】:2018-03-13 21:38:12
【问题描述】:

我正在尝试实现解决 TSP 的遗传算法。它适用于少数城市(比如 10 个)的 TSP 并产生最佳解决方案。然而,当城市数量增加到50个城市时,它过早地收敛。我尝试更改参数(突变概率、交叉概率、初始种群大小、生成数),但它仍然没有收敛到最优解。

我实现的算法如下:

Create an initial population randomly of size p
Calculate the fitness 
Pick p/2 random individuals to the parents
While counter < p/2
     pick parent1 and parent2 by tournament selection
     child1, child2 = mutate and crossover parent1 and parent2
     add child1 and child2 to new population
pick p/2 distinct individuals from initial population and store in new population

谁能告诉我我做错了什么?

【问题讨论】:

  • 谁说遗传算法是防弹的?

标签: optimization genetic-algorithm convergence


【解决方案1】:

通常,您需要在进化过程中调整突变率,我看您在这里没有这样做。

从一个高突变开始,让它有机会找到一些可能的“进化路径”(尽管认为高突变取决于应用程序,您需要尝试一下),然后随着时间的推移降低突变以防止零星的变化阻碍进展。

您可以使突变率成为当前世代、当前错误或两者的函数。

但正如评论者所提到的,GA 并不能保证给您最佳结果。在处理巨大的解决方案空间时,它们通常会给您“可接受的”结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 2020-12-03
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    相关资源
    最近更新 更多