1

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

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

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

4

2 回答 2

7

您有一个成本函数(越低越好),您想将其转换为适应度函数(越高越好)。

使用逆。如果成本(距离)是,x那么你的健康可能会变成1/x

于 2012-03-10T19:44:04.270 回答
5

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

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

于 2012-03-11T14:32:01.313 回答