-1

我正在检查用于路线优化的交叉技术,并且已经经历了一些如下所述的thgem

1 - single point crossover
2 - two point crossover
3 - uniform crossover

在单点交叉中,我们通常从每个父节点交换一个变量并获取子节点。与两点交叉相同,我们交换来自两个父母的两个变量。

例如,在我的问题中,父母的长度不一样p1: ['a','b','c'] and p2:['v','n','m','h','k']。由于我们父母双方的长度不同,我能够使用基于偶数和奇数技术的单点交叉。

现在我想使用带遮罩的统一分频器,发现很难使用不同的长度。有什么建议么 ?

4

1 回答 1

1

后代的长度是多少,如果它们与父母的长度相同,那么你可以做一个正常的统一订单。例如

 [a,b,c] = p1
 [v,n,m,h,k] = p2
 [0,0,1,0,1] = mask (this should be random)

 [v,n,c] = o1
 [a,b,m,h,k] = o2

您甚至可以随机将较小的放在面罩上的位置,例如:

 [-,-,v,n,c]
 [a,b,m,h,k]

所以后代会

 [v,h,c] 
 [a,b,m,n,k]
于 2021-02-24T02:11:03.007 回答