Algorithm 差分进化与遗传算法中的参数区间

Algorithm 差分进化与遗传算法中的参数区间,algorithm,optimization,genetic-algorithm,differential-evolution,Algorithm,Optimization,Genetic Algorithm,Differential Evolution,我习惯了这样一种方法,即遗传算法(GAs)中的每个参数都可以表示为二进制字符串,可以在指定的时间间隔内编码为实数 我目前正在编写一个差分进化(DE)代码,我没有读到任何关于参数间隔被控制的信息,就像它们在GA中一样,所以我对这个过程有点困惑。。。以下是我的问题: 1) 是否有任何东西控制DE中的参数间隔?我意识到任何人都可以根据自己的目的修改DE,但我对它的传统用法感到好奇 2) 我知道如何为初始随机总体指定间隔,但在变异和交叉操作中是否有任何限制间隔的因素 3) 如果参数没有任何界限,那么变异

我习惯了这样一种方法,即遗传算法(GAs)中的每个参数都可以表示为二进制字符串,可以在指定的时间间隔内编码为实数

我目前正在编写一个差分进化(DE)代码,我没有读到任何关于参数间隔被控制的信息,就像它们在GA中一样,所以我对这个过程有点困惑。。。以下是我的问题:

1) 是否有任何东西控制DE中的参数间隔?我意识到任何人都可以根据自己的目的修改DE,但我对它的传统用法感到好奇

2) 我知道如何为初始随机总体指定间隔,但在变异和交叉操作中是否有任何限制间隔的因素

3) 如果参数没有任何界限,那么变异和交叉操作是否可以自由探索所有空间


感谢您的时间。

差分进化过滤器通过将两个总体成员之间的加权差分向量添加到第三个成员来生成新的参数向量。如果所得向量产生的目标函数值低于预定总体成员,则新生成的向量替换与其进行比较的向量;否则,将保留旧向量。信息

1) 是否有任何东西控制DE中的参数间隔?我意识到任何人都可以根据自己的目的修改DE,但我对它的传统用法感到好奇

在德,你有他们所谓的策略。有很多:

1 --> DE/best/1/exp           6 --> DE/best/1/bin
2 --> DE/rand/1/exp           7 --> DE/rand/1/bin
3 --> DE/rand-to-best/1/exp   8 --> DE/rand-to-best/1/bin
4 --> DE/best/2/exp           9 --> DE/best/2/bin
5 --> DE/rand/2/exp           else  DE/rand/2/bin
您可以在Matlab中找到代码

2) 我知道如何为初始随机总体指定间隔,但在变异和交叉操作中是否有任何限制间隔的因素

变异和交叉受到您选择的策略的限制

3) 如果参数没有任何界限,那么变异和交叉操作是否可以自由探索所有空间

从理论上讲,如果你在所有解空间内设定极限,DE将找到全局最优解。然而,根据我的经验,我注意到初始参数和解空间中的限制对于获得快速响应非常重要。简单地说,如果您对解决方案的位置有一点了解,那么如果您将参数限定在这些值内,DE将表现得更好