2012-03-10 48 views
0

我正在努力爲旅行商問題(TSP)寫一個遺傳算法。對於選擇我正在實施輪盤選擇:http://www.edc.ncl.ac.uk/highlight/rhjanuary2007g02.php/旅行商的遺傳算法中的健身功能

它基本意味着選擇交配的概率與適應度函數的值成比例。
TSP最常用的適應度函數是路線的長度。但是,路線越短越好。

我該如何寫一個健身功能來描述路線的短小?
或者我該如何將每條路線的真實長度轉換爲概率?

回答

5

你有一個成本函數(越低越好),你想轉換爲適應函數(越高越好)。

使用逆。如果成本(距離)是x那麼你的健身可能變成1/x

3

實際上,這對於適應度函數並不是問題,而是對於選擇步驟。您還應該在比例選擇中使用窗口,以便縮放適應值。否則,操作員將施加的選擇壓力太小:試想一下,值573和579他們非常接近,因此將具有大致相同的比例。通常情況下,您按照當前最佳和最差的適應度來調整它

您可以查看我們在HeuristicLab中實施的ProportionalSelector。你甚至可以嘗試使用該軟件進行試驗,並探索不同的選擇方法,交叉,變異操作等等。