2017-05-05 70 views
1

如何找到最佳的人口規模。在我的任務中,每個基因都是一個位於給定範圍內的int類型的值。遺傳算法。如何找到人口的最佳規模

例如:

  1. 染色體由2個基因。
  2. 第一基因也許包含在範圍從5至15
  3. 第二基因也許包含int值從15至25

問題的int值。如何找到初始人口的大小。

+0

您可以請添加您的代碼到目前爲止? –

+0

你甚至試圖自己做這個,或者你認爲我們會爲你寫嗎? – RH6

+1

也許這個文件將幫助你http://www.cameron.edu/~pdiaz-go/GAsPopMetric.pdf –

回答

0

通常通過反覆試驗找出最佳尺寸。您可以編寫一個簡單的算法來優化羣體大小,例如以100的彈出窗口大小開始,並通過例如100次反覆地增加它。 50.對於每一步你需要運行遺傳算法並計算一些將評估種羣規模的方法,你可以使用以下其中一種方法:最大適應度,平均適應度,達到收斂標準的時間。爲了提高準確性,您應該重複每一步至少幾次,然後計算每個步驟的平均值,並繪製可以選擇最佳流行音樂大小的圖表,或者如果不足夠,您可以在接近此流行音樂大小的情況下仔細優化峯值做相同的事情。

根據您的問題,圖表看起來會有所不同。如果它只是一個正斜率曲線,那麼您將不得不根據自己的合理流行音樂大小進行選擇。如果彈出窗口太小,你的GA很可能會失去多樣性,可能會下降到某個地方的最佳狀態。當它太大時,你的遺傳算法將變成簡單的隨機搜索算法。

順便說一句我希望這個例子是遠離你真正的問題,因爲遺傳算法不是這樣的小染色體的最佳選擇。

+0

尋找GA的參數通常是優化任務。任務對於遺傳算法很有用,所以它可以使用metaevolution(遺傳算法優化的另一個遺傳算法)來優化GA參數。但是這個解決方案(特殊情況除外)對於有爭議的結果來說太多的精力和時間了。 – viceriel