我正在尝试为旅行商问题(TSP)编写遗传算法。如需选择我正在实施轮盘赌选择:http://www.edc.ncl.ac.uk/highlight/rhjanuary2007g02.php/
它基本上意味着选择交配的概率与适应度函数的值成比例 TSP最常见的适应性功能是路线的长度。但是,路线“越短”越好。
如何编写一个描述路线短路的适应度函数?
或者我如何将每条路线的真实长度转换为概率?
答案 0 :(得分:6)
您想要转换为适应度函数的成本函数(越低越好)(越高越好)。
使用反向。如果费用(距离)为x
,那么您的健康状况可能会变为1/x
。
答案 1 :(得分:4)
实际上,这不是健身功能的问题,而是选择步骤。您还应该在比例选择中使用窗口,以便缩放适应度值。否则操作员将施加太小的选择压力:想象一下它们非常接近的值573和579,因此将具有大约相同的比例。通常,您可以根据当前最佳和最差的适应度来缩放它们。
您可以查看我们在HeuristicLab中实施的ProportionalSelector。您甚至可以尝试使用该软件并探索不同的选择方法,交叉,变异算子等