我正在开发一种遗传算法来找到点之间的最佳连接(最小化距离)。假设我们有两个点列表:
sources = {s1, s2, s3}
targets = {t1, t2, t3, t4}
我决定将基因组表示为二维二进制数组,其中:
- 行代表源点
- 列代表目标点
- 1s代表源和目标之间的连接
这种表示意味着矩阵中的每一列和每一行最多可以有一个 1。
现在我正在努力寻找一个可以保持解决方案完整性的交叉运算符。
例子:
父母1:
[0][1][0][0]
[0][0][1][0]
[1][0][0][0]
父母2:
[0][0][1][0]
[1][0][0][0]
[0][0][0][1]
后代:???
有什么建议么?