Non-Wrapping Order Crossover (NWOX)[1]:NWOX是一种OX的变体,既能够保存相对位置关系,也能够保存绝对位置关系。

执行步骤如下:

  1. C1, C2 是其父本 P1, P2的副本
  2. 在[1, L]上随机选择两个位置a,b,假设a ≤ b(Figure 2(a))
  3. 在子代C1种找到父代P2中a,b之间的值v2(a), v2(a + 1),...,v2(b),并用holes取代,Figure 2(b),同理,C2也具有相似的步骤,在C2中找到 v1(a), v1(a + 1),...,v1(b)中的值并用holes取代
  4. 然后采用slide滑动的方式将holes挤到a,b的区域,也就是说将a左侧的不是hole的基因向左移,直到行程连续的字符串(保持相对位置),这是与OX不同的地方;然后NWOX将a,b区间的右侧任何non-hole基因从左向右移动,直到没有holes
  5. 最后将P2中a,b间的基因替换到C1的a,b区间,同理,将P1中a,b间的基因替换到C2的a,b区间

对比父代P1,P2,和子代C1,C2,发现虽然几乎每个基因的位置都发生了变化,但是每个基因离他们原来的位置并不远,重要的是,父代左侧的基因仍然在左侧,没有出现在右侧。

遗传算法:交叉操作 NWOX 2006

实验:在weighted tardiness scheduling problem 进行了测试,与 OX, CX, PMX, and UPMX进行了比较

[1]V. A. Cicirello. Non-wrapping order crossover : An order preserving crossover operator that respects absolute position. GECCO, pages 1125–1131, 2006.

相关文章:

  • 2021-10-10
  • 2021-07-13
  • 2021-12-29
猜你喜欢
  • 2021-04-08
  • 2021-09-30
  • 2021-12-27
  • 2022-01-17
  • 2022-03-03
  • 2022-12-23
相关资源
相似解决方案