我在解决旅行商问题(TSP)的遗传算法中实现了有序交叉。
然而,我注意到在禁用变异的情况下,我的算法表现得更好,我猜这是因为有序交叉混合了一些遗传信息以保持有效的排列编码,创建了略微“变异”的解决方案。
然而,我觉得这样做是错误的?在使用有序交叉时可以去掉变异吗?
回答:
在TSP中,变异可以有多种形式,因此它们会以不同的方式与有序交叉操作符相互作用。
阅读这篇文章以了解TSP中不同类型的变异:Informatica 35(2011) 513–518 – http://www.informatica.si/PDF/35-4/19_Hasan%20-%20Evaluating%20the%20Effectiveness%20of%20Mutation%20Oper.pdf
即使是有序交叉也有几种不同的实现方式,因此会以不同的方式与不同的变异算法相互作用:IJCOPI Vol 2, No 1: January-April 2011 – http://ijcopi.org/ojs/index.php?journal=ijcopi&page=article&op=viewArticle&path[]=44
因此,您的有序交叉操作符的实现如何与您的变异操作符相互作用是难以评估的。
希望这对您有帮助。