为什么差异进化如此有效?

时间:2018-11-29 19:56:54

标签: evolutionary-algorithm mutation differential-evolution

differential evolution中的突变背后的想法是什么,为什么这种突变表现良好? 我看不出背后有任何好的几何原因。

有人可以给我指出一些技术上的解释吗?

1 个答案:

答案 0 :(得分:2)

与所有进化算法一样,DE使用启发式算法,因此我的解释将有些麻烦。像所有进化算法一样,DE试图做的是进行不是随机的随机搜索。 DE的变异算子首先计算种群的两个随机成员之间的向量,然后将该向量添加到种群的第三个随机成员中。这之所以行之有效,是因为它使用当前人口作为一种方法,可以确定要执行的步骤的大小以及方向。如果人口分布广泛,那么采取较大的措施是合理的。如果集中的话,那么采取一些小步骤是合理的。

有很多原因可以证明DE的性能比Goldberg的GA更好,但是我要说的是变量运算符,最大的不同是DE使用实数编码的变量,而GA使用二进制编码。在连续空间上进行优化时,二进制编码不是一个好的选择。自1990年代初以来,这一点就为人所知,最初由德国进化策略社区与主要美国遗传算法社区相遇的第一件事就是Deb的模拟二进制交叉。该运算符的作用类似于GA的交叉运算符,但是作用于实编码变量。