我想知道在多目標優化的選擇環境中,矢量生成遺傳算法(VEGA)與非點名排序遺傳算法(NSGA)算法有什麼不同?多目標優化:使用NSGA進行選擇與使用VEGA進行選擇
(我知道NSGA是帕累託爲主,而VEGA是基於非帕累託)
我想知道在多目標優化的選擇環境中,矢量生成遺傳算法(VEGA)與非點名排序遺傳算法(NSGA)算法有什麼不同?多目標優化:使用NSGA進行選擇與使用VEGA進行選擇
(我知道NSGA是帕累託爲主,而VEGA是基於非帕累託)
的差異是相當大的。正如你所說,一個是以帕累託爲基礎的,另一個則不是。在MOO中,這是一件很重要的事情。 VEGA通過將人口劃分爲不相交集合並迫使不同集合演變爲不同的單一目標。這裏有一些機制可以幫助將它們組合成帕累託集合的有意義的表示,但它基本上是針對不同目標的解決方案的聯合。選擇是通過選擇相對於其單獨設置的目標函數更好的解決方案來完成的。
NSGA和其他基於Pareto的方法是完全不同的。他們的選擇不是基於任何特定的目標選擇,而是基於解決方案的特性而不是相互之間的選擇。每種這樣的算法在執行這些比較時都做出略微不同的選擇,NSGA-II(絕對應該使用算法的第二版本)通過非支配排序來完成。基本上,你會發現所有非主導的解決方案,並稱他們設置#1。然後,如果您刪除了#1組中的元素,它們將變爲非支配的所有解決方案 - 它們將變爲#2組。你繼續下去,直到解決所有的解決方案,結果就像剝離洋蔥層。然後選擇程序是你總是選擇較低級別的成員(設置#1,然後#2,等等)。如果你不能把所有的特定層次的要素都拿走,你可以通過選擇與其他層次更接近的解決方案來打破關係,這個想法是,如果你不能把它們全部拿走,你至少應該儘量不要選擇你從一個小小的羣集中獲得的那些。
一般來說,你應該看看基於帕累託的方法。他們已經被證明是至少10至15年的選擇。特別是,你應該關注elitist基於Pareto的方法,如NSGA-II,SPEA2,epsilon-MOEA,以及一些最近的競爭者。