多目標遺傳演算法與優化的關係

2021-09-23 06:00:15 字數 901 閱讀 5514

**:

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

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

pareto最優解(pareto optimal solution)

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

基本思想:

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

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

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

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

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

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

共享函式處理過程:若所得到的pareto最優個體的數量已經超過規定的群體規模,則使用共享函式來對它們進行挑選,以形成規定規模的新一代群體。

簡單的多目標遺傳演算法實現

function multiga 執行此程式之前先安裝謝爾菲德遺傳演算法工具箱。遺傳演算法求解多目標優化案例 將原多目標函式改寫為f1 x 2 y 2 4 f2 x 1 y 10 運用線性疊加法,f a f1 x b f2 x a b 1 總目標函式改寫為 f 0.6 x 2 y 2 4 0.4 x...

遺傳演算法優化例子

遺傳演算法的手工模擬計算示例 為更好地理解遺傳演算法的運算過程,下面用手工計算來簡單地模擬遺傳演算法的各個主要執行步驟。例 求下述二元函式的最大值 1 個體編碼 遺傳演算法的運算物件是表示個體的符號串,所以必須把變數 x1,x2 編碼為一種 符號串。本題中,用無符號二進位制整數來表示。因 x1,x2...

多目標優化演算法 多目標優化之帕累託最優

example 有個求最小化的優化問題,2個變數,兩個目標函式,目標1的空間曲線如下圖所示 目標1空間曲線 目標2的空間曲線 目標2空間曲線 現在在設計空間均勻的取點陣,然後計算所有點的真實目標值,便可以得到解空間和目標空間的分布情況了,如下圖所示 左圖是解空間的均勻點陣,右圖是對應的目標空間兩個目...