首页 理论教育 改进实数编码方案下的算术交叉操作

改进实数编码方案下的算术交叉操作

时间:2023-07-01 理论教育 版权反馈
【摘要】:针对叠前地震数据AVO 弹性参数反演问题,本书使用的是基于实数编码方案,在基本遗传算法中,使用单点交叉的方式,算法的全局搜索能力较差,考虑到交叉操作是整个遗传算法的核心,本书使用了相对于单点交叉更适合于实数编码的改进算术交叉方式。算术交叉是通过选择两个父代个体,进行线性组合,来生成两个子代个体,具体操作如下:式中,parent1、parent2 表示两个父代个体,child1、child2 表示生成的两个子代个体,λ是0~1之间的随机数。

改进实数编码方案下的算术交叉操作

针对叠前地震数据AVO 弹性参数反演问题,本书使用的是基于实数编码方案,在基本遗传算法中,使用单点交叉的方式,算法的全局搜索能力较差,考虑到交叉操作是整个遗传算法的核心,本书使用了相对于单点交叉更适合于实数编码的改进算术交叉方式。

算术交叉是通过选择两个父代个体,进行线性组合,来生成两个子代个体,具体操作如下:

式中,parent1、parent2 表示两个父代个体,child1、child2 表示生成的两个子代个体,λ是0~1之间的随机数

假设λ 为0.3,对两个父代个体的一个染色体片段(5,6)进行交叉,则生成的两个子代(5.3,5.7)如图8-3所示。

图8-3 算术交叉操作(www.xing528.com)

这里对算术交叉进行了改进,在红皇后思想[5,6]操作得到的种群flagpopulation及锦标赛选择操作执行之后生成了种群population,在进行交叉操作时,采用无放回的交叉,即每次在种群population中随机选择两个个体parent1、parent2,生成一个随机数,如果大于交叉概率则这两个个体直接遗传到下一代;否则,将parent1、parent2进行算术交叉生成两个子代个体child1、child2,之后采用参数自适应差分演化算法JDE 中的变异操作,从flagpopulation中随机选择两个个体flagparent1、flagparent2,这两个个体分别和child1、child2进行差分变异,得到两个新的子代个体newchild1、newchild2,遗传到下一代,如此反复,直到生成N 个个体。

式中,flagparent1,flagparent2∈红皇后选择后的种群;parent1,parent2∈锦标赛选择后的种群。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈