我正在尝试解决我的排列中遗传算法交叉的问题。假设我有20个整数的两个排列。我想把他们交掉,得到两个孩子。父级内部具有相同的整数,但顺序不同。
例:
Parent1: 5 12 60 50 42 21 530 999 112 234 15 152 601 750 442 221 30 969 113 134 Parent2: 12 750 42 113 530 112 5 23415 60 152 601 999 442 221 50 30 969 134 21
顺便说一下-我怎样才能让这两个孩子成为孩子?
您正在寻找的是有序交叉。没有为旅行商问题的解释在这里。
这是一些实现部分映射的交叉(PMX)变体的Java代码。