遺傳算法學習--多目標優化中的遺傳算法


轉:https://www.cnblogs.com/lomper/p/3831428.html

在工程運用中,經常是多准則和對目標的進行擇優設計。解決含多目標和多約束的優化問題稱為:多目標優化問題。經常,這些目標之間都是相互沖突的。如投資中的本金最少,收益最好,風險最小~~

多目標優化問題的一般數學模型可描述為:

Pareto最優解(Pareto Optimal Solution)

使用遺傳算法進行求解Pareto最優解:

  • 權重系數變換法:

  • 並列選擇法:

基本思想:

將種群全體按子目標函數的數目等分為子群體,對每一個子群體分配一個目標函數,進行擇優選擇,各自選擇出適應度高的個體組成一個新的子群體,然后將所有這些子群體合並成一個完整的群體,在這個群體里進行交叉變異操作,生成下一代完整群體,如此循環,最終生成Pareto最優解。如下圖:

  • 排列選擇法:

基於Pareto最優個體的前提上,對群體中的各個個體進行排序,依據排序進行選擇,從而使拍在前面的Pareto最優個體將有更大的可能性進入下一代群體中。

  • 共享函數法:

利用小生境遺傳算法的技術。算法對相同個體或類似個體是數目加一限制,以便能夠產生出種類較多的不同的最優解。

對於一個個體X,在它的附近還存在有多少種、多大程度相似的個體,是可以度量的,這種度量值稱為小生境數。計算方法:

s(d)為共享函數,它是個體之間距離d的單調遞減函數。d(X,Y)為個體X,Y之間的海明距離

在計算出小生境數后,可以是小生境數較小的個體能夠有更多的機會被選中,遺傳到下一代群體中,即相似程度較小的個體能夠有更多的機會被遺傳到下一代群體中。

解決了多目標最優化問題中,使解能夠盡可能的分散在整個Pareto最優解集合內,而不是集中在其Pareto最優解集合內的某一個較小的區域上的問題。

  • 混合法:
  1. 並列選擇過程:按所求多目標優化問題的子目標函數的個數,將整個群體均分為一些子群體,各個子目標函數在相應的子群體中產生其下一代子群體。
  2. 保留Pareto最優個體過程:對於子群體中的Pareto最優個體,不讓其參與個體的交叉和變異運算,而是直接保留到下一代子群體中。
  3. 共享函數處理過程:若所得到的Pareto最優個體的數量已經超過規定的群體規模,則使用共享函數來對它們進行挑選,以形成規定規模的新一代群體。
作者:Lomper 出處:http://www.cnblogs.com/lomper 關於作者:小菜鳥一枚,歡迎大神指點! 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM