一種多目標(biāo)元胞差分方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及一種多目標(biāo)元胞差分的優(yōu)化方法。
【背景技術(shù)】
[0002] 在科學(xué)和工程領(lǐng)域存在大量的多目標(biāo)優(yōu)化問(wèn)題。多目標(biāo)優(yōu)化問(wèn)題與單目標(biāo)優(yōu)化問(wèn) 題的本質(zhì)區(qū)別在于,前者的解不是唯一的,而是一個(gè)折中的解集,即Pareto解集。傳統(tǒng)多目 標(biāo)優(yōu)化算法包括加權(quán)法、約束法和目標(biāo)規(guī)劃法等。這些方法都是將多目標(biāo)問(wèn)題轉(zhuǎn)換為單目 標(biāo)問(wèn)題,其缺點(diǎn)是需要充分的先驗(yàn)知識(shí),而且難以處理目標(biāo)噪聲,魯棒性較差。由于多目標(biāo) 優(yōu)化問(wèn)題的目標(biāo)函數(shù)和約束可能是非線性、不可微或不連續(xù)的,傳統(tǒng)的數(shù)學(xué)規(guī)劃方法往往 效率較低,且它們對(duì)于權(quán)重值或目標(biāo)給定的次序較敏感。
[0003] 進(jìn)化方法是一種模擬自然進(jìn)化過(guò)程的隨機(jī)全局優(yōu)化方法,它采用群體搜索和群體 中個(gè)體間信息交換的方式搜索問(wèn)題的解。與傳統(tǒng)方法相比,其優(yōu)點(diǎn)在于:首先,進(jìn)化搜索過(guò) 程具有隨機(jī)性,不易陷入局部最優(yōu);其次,它具有并行性,能夠同時(shí)進(jìn)化尋找到多個(gè)解,適合 多目標(biāo)優(yōu)化問(wèn)題;第三,能夠處理不連續(xù),不可微和Pareto前沿非凸等問(wèn)題,不需要過(guò)多先 驗(yàn)知識(shí)。
[0004] 目前,既有的對(duì)元胞自動(dòng)機(jī)應(yīng)用于遺傳算法的研究大體分為兩類:第一類用元胞 自動(dòng)機(jī)豐富的演化規(guī)則來(lái)替代傳統(tǒng)遺傳算法中的某些遺傳操作;第二類則以復(fù)雜系統(tǒng)理論 為基礎(chǔ),它將種群中的個(gè)體分配到元胞空間中,借助元胞自動(dòng)機(jī)模型的鄰居結(jié)構(gòu)來(lái)實(shí)現(xiàn)優(yōu) 良的解在種群中擴(kuò)散及引導(dǎo)其他解的進(jìn)化。通過(guò)不斷執(zhí)行局部的遺傳操作,最終實(shí)現(xiàn)整個(gè) 種群的進(jìn)化。元胞遺傳方法中,這種解的擴(kuò)散作用可以使解在搜索過(guò)程中能很好地保持整 體搜索和局部尋優(yōu)的良好平衡,從而有效地避免陷入局部最優(yōu)。2007年,Alba等在優(yōu)化城市 自組網(wǎng)廣播策略中,提出了 cMOGAAebro等對(duì)cMOGA進(jìn)行了改進(jìn),增加了外部種群的反饋機(jī) 制,提出了MOCe 11。為了能更好地解決三目標(biāo)問(wèn)題,Duri 11〇等將MOCel 1與DE算法混合,提出 了 CellDE。張屹等采用一種新的優(yōu)良個(gè)體的替換方法,提出了 DECell。
[0005] 現(xiàn)有的多目標(biāo)元胞差分方法往往采用外部存檔集來(lái)收集一些非支配的解,然后在 每代進(jìn)化結(jié)束后,由外部存檔集向種群反饋一定數(shù)量的非支配解。這種反饋機(jī)制不利于 Pareto前端的分布均勻性及覆蓋范圍,因?yàn)檫@種策略沒(méi)有從整個(gè)種群角度來(lái)考慮Pareto前 端的分布。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明要克服現(xiàn)有技術(shù)的上述缺點(diǎn),提供一種多目標(biāo)元胞差分的優(yōu)化方法。
[0007] 本發(fā)明所述的多目標(biāo)元胞差分方法,包括如下步驟:
[0008] 1、創(chuàng)建多目標(biāo)函數(shù),對(duì)于含約束的多目標(biāo)問(wèn)題,還需要?jiǎng)?chuàng)建約束條件。
[0009] 2、對(duì)種群進(jìn)行隨機(jī)初始化,即對(duì)每個(gè)個(gè)體的決策變量隨機(jī)初始化。計(jì)算每個(gè)個(gè)體 的目標(biāo)函數(shù)值,再將種群中的個(gè)體隨機(jī)分布到二維環(huán)形網(wǎng)格中,并將當(dāng)前種群存入外部存 檔集。
[0010] 3、從每個(gè)當(dāng)前個(gè)體的周圍鄰居中通過(guò)二元錦標(biāo)賽選出兩個(gè)較優(yōu)秀的個(gè)體,將它們 與當(dāng)前個(gè)體共同作為父本,然后進(jìn)行差分變異、交叉操作獲得子代,并計(jì)算子代的目標(biāo)函數(shù) 值。
[0011 ]元胞自動(dòng)機(jī)的鄰居結(jié)構(gòu)有很多,這里采用Moore型鄰居結(jié)構(gòu)。在Moore型中,一個(gè)元 胞的上、下、左、右、左上、左下、右上、右下相鄰的八個(gè)元胞為該元胞的鄰居。
[0012] 設(shè)種群規(guī)模為N,d為解空間的維數(shù)。Xrl、Xr2、Xr3為三個(gè)父本。Vi為變異向量,Ui為子 代向量。
[0013] (a)差分變異操作
[0014] Vi. j = Xrl. j+F · (Xr2.j-Xr3. j),ie[l,N],je[l,d]
[0015] F為介于[0,1]間的縮放因子。
[0016] (b)差分交叉操作
[0017]
[0018] randi. j為[0,1 ]之間均勻分布的隨機(jī)數(shù),CR為介于[0,1 ]間的交叉常量,randj e [1,2,…,d]〇
[0019] 4、根據(jù)秩與擁擠距離,選出鄰居中的最差者。整個(gè)進(jìn)化過(guò)程根據(jù)替換策略的不同 分為兩個(gè)階段。在第一階段,采用替換策略I進(jìn)化。在第二階段,采用替換策略Π 進(jìn)化。
[0020] 替換策略I:如果新產(chǎn)生的個(gè)體不被當(dāng)前個(gè)體與鄰居中的最差個(gè)體支配,則對(duì)當(dāng)前 個(gè)體及鄰居中的最差者進(jìn)行替換,并將新產(chǎn)生的個(gè)體加入外部存檔集。
[0021] 替換策略Π :-旦新產(chǎn)生的個(gè)體支配當(dāng)前個(gè)體或鄰居中的最差個(gè)體,則對(duì)當(dāng)前個(gè) 體或鄰居中的最差者進(jìn)行替換,并將當(dāng)前個(gè)體加入外部存檔集。
[0022] 5、重復(fù)3與4的步驟,直到完成最后一個(gè)個(gè)體的進(jìn)化。
[0023] 6、在每代進(jìn)化結(jié)束后,根據(jù)秩與擁擠距離對(duì)外部存檔集的個(gè)體進(jìn)行排序(秩低的 排在前;秩相同的個(gè)體比較擁擠距離,擁擠距離大的排在前面),并剔除超過(guò)種群規(guī)模的個(gè) 體。
[0024] 7、將整個(gè)外部存檔集中的個(gè)體作為下一次進(jìn)化的種群,并將其隨機(jī)分布到二維網(wǎng) 格中,繼續(xù)進(jìn)化直至滿足進(jìn)化的終止條件。
[0025] 常規(guī)的元胞差分方法采用了部分反饋機(jī)制,具體的操作過(guò)程是這樣的:使用外部 存檔集來(lái)收集進(jìn)化過(guò)程中的非支配解,然后在當(dāng)代進(jìn)化結(jié)束后,從外部存檔集選取一定數(shù) 量的非支配解(一般為種群數(shù)量的20%)來(lái)替代從網(wǎng)格中隨機(jī)選取的個(gè)體。
[0026] 本專利提出了一種新的反饋機(jī)制:在每代進(jìn)化之前,將父代種群加入外部存檔集 中,同時(shí)外部存檔集又被用來(lái)收集進(jìn)化過(guò)程中的非支配解,然后在當(dāng)代進(jìn)化結(jié)束后,根據(jù)秩 與擁擠距離剔除超過(guò)種群規(guī)模的非支配個(gè)體,將剩余的所有個(gè)體作為下一代的父本,并將 它們隨機(jī)分配到二維環(huán)形網(wǎng)狀結(jié)構(gòu)中。
[0027] 本發(fā)明提出了一種新的多目標(biāo)元胞差分方法,其反饋機(jī)制和替換策略作了根本性 改變。新的反饋機(jī)制是從整個(gè)Pareto前端的分布角度出發(fā)的,它強(qiáng)化了整個(gè)種群在搜索中 的作用,同時(shí)將整個(gè)種群的個(gè)體隨機(jī)分布到二維環(huán)形網(wǎng)狀結(jié)構(gòu)中,又可以很好地避免整個(gè) 種群陷入局部最優(yōu)。替換策略I考慮到了 Moore型鄰居結(jié)構(gòu)中互不支配的個(gè)體在整個(gè)種群中 的優(yōu)劣是不確定的,因此采取了將與父代以及最差鄰居互不支配的子代收集起來(lái)的策略。 為了進(jìn)一步提高解的收斂性,提出了替換策略Π 。測(cè)試表明:新的反饋機(jī)制和新的替換策略 改善了解的前端分布均勻性,提高了前端的覆蓋范圍。
[0028]本發(fā)明的優(yōu)點(diǎn)是:改善了解的前端分布均勻性,提高了前端的覆蓋范圍。
【附圖說(shuō)明】
[0029]圖1是NCellDE方法實(shí)施流程。
[0030] 圖2是Moore型鄰居結(jié)構(gòu)。
[0031 ] 圖3是兩種方法求解0syczka2時(shí)獲得的Pareto前端。
[0032] 圖4是兩種方法求解DTLZ2時(shí)獲得的Pareto前端。
[0033]圖5是減速器結(jié)構(gòu)示意圖。
[0034]圖6是對(duì)減速器優(yōu)化獲得的Pareto前端。
【具體實(shí)施方式】
[0035]下面結(jié)合附圖,進(jìn)一步說(shuō)明本發(fā)明。
[0036]本發(fā)明所述的新的反饋機(jī)制和替換策略的多目標(biāo)元胞差分方法(NCellDE)。其流 程如圖1所不。
[0037] 具體步驟如下:
[0038] 1、創(chuàng)建多目標(biāo)函數(shù),對(duì)于含約束的多目標(biāo)問(wèn)題,還需要?jiǎng)?chuàng)建約束條件。
[0039] 2、對(duì)種群進(jìn)行隨機(jī)初始化,即對(duì)每個(gè)個(gè)體的決策變量隨機(jī)初始化。計(jì)算每個(gè)個(gè)體 的目標(biāo)函數(shù)值,再將種群中的個(gè)體隨機(jī)分布到二維環(huán)形網(wǎng)格中,并將當(dāng)前種群存入外部存 檔集。
[0040] 3、從每個(gè)當(dāng)前個(gè)體的周圍鄰居中通過(guò)二元錦標(biāo)賽選出兩個(gè)較優(yōu)秀的個(gè)體,將它們 與當(dāng)前個(gè)體共同作為父本,然后進(jìn)行差分變異、交叉操作獲得子代,并計(jì)算子代的目標(biāo)函數(shù) 值。
[0041]元胞自動(dòng)機(jī)的鄰居結(jié)構(gòu)有很多,這里采用Moore型鄰居結(jié)構(gòu)(圖2)。在Moore型中, 一個(gè)元胞的上、下、左、右、左上、左下、右上、右下相鄰的八個(gè)元胞為該元胞的鄰居。
[0042]設(shè)種群規(guī)模為N,d為解空間的維數(shù)。Xrl、Xr2、Xr3為三個(gè)父本。Vi為變異向量,Ui為子 代向量。
[0043] (a)差分變異操作
[0044]