【问题标题】:DEAP eaSimple algorithm with odd number of individuals具有奇数个体的 DEAP eaSimple 算法
【发布时间】:2019-11-05 17:39:02
【问题描述】:

documentation for the eaSimple algorithm 声明父母被分成连续的个体对,每对产生两个后代。

首先,使用 toolbox.clone() 方法并将结果放入后代中 人口宝。 Po 上的第一个循环被执行以配对 连续的个人。根据交叉概率 cxpb, 个体 xi 和 xi+1 使用 toolbox.mate() 方法进行配对。 由此产生的孩子 yi 和 yi+1 在 宝。

如何处理具有奇数个体的群体中的最后一个个体?它是否从未与另一个个体交配,只是发生了变异?

【问题讨论】:

    标签: python deap


    【解决方案1】:

    the code 来看,人口中有一个循环,它将个体配对以在varAnd 中进行交叉:

    for i in range(1, len(offspring), 2):
    

    这意味着如果有奇数个个体,一个个体将永远不会交配。

    变异的循环是

    for i in range(len(offspring)):
    

    所以每个人都会发生变异。

    结论:确实,具有奇数个体的群体中的最后一个个体可能会发生突变,但永远不会用于交叉。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 2019-12-26
      • 2023-01-09
      • 2022-01-13
      • 1970-01-01
      • 2018-01-18
      • 1970-01-01
      相关资源
      最近更新 更多