2

我正在研究使用混合 BLX-alpha 交叉的遗传算法。

我发现了 2 种算法,在我看来它们彼此完全不同

  1. https://yadi.sk/i/u5nq986GuDoNm - 第8页
    交叉如下
    :选择 2 个父母:G1、G2
    b. 从 [-alpha, 1 + alpha] 生成均匀分布的随机数 gamma,其中 alpha = 0.5
    c。按如下方式生成后代:G = gamma * G1 + (1 - gamma) * G2
  2. http://www.tomaszgwiazda.com/blendX.htm
    交叉如下
    :从父池中选择两个父池 X(t) 和 Y(t)

    湾。创建两个后代 X(t+1) 和 Y(t+1),如下所示:

    C。对于 i = 1 到 n 做

    d。di=|xi(t)-yi(t)|

    e. 从区间中选择一个统一的随机实数 u

    F。xi(t+1)=u

    G。从区间中选择一个统一的随机实数 u

    H。yi(t+1)=u

    一世。结束做

其中: a - 正实参数
xi, yi - 父级的第 i 个分量
di - 父级之间的距离

这两种算法中哪一种是正确的?或者他们是平等的?在我的任务中,我使用的是第二种方法,因为第一种方法提供了不令人满意的结果。我关心这个问题,因为我正在研究 GA,应该使用第一个算法。

任何帮助,将不胜感激!

4

1 回答 1

2

您可以搜索首次引入 BLX-alpha 交叉的论文“Real-Coded Genetic Algorithms and Interval Schemata”。

本文介绍了第一种算法。

至于第二个,我认为在产生后代的方式上与第一个相等。因为第二个algs一次产生两个后代,它有更多机会获得更好的个体。但它也需要更多的FE。

于 2016-08-16T03:56:57.980 回答