0.25 的交叉指数在真实编码的遗传算法中意味着什么?
What does crossover index of 0.25 means in Genetic algorithm for real encoding?
我熟悉二进制表示中的交叉和变异索引,但在实际编码中,我遇到了几篇文章,其中 交叉索引 和 变异索引 用作参数值。
例如,我们有 300
的人口规模和 30
个决策变量,那么交叉指数 = 0.25 意味着什么?
也对100+current generation number
的突变指数感到困惑。
跨界指数
已经开发了一些 real-coded 交叉运算符,可以从两个 parent 解创建两个 children 解。
也许您正在阅读的论文使用了模拟二进制交叉 (SBX)。
对于此运算符,交叉指数 (η
) 是一个 non-negative 实参。 η
的大值给出了创建附近 parent 解决方案的更高概率,而 η
的小值允许选择较远的解决方案作为 children 解决方案。
SBX 算法的分步过程是:
- 选择一个随机数
u ∈ [0; 1[
。
计算βq
:
使用这些方程计算 children 解:
这里Xi(1, t+1)
和Xi(2, t+1)
是从两个parentXi(1, t)
和Xi(2, t)
.
得到的children
C 中可能的实现是 here (also take a look at Simulated Binary Crossover (SBX) crossover operator in Scala genetic algorithm (GA) library and Simulated Binary Crossover (SBX) crossover operator example)。
因此当 η=2
/ η=5
时,创建 children 连续变量解的概率分布是:
Parents 标记为 o
,您可以看到值越大,创建 near-parent 个解决方案的概率就越高。
SBX 的参考论文是:
Simulated Binary Crossover for Continuous Search Space
Kalyanmoy Deb, Ram Bhushan Agrawal
1995 (PDF here)
突变指数
变异指数 (ηₘ
)(可能)是 Deb 和 Agrawal (1999) 建议的多项式变异算子的一个参数。
ηₘ
在变量中引起 O((b – a) / ηₘ)
的扰动效应,其中 a
和 b
是变量的下限和上限。
那么后代使用更大的ηₘ
是合理的。
我熟悉二进制表示中的交叉和变异索引,但在实际编码中,我遇到了几篇文章,其中 交叉索引 和 变异索引 用作参数值。
例如,我们有 300
的人口规模和 30
个决策变量,那么交叉指数 = 0.25 意味着什么?
也对100+current generation number
的突变指数感到困惑。
跨界指数
已经开发了一些 real-coded 交叉运算符,可以从两个 parent 解创建两个 children 解。
也许您正在阅读的论文使用了模拟二进制交叉 (SBX)。
对于此运算符,交叉指数 (η
) 是一个 non-negative 实参。 η
的大值给出了创建附近 parent 解决方案的更高概率,而 η
的小值允许选择较远的解决方案作为 children 解决方案。
SBX 算法的分步过程是:
- 选择一个随机数
u ∈ [0; 1[
。 计算
βq
:使用这些方程计算 children 解:
这里
得到的childrenXi(1, t+1)
和Xi(2, t+1)
是从两个parentXi(1, t)
和Xi(2, t)
.
C 中可能的实现是 here (also take a look at Simulated Binary Crossover (SBX) crossover operator in Scala genetic algorithm (GA) library and Simulated Binary Crossover (SBX) crossover operator example)。
因此当 η=2
/ η=5
时,创建 children 连续变量解的概率分布是:
Parents 标记为 o
,您可以看到值越大,创建 near-parent 个解决方案的概率就越高。
SBX 的参考论文是:
Simulated Binary Crossover for Continuous Search Space
Kalyanmoy Deb, Ram Bhushan Agrawal
1995 (PDF here)
突变指数
变异指数 (ηₘ
)(可能)是 Deb 和 Agrawal (1999) 建议的多项式变异算子的一个参数。
ηₘ
在变量中引起 O((b – a) / ηₘ)
的扰动效应,其中 a
和 b
是变量的下限和上限。
那么后代使用更大的ηₘ
是合理的。