我正在學習遺傳算法,我想實現它以找到一個最小的f(x,y) 前。 z = sin3x + cos4y 現在,我的問題是我應該如何治療染色體x和y。他們應該是2個獨立的人口嗎?它們是否應該編碼在相同的染色體上?遺傳算法找到2個變量的函數的最小值
1
A
回答
0
首先 - 你的功能是可分離的。這意味着您可以分別優化每個維度(x和y) - 您可以修復例如y爲0,你只關注x並找到最小值。然後你修復x並在y中找到最小值。然後你就完成了。如果你的功能不可分離,你不能這樣做。不可分的函數最簡單的例子是f(x,y)= xy。
對於GA的東西 - 這取決於你的意思是GA。如果你真的認爲經典遺傳算法演化的二進制字符串比實際值優化中的一個壞方法。更好的方法是使用實值GA(或EA更精確)。在那一箇中,基因型是由實數本身組成的,即x和y(因爲它們都是解決方案,而不僅僅是其中之一)。你當然需要使用不同的變異和交叉算子。看看我的博客上的post,我完全寫了這個(你可以放心地跳到「實值演化」部分)。
相關問題
- 1. 使用遺傳算法尋找函數的最小值
- 2. 遺傳算法:最小生成數?
- 3. 通過在Python 2中使用2個變量來找到N個最小值的最佳算法是什麼?
- 4. 在Matlab中使用遺傳算法找到「y = x * x」的最小值
- 5. Matlab優化 - 使用遺傳算法最小化目標函數
- 6. 如何用2個常量參數找到變量函數的最大值?
- 7. 選擇算子和最小化遺傳算法中的適應度函數
- 8. 遺傳/進化算法和局部最小/最大值
- 9. 遺傳算法的目標函數
- 10. 找到變量中的最小值?
- 11. 找到2個論據的最小值
- 12. 遺傳算法。如何找到人口的最佳規模
- 13. 使用類的2D矢量值替換;遺傳算法突變
- 14. 遺傳算法的數獨
- 15. R插入遺傳算法控制最終特徵的數量
- 16. 的遺傳算法
- 17. 遺傳算法近似函數
- 18. 特定遺傳算法成本函數
- 19. 從函數中尋找最小值的啓發式算法
- 20. Dijkstra算法多邊找到最小值
- 21. 查找第二個最小值 - 算法
- 22. 變量傳遞來找到軌道中的函數2
- 23. 遺傳算法
- 24. 算法的最小變化量
- 25. 分而治之算法:找到一個矩陣的最小值
- 26. 查找插值函數的最小值。
- 27. 算法找到最小削減給定的最大流量
- 28. C++:變量模板參數(用於遺傳算法)
- 29. 找到一個數組的最小值
- 30. 在大熊貓中應用複雜的遺傳算法選擇最小值
嗨,歡迎。恐怕這個問題可能會被封閉,因爲它需要特定的領域知識。如果您可以將問題簡化爲編程問題,我們可能會提供幫助。 –
如果你還沒有編寫任何代碼,這可能會在這裏脫離主題。但是,通過您的問題的聲音,最好在交叉驗證的SE上提問。只需先在http://stats.stackexchange.com/help/檢查他們的幫助,以確保它是在那裏的話題。 – Calcolat
我打算花點時間研究一下這個問題,但如果你找到一個支持研究的答案,請告訴我。我對這個解決方案非常感興趣,但我認爲GA不是解決問題的最佳方法。但是,如果我必須打賭,我會說做一個複合個人。 – RockJake28