0

我正在为旅行商问题的遗传算法寻找交叉算法。

但是,我的 TSP 问题是传统问题的变体:

我们不仅获得了需要访问的点列表,还获得了需要访问的点列表以及需要开始和结束的点列表。换句话说,任何路线都必须在属于第二个列表的任何点开始和结束,但必须访问第一个列表中的所有点。

所以换句话说,并不是每一个点的排列都是有效的。正因为如此,我不确定传统的交叉算法是否能很好地工作(例如,我尝试了有序交叉,它创建的子代通常比它的父代差)。

谁能建议一个交叉算法?

4

1 回答 1

0

为了维护您的交叉和变异算子,您可以添加一个修复算子来检查您的起始和结束位置的位置是否正确,如果不正确,则将它们交换到它们的有效位置(初始和结束)。

于 2015-04-12T03:04:01.163 回答