在遗传算法中,实数编码的交叉指数0.25是什么意思? [英] What does crossover index of 0.25 means in Genetic algorithm for real encoding?
问题描述
我熟悉二进制表示法中的交叉和变异索引,但是在实际编码中,我遇到了几篇文章,其中将 crossover index 和 mutation index 用作参数值.
I am familiar with crossover and mutation indexes in binary representation but in real encoding, I came across with several articles in which crossover index and mutation index are used as parameter values.
例如,我们有300
和30
个决策变量,那么交叉指数= 0.25意味着什么?
For example, we have population size of 300
and 30
decision variables then what does crossover index = 0.25 means?
也对100+current generation number
的突变指数感到困惑.
Also confused about the mutation index of 100+current generation number
.
推荐答案
交叉索引
已经开发了许多实编码的交叉运算符,它们可以从两个父解决方案中创建两个子解决方案.
Crossover index
A number of real-coded crossover operators have been developed that create two children solutions from two parent solutions.
也许您正在阅读的论文使用模拟二进制交叉(SBX).
Maybe the papers you're reading use the Simulated Binary Crossover (SBX).
对于该运算符,交叉索引(η
)是非负实数参数. η
的值越大,创建近亲解的可能性就越大; η
的值越小,则可以选择远距离的解作为子解决方案.
For this operator the crossover index (η
) is a non-negative real parameter. A large value of η
gives a higher probability for creating near parent solutions and a small value of η
allows distant solutions to be selected as children solutions.
SBX算法的分步过程是:
The step by step procedure for SBX algorithm is:
- 选择一个随机数
u ∈ [0; 1[
. -
计算
βq
:
使用以下等式计算子项解决方案:
Compute children solutions using these equations:
这里Xi(1, t+1)
和Xi(2, t+1)
是从两个父母Xi(1, t)
和Xi(2, t)
获得的孩子.
Here Xi(1, t+1)
and Xi(2, t+1)
are the children obtained from two parents Xi(1, t)
and Xi(2, t)
.
在C中可能的实现是此处(也请参阅Scala遗传算法(GA)库中的模拟二进制交叉(SBX)交叉算子和
A possible implementation in C is 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
为时创建连续变量的子解的概率分布为:
So the probability distribution for creating children solutions of continuous variables when η=2
/ η=5
is:
父母被标记为o
,您可以看到更大的值如何为创建近亲解决方案提供更高的可能性.
Parents are marked with o
and you can see how a larger value gives higher probability for creating near-parent solutions.
SBX的参考文件为:
The reference paper for SBX is:
用于连续搜索空间的模拟二进制交叉
Simulated Binary Crossover for Continuous Search Space
Ram Bhushan Agrawal的Kalyanmoy Deb
Kalyanmoy Deb, Ram Bhushan Agrawal
1995年(PDF 此处)
1995 (PDF here)
突变指数
变异指数(ηₘ
)(可能)是Deb和Agrawal(1999)建议的多项式变异算子的参数.
Mutation index
The mutation index (ηₘ
) is (probably) a parameter of the polynomial mutation operator suggested by Deb and Agrawal (1999).
ηₘ
在变量中引起O((b – a) / ηₘ)
的扰动,其中a
和b
是变量的上下限.
ηₘ
induces an effect of a perturbation of O((b – a) / ηₘ)
in a variable, where a
and b
are lower and upper bounds of the variable.
然后将较大的ηₘ
用于后代是合理的.
Then it's reasonable to use a larger ηₘ
for subsequent generations.
这篇关于在遗传算法中,实数编码的交叉指数0.25是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!