所谓变异运算,是指将个体染色体编码串中的某些基因座上的基因只用该基因座的其他等位来替换,从而形成一个新的个体。交叉运算是产生新个体的主要方法,它决定了遗传算法的全局搜索能力。而变异运算只是产生新个体的辅助方法,它是必不可少的一个运算步骤,决定了遗传算法的局部搜索能力。
使用变异算子主要有以下两个目的:
(1)改善遗传算法的局部搜索能力。
(2)维持群体的多样性,防止出现早熟现象。
变异算子的设计内容包括以下两个方面的内容:
(1)如何确定变异的位置?
(2)如何进行基因值替换?
1.基本位变异
基本位变异算子是最简单的变异算子是指对个体编码串中以变异概率Pm随机指定的某一位或某几位基因座上的基因值做变异运算。
2.均匀变异
它是指分别用符合某一范围内均匀分布的随机数,以某一较小的概率来替换个体编码串中各个基因座上的原有基因值。
具体操作过程如下:(www.xing528.com)
(1)依次指定个体编码串中的每个基因座为变异点。
(2)对每个变异点,以变异概率Pm从对应基因的取值范围内取一随机数来替代原有基因值。
均匀变异操作特别适用于遗传算法的初期运行阶段,它使搜索点可以在整个搜索空间内自由移动,从而可以增加群体的多样性,使算法可以处理更多的模式。
3.边界变异
边界变异是均匀变异操作的一个变形遗传算法,在进行操作时,随机地取基因座的两个对应边界基因值之一去替代原有基因值。
4.非均匀变异
均匀变异是取某一个范围内均匀分布的随机数替换原有基因值,可使得个体在搜索空间自由移动。但是,它却不能对某一个重点区域进行局部搜索。因此,我们对原有基因值做一些随机扰动,以扰动后的结果作为变异后的新基因值。对每个基因座都以相同的概率进行变异运算后,相当于整个解向量在解空间中做了一个轻微的变体。这种变异操作方法就称为非均匀变异。
非均匀变异的具体操作过程与均匀变异类似,但是它重点搜索原个体附近的微小区域。
5.高斯变异
它是改进遗传算法对重点搜索区域的局部搜索性能的另外一种变异操作方法。所谓高斯变异操作,是指进行变异操作时,用符合均值为μ、方差为σ2的正态分布的一个随机数来替换原有基因值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。