问题描述
我熟悉二进制表示法中的交叉和变异索引,但是在实际编码中,我遇到了几篇文章,其中将 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:
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是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!