原文:
《A Decision Variable Clustering-Based Evolutionary Algorithm for Large-Scale Many-Objective Optimization》
將分為論文摘要、背景介紹、算法原理、實驗結果分析和總結五個部分
摘要
當前的進化算法多目標優化文獻僅僅集中在目標數量的可伸縮性上,而很少考慮決策變量數量的可伸縮性。然而,許多現實世界的問題可能涉及許多目標和大規模的決策變量。為了解決這類大規模多目標優化問題,本文提出了一種基於決策變量聚類的定制進化算法。首先,決策變量聚類方法將決策變量分為兩種類型:1)收斂相關變量和2)多樣性相關變量。然后,為了優化這兩種類型的決策變量,采用了收斂優化策略和多樣性優化策略。此外,為了進一步提高算法的計算效率,提出了一種快速非支配排序方法。
為了評估所提出算法的性能,在具有多達10個目標和5000個決策變量的各種大規模多目標優化問題上進行了實驗。實驗結果表明,該算法在對多目標優化決策變量的可伸縮性方面,優於現有的幾種進化算法。
關鍵詞:聚類 進化多目標優化 大規模優化 多目標優化 非支配排序 樹
背景介紹
先來了解一下目前這個領域的研究背景,現有的多目標優化的研究文獻大多數關注目標的規模而很少有文獻關注決策變量的規模。而現實中我們大多遇到的是大規模多目標優化問題(MaOPs),MaOPs是涉及三個以上同時要優化的沖突目標的問題,傳統的解決方案通常只涉及2-3個目標,在MaOP問題中會出現 收斂壓力損失 和 多樣性管理失效 的問題。
為了解決上述兩類問題,目前已經提出了四類方法,如下:
- 提高算法的收斂能力
- 直接采用指標作為選擇標准
- 基於分解的方法,即將MaOP分解為一組簡單的子問題,然后以協作的方式解決他們。分解類型有兩類:一是將MaOP分解為一組單目標問題(SOP);二是將MaOP分解為一組簡單的MOP
- 將大規模多目標優化問題轉化為多目標問題,即將MaOP轉換為MOP,然后采用MOEA解決。該方法有兩個分支:一是使用目標約簡方法來消除冗余或不相關的目標;二是用兩個或三個新定義的目標替換原始目標
代表性MOEA介紹
為了解決大型MOP的這些問題,目前學術界比較成功的策略,目前提出的一些策略,主要為兩類:
- 合作協同進化思想
- MOEA/DVA
1.合作協同進化思想介紹
Antonio和Coello提出合作的協同進化框架來解決大規模MOP,主要思想是將大量決策變量隨機分為相等大小的幾個小子組件,並在預定數量的周期內共同協作演化這些子組件。該思想對2-3個目標的大型MOP有效。
2.MOEA/DAV方法,Ma等人提出基於決策變量的MOEA,稱為MOEA/DVA,設計了一種基於優勢關系的決策變量分析方法,用於解決大規模MOP。在該方法中,設計了一種基於優勢關系的決策變量分析方法,將決策變量分為三類:
1.與收斂相關的變量
2.與多樣性相關的變量
3.與收斂和多樣性都相關的變量(目前將其單純視為與多樣性相關的變量)
研究表明,該決策變量分析方法對具有兩個或三個目標的大型MOP有效,但是未對MaOP進行評估。
而本文想要解決的就是MaOP問題,因此在DAV算法基礎上進行了特定的改進。
考慮到將決策變量優化為 收斂相關的變量 還是 多樣性相關的變量 的問題,如下例所示:
考慮雙目標MOP:
情況1:圖1顯示了在(1)中公式化的MOP上通過在[0,1]之間擾動一個變量而將另一個變量分別固定為0、0.5和1而獲得的采樣點。根據MOEA / DVA將x1和x2分別標記為與多樣性相關的變量和與收斂性和多樣性相關的變量。但是,由於x2對收斂的貢獻大於多樣性,因此將x2優化為收斂相關的變量而不是多樣性相關的變量將更為有益。
即使在DVA中被視為很明顯的和多樣性相關的變量,實際上為了保證算法的快速收斂有時也需要被考慮成收斂性變量進行優化。
情況2:圖2顯示了在(2)中公式化的MOP上通過在[0,1]之間擾動一個變量而將另一個變量分別固定為0.2、0.6和1而獲得的采樣點。根據MOEA / DVA將x1和x2都標記為與多樣性相關的變量。不過,在這種情況下,由於優化x2將引導總體趨向帕累托前沿,因此將x2標記為與收斂有關的變量更為有益。
綜合上述原因,為了解決大規模超多目標問題(MaOPs),基於MOEA/DVA提出了針對大型MaOP的基於決策變量聚類的MOEA(稱為LMEA)在LMEA中,提出了一種決策變量聚類方法,對收斂和多樣性變量分類。可以正確地分類上述示例中x2相似的變量。並且分別對這兩種不同的變量使用不同的進化方式。另外,提出了一種基於樹結構的快速非支配排序方式以提高計算效率。最后,證明了算法的效果相對於當時最先進的算法有顯著的提升。
算法原理
本文算法 的 主要貢獻如下:
- 提出的基於k-means的聚類算法將決策變量分類
- 提出算法LMEA,並且對於多樣性和收斂性方法采用了兩種不同的算子進行優化。
- 提出基於樹的快速非支配排序算法T-ENS,這是ENS[54]的改進版本。比目前大多數算法的時間復雜度小很多。
算法原理——LMEA
對於多樣性和收斂性方法采用了兩種不同的算子。對於收斂性變量選擇策略是基於和理想點的歐式距離;對於多樣性變量選擇策略依賴的是和候選解的角度。
N :群體大小;nSel :決策變量聚類的 解的數量
nPer :決策變量聚類每個解的 擾動數量;nCor :決策變量交互分析的 解的數量
算法2 對於收斂性相關的變量采用變量分析的方法將其分組
首先初始化一個相互作用的變量子群的空集子群,然后,基於它們之間的成對相互作用,將CV中與收斂相關的變量分配給不同的子群。
具體來說,如果一個變量與子群中至少一個現有變量有交互作用,那么這兩個變量被分配到同一個子群中;否則,它將被分配給一個新的子組。重復該操作,直到每個與收斂相關的變量被分配給一個子組。因此,在極端情況下,子群數與變量數相同,這意味着收斂相關變量是完全可分的;而如果變量是完全不可分的,那么只有一個子群。
算法3 收斂優化策略逐個優化變量的每個子組
- 非支配排序
- 計算每個解和理想點之間距離(原點)
- 進化每個子組中的收斂性變量以獲得后代
對於每個子組的變量,從P中挑兩個解做父代,只將這個維度變量交叉其余維度不變生成子代 , 子代父代根據收斂性能優勝劣汰 (不同層比較層數,層數越低越好,同層比較離理想點的距離,越近越好!)
算法4 分集優化策略優化多樣性相關變量
將所有多樣性相關的變量視為一個整體,對這所有的變量進行一次性的交叉,從種群P中生成等量后代,然后將子代種群和父代種群混合,並從中挑選出后代。
算法5 決策變量聚類算法
基於k-means的聚類算法根據采樣的解和收斂方向的夾角將決策變量分為收斂性和多樣性的變量。更小的夾角意味着變量對收斂的作用更大,更大的夾角意味着變量對多樣性的作用更大。舉例說明如何在LMEA識別具有四個決策變量的雙目標最小化問題的收斂相關變量和多樣性相關變量,表示為x1、x2、x3和x4。
DVA中的決策變量分析方法是基於優勢關系確定各變量的類別。聚類方法采用k-means方法來確定每個變量的類別,魯棒性更好。因為其性能與基於優勢的關系無關,而基於優勢的關系在多目標優化中可能由於優勢阻力的問題而無效。
N :群體大小
nSel :決策變量聚類的 解的數量
nPer :決策變量聚類每個解的 擾動數量
nCor :決策變量交互分析的 解的數量
圖一顯示了這種聚類方法,不同顏色線表示改變調查的不同的變量,相同顏色的條數表示從種群中采樣的個體數目,例如,白色的線條有兩條就是x2的采樣個數是兩個個體,而同一條線上點的個數表示對個體上這個變量采取的擾動的數量,例如這里對於單個個體的研究變量的擾動數目為8,所以一條線上的點的個數為8,同時,其他沒有考慮的變量此時保持不變。
圖二顯示了聚類的標准,就是當考慮同一個變量的改變時,兩個解構成的線分別與收斂方向構成的夾角,夾角較大表明變量與多樣更相關,而夾角越小表明變量與收斂更相關。
圖三顯示了聚類的操作方法,由於考慮的變量的采樣解的個數為二,因此構成的是一個二維的坐標系,通過這個坐標系上點的分布而通過K-means將變量分為兩個簇、對於考慮多個采樣,角度都比較大的變量划歸為多樣性相關的變量,而對於考慮多個采樣,角度都比較小的變量划歸為收斂性相關的變量。這種方式而言,單個變量采樣的數量越多,坐標系的維度越大,聚類的效果越好!
這三個圖說明了如何針對具有四個決策變量(分別為x1,x2,x3和x4)的雙目標最小化問題在LMEA中識別收斂相關變量和多樣相關變量。 在此示例中,在LMEA中x1和x2被標識為與多樣性相關的變量,x3和x4被標識為與收斂相關的變量。 圖一:由擾動產生的采樣解的目標值。 圖二:擬合線和超平面法線之間的角度。 圖三:對四個決策變量x1,x2,x3和x4進行聚類結果。
- 通過這個例子,可以看出決策變量聚類方法的主要思想,其中考慮了具有四個決策變量x1,x2,x3和x4的雙目標最小化問題。 為了確定決策變量是收斂性相關還是多樣性相關性,首先從總體中隨機選擇多個nSel(在此示例中為兩個)候選解決方案。 然后,對所選候選解的四個變量中的每個變量執行多個nPer(在此示例中為8)擾動。 圖一描繪了由擾動產生的采樣解的目標值。
- 然后,通過擾動每個變量的值的采樣解被標准化,生成一條線L以擬合每組標准化樣品解。使用歸一化的樣品解和擬合線L,計算每個擬合線L與超平面f1 +··+ fM = 1的法線之間的夾角,其中法線表示收斂方向,M是 目標。這樣,每個變量都會有幾個角度相關聯,這個數量和挑選的采樣解的數量相關(此處為2)
- 最后圖三中表示的是按照角度進行的聚類方法。
算法6 基於樹的快速非支配排序算法T-ENS
用於識別非支配關系的信息被記錄在樹的節點中,由此可以推斷出解之間大量的非支配關系。最終,只需要比較非支配前沿支配的解的子集得到結果。算法有很大的時間復雜度優化。
多目標優化問題與單目標優化問題有很大差異。存在多個目標時, 很難找到一個解使得所有的目標函數同時最優。因此,對於多目標優化問題,通常存在一個解集,這些解之間就全體目標函數而言是無法比較優劣的,其特點是:無法在改進任何目標函數的同時不削弱至少一個其他目標函數。這種解稱作非支配解(nondominated soluitons)或Pareto最優解(Pareto optimal Soluitons)
在LMEA中優化與收斂有關的變量和與多樣性有關的變量時都采用非支配排序。非支配排序選取的方法將極大影響LMEA的計算效率。傳統多目標優化中用來降低非支配排序的復雜性的方法大多數不適用於MaOPs。本文提出了一種計算效率高的基於樹的非支配排序方法,稱為T-ENS。基於快速樹的非支配排序主要思想是用一棵樹來表示每個非支配前沿的解,是在ENS算法的基礎上提出的,該框架允許在不調整樹的結構的情況下將候選解逐一插入樹中。受益於ENS的框架,T-ENS的計算復雜度大大降低。其中關於確定解之間非支配關系的目標的信息由存儲解的樹中節點的位置來記錄。因此,可以從已經被分配到前沿(存儲在樹中)的解中推斷出解之間的許多非支配關系,從而大大減少了屬於同一前沿的解之間的比較次數。帶來了計算效率的顯著提高,時間復雜度為O(MNlogN/logM),用於大多數候選解之間不具有優勢的種群。
非支配排序
該算法需要計算種群P中每個個體i 的兩個參數ni(種群中支配個體i的個體數目)和si(種群中被個體I 支配的個體集合)。
1、找出種群中所有ni=0的個體,保存在集合F1中(也就是第一層)。
2、對F1中的每個個體i,其所支配的個體集合為si,遍歷si中每個個體L,nL=nL-1,若nL=0,將L保存在集合H中(第二層)。
3、以H為當前集合,重復2,直到整個種群被分層.
在T-ENS中,用於識別非支配關系的信息被記錄在樹的節點中,由此可以推斷出解之間大量的非支配關系。 最終,只需要比較非支配前沿支配的解的子集,而不是全部。 理論分析表明,所提出的T-ENS的時間復雜度為O(MNlogN / logM),其中N表示人口規模,M表示目標數量,這要比目前大多數算法O(MN^2)的時間復雜度小很多。
表示第i個解決方案,第j個的值。
T-ENS開始為所有非支配前沿(F)構造樹:
①采用作為第一個非支配前向的根結點,所有屬於的其他解決方案將被作為的后代存儲。
②第i個解決方案在樹中的位置由滿足下公式的最小 j 決定
(其中是為解決方案隨機從2到M生成的序列的第j個元素,即滿足上述條件,將被存儲為根的第j個孩子節點。)
③如果有多個解滿足上述條件,多出的將存儲為孩子,也就是 的孫子節點,依此類推。
④重復上述過程,直到所有的解決方案都被檢查。
⑤當第一個非支配前向的樹構造完成后,依次構造 的樹,直到所有的解決方案都被放進樹中。
算法6–8以偽代碼的形式展示了T-ENS的詳細步驟。
T-ENS開始為每個非支配的前沿構造一棵樹。 T-ENS將第一個解p1作為第一個非主導前沿F1的樹的根,並且屬於F1的總體中的所有其他解將作為p1的后代存儲。解pi,2≤i≤N的位置在樹中,由滿足j的最小值j(j> 1)確定,fiobjSeq[1][ j] < f1 objSeq[1][ j],其中objSeq [1] [j]是序列的第j個元素。 更精確地,具有滿足上述條件的第objSeq [1] [j]個目標的解決方案pi將被存儲為根的第j個子級。 如果有多個滿足上述條件的解決方案,則下一個解決方案將存儲為pi的子代,即p1的孫代。 重復此過程,直到檢查總體中的所有解決方案為止。
在完成第一個非主導前沿F1的樹的構造后,T-ENS開始為第二個前沿F2構造一棵樹,直到總體中的所有解都分配給樹為止。
使用上面的樹來表示前面的解時,如果要分配給前面的解p不被樹中的解q所支配,則p的值小於objSeq [q] [j 第]個目標(由於在排序的總體中q排在p之前,因此p在第一個目標上具有大於q的值),則p與存儲為節點q的第k(k> j)個子項的解之間的非優勢關系 可以從q和p之間的非支配關系推斷出該孩子的所有后代,因為對於每個這些解s,我們有fp objSeq [q] [j] <fq objSeq [q] [j] <fs可以與這些進行比較 確定前objSeq [q] [j],j∈{1,2,...,M-1}的解。 因此,在確定p的前部時,無需與這些進行比較,這使得T-ENS對於MaOP非常有效。時間復雜度:O(MNlogN/logM)。
實驗結果及分析
IGD metric values of the five algorithms這兩個表格是用IGD作為性能評價指標對比幾種算法。
IGD的概念是:Pareto front(帕累托前沿)上的點到對應的近似前沿中的點的歐氏距離之和的均值。可以理解為參考點和算法所得點的距離,距離越小,證明算法所得結果越好。
在大多數的測試實例上,LMEA的IGD結果優於其他算法。
當決策變量數量為100或500時,LMEA最佳,而MOEA/DVA在具有1000變量的問題上為最佳。
LMEA和MOEA/DVA的運行時間由三部分組成:決策變量聚類的運行時間(在MOEA/DVA中稱為控制屬性分析),決策變量交互分析的運行時間 和 搜索階段的運行時間。
對於LMEA,變量聚類組件比其他兩個組件耗時少;另外,LMEA中搜索階段運行時間幾乎與決策變量的數量成線性關系。但另一方面,變量交互分析的運行時間隨決策變量的數量增加而迅速增加。
根據以上經驗結果,可以得出:與其他方法相比,LMEA能夠更有效地處理大規模MaOP。