遗传算法:最全的序列整数编码交叉算子 permutation encoding integer encoding crossover operator

关于遗传算法中的permutation coding问题的交叉算子种类介绍 见文章

 Permutation integer encoding 序列编码是整数编码的一种,可以用于解决TSP(旅行商问题),Graph Coloring Problem(图上色问题),Quadratic Assignment Problem(二次分配问题,与TSP问题相似),N-Queens Problem。

针对Permutation encoding根据交叉的方式不同可以分为以下几种类型:

一、Position Based 基于位置的交叉方法

  • PMX (Partially Mapped Crossover) 1985  详解PMX,two-point两个切点间的连续部分保留,其他部分用另一个父代染色体填充,已经填充的基因找到与之映射的基因填充。

  • PMX的变体Uniform Partially Mapped Crossover (UPMX) 1996,随机的选择交换的位置而不是连续的cut points  详解UPMX [1]

  • CX (Cycle Crossover)1987 详解CX ,CX在保持绝对位置方面有优势。
  • CX2 2017 详解CX2 ,虽然实验中在TSP问题中CX2效果比CX要好,但是CX2破坏了父代染色体的绝对位置关系,也没有保留邻接关系,而且当决策变量维度增大时候,可能出现错误,例如当形成一个cycle而还有剩余基因时,两个染色体剩余的基因不一定相同,这时可能出现错误。[1]
  • POS 或者PBX(POSition-Based Crossover) 2008,不连续的OX,详解PBX [1],注意与OBX区分详见 OBX
  • APX (Alternating Position Crossover) 1996 ,很好继承了父代的绝对位置关系,详解APX [1]

二、Edge Based基于边的交叉方法

  • Edge Exchange Crossover (EXX) 2008
  • Edge Assembly Crossover (EAX)  2008
  • Heuristic Crossover 1987 [1]
  • Edge Crossover 2000 [1]
  • Edge Recombination Crossover 1991 详解ERX
  • generalized N-point crossover (GNX) 1995
  • sequential constructive crossover (SCX) 2010 详见SCX

三、Order Based 基于顺序的交叉方法

Order Based 交叉方法的子代继承了某个父代的基因顺序

第一种sort

  • Sorting Crossover 2007

        swap-moves-based deterministic and non-deterministic selection sort crossover (SS1X, SSUX)

       adjacent swap-move-based deterministic and non-deterministic bubble sort crossover (BS1X, BSUX)

       the insertion move based deterministic and non-deterministic insertion sort (IS1X, ISUX)

       the sorting by reversals crossover (SBRX)

第二种 merge  merge 交叉算法详解

  • Merge (1&2) Crossover 1993,需要precedence优先级顺序,merge 交叉算法详解
  • Merging crossover (MOX) 2004,两个父代染色体随机混合在一起,merge 交叉算法详解
  • Merging Independent Sets (MIS) 2004,父代染色体以block的形式混合在一起,merge 交叉算法详解
  • Uniform Like Crossover (ULX) 1995,保持父代相同的元素不变,其余位置从左向右用两个父代染色体相同位置随机选择填充。ULX的一些变形有Randomized ULX (RULX),基本与ULX相同,不同是随机选择填充位置而不是从左向右;Block Crossover (BX),从左向右以block的形式交替填充,对于已经被填充的元素的位置随机选择剩下的元素;Repair Crossover (RX) ,首先使用ULX,对于未填充的部分在候选列表中选择,对于位置i,填充到子代的元素不能是父代i位置上的任何一个;Cohesive Crossover (COHX),采用mask的方式,merge 交叉算法详解

第三种 Relative Order

  • OX1 1985, OX2 1991, OX3, OX4, OX5 (Order Crossover) 2011 详解 [2]
  • Relative Order Crossover (ROX) 2007,很好地继承了父代的相对位置关系(ROX和ROM继承相对位置关系,APX和APM继承绝对位置关系,AX和MX继承邻接位置关系)
  • Uniform Order-Based Crossover (UOBX) 1991:UOBX在解决GCP问题中善于保持相对位置和相对顺序

  • POP,POP1,POP2 2006 详解POP

  • Order-Based Crossover (OBX) 1990 详见 OBX,注意与PBX区分详解PBX

第四种 Absolute Order

  • Absolute Position Geometric Crossover (APX)  2007
  • Non-Wrapping Ordered Crossover (NWOX) 2006 [3]  详见NWOX

第五种 Adjacency

  • Adjacency Geometric Crossover (AX) 2007

四、Subset Based基于子集的交叉方法

  • Subtour Exchange Crossover(SEX)2008  详见SEX
  • Cut-blend crossover 2009 [4]:这个算法包括两部分,cut部分是从其他的tour中提取的moudle以进行子代改进,blend是将cut生成的tour连接到一起。
  • Maximal Preservative Crossover (MPX) 1988 [5]:MPX与PMX类似,首先在父代1染色体中随机选择大于等于10和小于1/2决策变量的一段基因(除了决策变量是小数量),这样的限制是为了不会丢失大量的父代的信息,所有选择的基因从父代2染色体中删除,从父代1中选中的部分被复制到子代,剩余的未填充的部分按照父代2中的顺序进行填充。MPX更像是OX2的特例(选中基因段有限制的ox)。

五、Cut and Splice 剪切和拼接

  • Sector-Based Crossover 2004 [6]
  • Day-Based Crossover 2004 [6]
  • Student-Based Crossover 2004 [6]
  • Conflicts-Based Crossover 2004 [6]

六、Swap

  • Swap Path Crossover (SPX) 1994 [7] 详见SPX

七、Graph Partition

  • Partition Crossover (PX) 2009 [8,9]
  • Generalized partition crossover (GPX) 2010 [8]

八、Distance Based

  • Distance Preserving Crossover (DPX) 2005 [7] 详见DPX

 

[1]Rakesh Kumar, Girdhar Gopal, and Rajesh Kumar. 2013. Novel crossover operator for genetic algorithm for permutation problems. International Journal of Soft Computing and Engineering 3, 2 (May 2013), 252–258.

[2]Kusum Deep and Hadush Mebrahtu. 2011. New variations of order crossover for travelling salesman problem. International Journal of Combinatorial Optimization Problems and Informatics 2, 1, 2–13.

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

[4]Fanchen Su, Fuxi Zhu, Zhiyi Yin, Haitao Yao, Qingping Wang, and Wenyong Dong. 2009. New crossover operator of genetic algorithms for the TSP. In Proceedings of IEEE International Joint Conference on Computational Sciences and Optimization. 666–669.

[5]Muhlenbein H. Gorges-Schleuter M. Kramer O. “Evolution algorithms in Combinatorial Optimization”, Parallel Computing 7, 1988, pp. 65-85

[6]Rhydian Lewis and Ben Paechter. 2004. New crossover operators for timetabling with evolutionary algorithms. In Proceedings of 5th International Conference on Recent Advances in Soft Computing (RASC’04). 189–195.

[7]Alfonsas Misevicius and Bronislovas Kilda. 2005. Comparison of crossover operators for the quadratic assignment problem. Information Technology and Control 34, 2, 109–119.

[8]Darrell Whitley, Doug Hains, and Adele Howe. 2010. A hybrid genetic algorithm for the traveling salesman problem using generalized partition crossover. In Parallel Problem Solving from Nature (PPSN’10) XI. 566–575.

[9]Whitley, D., Hains, D., Howe, A.: Tunneling between optima: partition crossover for the traveling salesman problem. In: Proceedings of the 11th Annual conference on Genetic and evolutionary computation, ACM (2009) 915–922

你可能感兴趣的:(遗传算法:最全的序列整数编码交叉算子 permutation encoding integer encoding crossover operator)