多目標進化演算法基礎知識整理

2021-10-05 14:32:57 字數 1798 閱讀 7349

特意整理一些多目標進化演算法的基礎知識點,盡量用通俗易懂的語言進行描述,希望對入門多目標演算法的同學和對優化演算法有興趣的朋友有所幫助。

使多個目標在給定區域同時盡可能最佳,多目標優化的解通常是一組均衡解(即一組由眾多 pareto最優解組成的最優解集合 ,集合中的各個元素稱為 pareto最優解),因此在多目標優化演算法中,是對多個子目標的同時優化,而這些被同時優化的子目標之間往往又是相互衝突的,在解決多目標優化問題的時候,我們照顧了其中乙個目標的"利益",必然會導致其他至少乙個子目標的」利益「受損,所以我們在面對乙個多目標優化問題的時候 ,不會說找出乙個唯一的最好的解。

在多目標優化演算法中,對於不同的子目標函式可能會有不同的優化目標,一般有三種情況:

(1)最小化所有子目標函式

(2)最大化所有子目標函式

(3)最小化部分子目標函式,最大化其他子目標函式

一般情況下,統一為求總目標的最小化如下圖例所示:

通常情況下,一般統一為求總目標的最小化。

定義2.1:多目標優化問題中的最優解通常被稱為pareto最優解。

定義2.2:多目標進化演算法的優化過程,針對每一代進化群體,尋找出其當前最優個體(又稱當前最優解),稱乙個進化群體的當前最優解為非支配解。(支配是多目標中非常重要的子目標與子目標之間的關係,它們存在支配和被支配的關係,可以形象理解為非支配解為老闆,對其員工有支配的權力,是不會被員工支配的),所有的非支配解的集合稱為當前群體的非支配集(後續非支配集會不斷的逼近真正的最優解)。

定義3.1:pareto最優邊界:是指乙個多目標優化問題的pareto最優解在其目標函式空間中的表現形式。

我們從上面的草圖可以看到,那條實線段表示的是兩個目標的最優邊界(二維空間中,三維則會構成乙個超平面),而點a b c d e f 均落在實線段上,所以是最優解,這裡需要注意的一點是最優邊界和最優解的區別和聯絡 ,pareto最優解集是決策空間的乙個子集,而pareto最優邊界是最優解集在目標函式空間的乙個子集。

落在最優邊界上的點實際上就是老闆,它們是非支配的,其他點實際上相當於員工,不是最優解,是直接或間接被最優邊界上的點支配的。

這兩個概念算是很好理解的概念了,我們用乙個定義就很容易理解,如定義4.1所示。

定義4.1:在乙個集合中,任意兩點的連線上的任意一點仍在該集合中,則該集合稱為凸集,反之稱為凹集;例項如下所示。

舉個例子:5和8;你能想到啥關係?人們通常有兩種回答:(1)5小於8(2)5大於8

而在多目標的情況下,由於每個個體都有多個屬性,個體和個體之間的屬性又是不一樣的,因此僅用大小關係來描述兩個個體之間的關係是行不通的,比如說個體(2, 5)和個體(3,4),2小於3的同時5又 大於4,這兩個個體如何確定它們之間的關係呢?

定義5.1 設p和q是進化種**的任意兩個個體,若p支配q則必須滿足以下兩個條件:

(1)對於所有的子目標,p不比q差,即fk(p)<=fk (q),(其中k=1,2…r)。

(2)至少存在乙個子目標,使p比q好。

稱為p是非支配的,也就是不被支配的,而q則是被支配的。

例:設乙個二目標優化問題minf(x)=,有三個可行解x1,x2,x3對應的目標向量值分別為:f1(x)=(3,8),f2(x)=(5,8)和f3(x)=(7,9)

根據定義5.1顯然x1是支配x2和x3的 。

多目標進化演算法 MOEAs 概述

對於大多數多目標優化問題,其各個目標往往是相互衝突的,因此不可能使得所有的目標同時達到最優,而是一組各個目標值所折衷的解集,稱之為pareto最優集。以下為一些基本定義 以最小化優化問題為例 definition 1 多目標優化問題 multi objective optimization prob...

進化多目標優化演算法學習綜述

最初,多目標優化問題 通過加權等方式轉化為單目標問題 用數學規劃求解。這樣每次只能得到一種權值下的最優解。而且mop的目標函式 約束函式可能是非線性 不可謂 不連續的,傳統的數學規劃效率低,並且它們對於權值或目標給定的次序比較敏感。進化演算法 通過代與代之間維持由潛在解組成的種群來實現全域性搜尋。第...

基礎知識整理

1.在輸出字元變數的值時,可以選擇以十進位制整數形式輸出,或以字元形式輸出。2.在乙個整數的末尾加大寫字母l或小寫字母l,表示它是長整型。3.代表除法運算子,兩個實數相除的結果是雙精度實數。兩個整數相除的結果是整數,捨去小數部分。但是,如果除數或被除數中有乙個是負值,則捨入的方向是不固定的。多數c編...