我的基因组是图中顶点的排列(Salesman的路径).
我应该如何在我的基因组上进行交叉 *** 作?
在哪里可以找到C#中我的问题的实现?
解决方法 您应该检查Gokturk Ucoluk的“遗传算法解决TSP避免特殊交叉和突变”. pdf here.它给出了用于排列的特殊交叉运算符的概述,并提出了一种在标准交叉中工作良好的排列的巧妙表示(即跨越两个排列总是产生两个排列).关键的洞察是将排列表示为其反转序列,即,对于每个元素i,存储在[i]中,在排列中i比在i左侧多少个元素.与直接表示不同,对于[i]的唯一约束是局部的,即[i]不能大于N-i.这意味着两个有效反转序列的简单交叉总是产生两个有效的反转序列 – 不需要特殊处理重复元素.
总结以上是内存溢出为你收集整理的c# – 用于TSP的遗传算法中的Сrossover *** 作全部内容,希望文章能够帮你解决c# – 用于TSP的遗传算法中的Сrossover *** 作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)