【问题标题】:Genetic algorithms : An example with an initial population of size N遗传算法:初始种群大小为 N 的示例
【发布时间】:2015-02-06 14:31:43
【问题描述】:

我了解遗传算法的重要部分,例如适应度、选择方法、变异、交叉等,但我从来没有看到过一个例子来说明下一代如何保持与上一代相同的大小。

可能因此,我尝试编写的所有代码都导致我的解决方案陷入局部最小值。

例如,假设初始种群大小为 100。有人可以告诉我下一代如何保持在 100 大小的具体细分吗? (我知道有很多方法可以做到这一点,但其中一种方法应该能让我走上正轨)。

例如

1. Choose 20 best solutions using roulette wheel selection 
2. ...
...
k. You now have 100 solutions. Use this as your new population and repeat from step 1

非常感谢。

【问题讨论】:

    标签: algorithm genetic-algorithm


    【解决方案1】:

    有几种策略可以将人口规模保持在固定值。例如,您可以首先将后代添加到整个种群中,评估新个体,然后按适应度值对种群进行排序,并继续杀死最差的个体,直到达到所需的大小。这种方法在文献中被称为“mu+lambda”(因为 mu 常用于表示种群大小,而 lambda 表示每一代产生的后代的大小)。

    在伪代码中:

    1. Generate initial population (size mu)
    2. Evaluate initial population
    3. Choose parent individuals and produce offspring (size lambda)
    4. Evaluate offspring, then add offspring to population
    5. Sort population (now of size mu+lambda) by fitness value
    6. Kill the worst individuals until population is again of size mu
    7. Unless a termination condition is satisfied, goto 3
    

    文献中还有其他解决方案:另一个流行的选项是“mu,lambda”,其中固定部分的人口被后代取代,无论它们的价值如何,但我认为最好以“ mu+lambda" 策略,然后看看它是否适合您的问题。

    【讨论】:

    • 谢谢!我会尝试使用这个策略,看看效果如何。
    【解决方案2】:

    一个非常简单且易于实现的方法称为Microbial Genetic Algorithm,它将确保种群规模保持不变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-09
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      • 2020-07-11
      • 2016-10-19
      • 2015-07-26
      相关资源
      最近更新 更多