旅行商遗传算法的适应度函数

时间:2012-03-10 19:37:57

标签: genetic-algorithm traveling-salesman

我正在尝试为旅行商问题(TSP)编写遗传算法。如需选择我正在实施轮盘赌选择:http://www.edc.ncl.ac.uk/highlight/rhjanuary2007g02.php/

它基本上意味着选择交配的概率与适应度函数的值成比例 TSP最常见的适应性功能是路线的长度。但是,路线“越短”越好。

如何编写一个描述路线短路的适应度函数?
或者我如何将每条路线的真实长度转换为概率?

2 个答案:

答案 0 :(得分:6)

您想要转换为适应度函数的成本函数(越低越好)(越高越好)。

使用反向。如果费用(距离)为x,那么您的健康状况可能会变为1/x

答案 1 :(得分:4)

实际上,这不是健身功能的问题,而是选择步骤。您还应该在比例选择中使用窗口,以便缩放适应度值。否则操作员将施加太小的选择压力:想象一下它们非常接近的值573和579,因此将具有大约相同的比例。通常,您可以根据当前最佳和最差的适应度来缩放它们。

您可以查看我们在HeuristicLab中实施的ProportionalSelector。您甚至可以尝试使用该软件并探索不同的选择方法,交叉,变异算子等