partially mapped crossover operator (PMX) 1985

PMX部分匹配交叉步骤:

  1. 从父代随机选择两个个体P1,P2和两个点
  2. 将P1,P2两点之间部分提取出来,放在子代O2,O1相同位置
  3. 在提取出来的部分中,映射关系为2->1,7->6,1->8。下面我们可以把子代未填充的部分补充完整(使用父代),O1第一个位置来源于P1第一个位置,是3,第二个位置是4,最后一个位置5,因为没有与已经填上的部分(1 6 8)重复,直接填上就可以了,同理O2也可以填上。
  4. O2,O1中打叉的部分在父代与子代相同位置重复,因此要使用映射的方法填入。例如,O1第三个位置应填入8,而8应该在第六个位置了,因此用1替换,而1也被填入了,则用2替换,所以最后填入O1第三个位置的是2,同理,第7个位置应填入7.
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐