摘要:為了解決多目標(biāo)優(yōu)化問題,該文提出了一種改進(jìn)的基于分解的多目標(biāo)進(jìn)化算法,算法與基于分解的多目標(biāo)算法的最大不同是采用了三角差分算子,實(shí)驗(yàn)結(jié)果表明改進(jìn)的算法優(yōu)于原有的基于分解的多目標(biāo)優(yōu)化算法。
關(guān)鍵詞:多目標(biāo)優(yōu)化問題;多目標(biāo)進(jìn)化計(jì)算;分解;三角差分
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2012)31-7492-03
實(shí)際問題一般都是多屬性的,往往需要同時(shí)優(yōu)化多個(gè)目標(biāo)。根據(jù)選擇機(jī)制的不同,可將多目標(biāo)優(yōu)化進(jìn)化算法(MOEAs: Multiobjective Evolutionary Algorithms)當(dāng)前的主流是基于Pareto的[1]。許多經(jīng)典的算法如NSGA-II[2]等,被研究出來,但此類算法只能適用于處理低維優(yōu)化問題,而對較為復(fù)雜的多目標(biāo)優(yōu)化問題無能為力,無法找到優(yōu)化問題的近似Pareto最優(yōu)面。
Zhang和Li[2]通過預(yù)先產(chǎn)生均勻分布的權(quán)值向量將多目標(biāo)優(yōu)化問題轉(zhuǎn)換為一組單目標(biāo)子問題,并為每個(gè)子問題分配一個(gè)個(gè)體,從而提出了MOEA/D(Multiobjective Evolutionary Algorithm based on Decomposition) [3]。在進(jìn)化的過程中使用了差分算子,實(shí)驗(yàn)表明,該算法能有效地處理高維問題及決策空間不連續(xù)問題[3]]。
使用差分算子解決多目標(biāo)優(yōu)化問題時(shí),對于多目標(biāo)優(yōu)化問題,簡單的運(yùn)用差分算子進(jìn)行全局搜索,面臨著全局的搜索能力較差的問題,并不能夠使算法得到更好的結(jié)果。有鑒于此我們引入三角差分算子運(yùn)用基于分解的多目標(biāo)優(yōu)化算法。
1 改進(jìn)的MOEA/D算法
MOEA/D在將多目標(biāo)優(yōu)化問題分解為一組單目標(biāo)子問題并為每個(gè)子問題分配一個(gè)個(gè)體,由各個(gè)子問題上的個(gè)體組成初始種群,通過均勻的并行進(jìn)化各個(gè)子問題而得到一組解集。基于鄰域的進(jìn)化是MOEA/D 的有效搜索機(jī)制之一。此外,為了計(jì)算適應(yīng)度,MOEA/D算法成功地將數(shù)學(xué)規(guī)劃中常用的分解方法引入到進(jìn)化多目標(biāo)領(lǐng)域,使用分解方法計(jì)算適應(yīng)度可以直接采用求解單目標(biāo)優(yōu)化問題時(shí)的適應(yīng)度分配和多樣性保持策略[3]。目前最常用的分解方法有:Weighted Sum、Tchebycheff和Penalty-based Boundary Intersection(PBI)。