廉侃超
(運(yùn)城學(xué)院 公共計(jì)算機(jī)教學(xué)部,山西 運(yùn)城 044000)
人口遷移算法PMA(Population Migration Algorithm)[1]于2003年由我國(guó)學(xué)者周永華、毛宗源提出,是一個(gè)性能較好的全局優(yōu)化搜索算法。該算法主要模擬人類(lèi)遷移的社會(huì)活動(dòng)機(jī)理:隨經(jīng)濟(jì)重心而轉(zhuǎn)移,隨人口壓力增大而擴(kuò)散。但算法步驟繁瑣,對(duì)較復(fù)雜的優(yōu)化問(wèn)題,存在著優(yōu)化精度低,易陷入局部最優(yōu)等缺點(diǎn)。為進(jìn)一步改善算法的性能,提出一種自適應(yīng)柯西變異人口遷移算法ACMPMA (Adaptive Cauchy Mutation Population Migration Algorithm),數(shù)值實(shí)驗(yàn)表明,改進(jìn)后的人口遷移算法有效提高了算法的性能,具有搜索質(zhì)量高,性能穩(wěn)定等特點(diǎn)。
高斯分布和柯西分布[2]是概率論與數(shù)理統(tǒng)計(jì)中的常見(jiàn)分布。圖1是標(biāo)準(zhǔn)柯西分布和標(biāo)準(zhǔn)高斯分布概率密度函數(shù)曲線??挛鞣植純啥粟呌诹愕乃俣缺雀咚狗植悸缭赑MA中對(duì)人口狀態(tài)變異,相對(duì)于高斯變異,柯西變異顯然具有更強(qiáng)的擾動(dòng)能力,人口更易跳出局部極值,可提高搜索速度和全局尋優(yōu)能力。
圖1 標(biāo)準(zhǔn)柯西、高斯分布概率密度函數(shù)圖
鑒于柯西分布及人口遷移算法的特點(diǎn),本文對(duì)人口遷移后優(yōu)惠區(qū)域的人口 xi=(x,…,x)進(jìn)行柯西變異,規(guī)則如下:
由隨機(jī)變量生成函數(shù)定理[2],式中標(biāo)準(zhǔn)柯西分布的隨 機(jī) 變 量 生 成 函 數(shù) Cauchy(0,1)為:Cauchy(0,1)=tan[(ξ-0.5)π],其中 ξ是[0,1]上服從均勻分布的隨機(jī)變量。
表1 本文算法(ACMPMA)與PMA的比較
本文取消人口擴(kuò)散過(guò)程,將算法步驟簡(jiǎn)化為5步;當(dāng)算法限入局部最優(yōu)時(shí),自適應(yīng)對(duì)優(yōu)惠區(qū)域的人口進(jìn)行柯西變異。算法步驟如下:
設(shè):Rn表示搜索空間,xi=(x,…,x)表示第 i個(gè)人口,xi∈Rn,x表示第 i個(gè)人口的第 j分量;δi=(,…,)表示第 i個(gè)人口的鄰域半徑,δi∈Rn,表示 δi的第 j個(gè)分量,>0;i=1,2,…,N,N 表示人口規(guī)模;j=1,2,…,n,n表示 Rn的維數(shù)。
步驟 1:在搜索空間隨機(jī)產(chǎn)生 N 個(gè)點(diǎn),x1,x2,…,xN。以每一個(gè)點(diǎn) xi為中心確定其鄰域上下界 xi±δi,其中取δ=(bj-aj)/(2N)。 計(jì)算 N 個(gè)點(diǎn)的值,并更新最優(yōu)記錄。
步驟2:人口流動(dòng):在每個(gè)人口xi的鄰域內(nèi)隨機(jī)產(chǎn)生一個(gè)人口,用其更新xi和最優(yōu)記錄,人口流動(dòng)次數(shù)加1。人口流動(dòng)次數(shù)l若小于預(yù)先指定的次數(shù),則重復(fù)步驟2,否則執(zhí)行步聚3。
步驟3:人口遷移:以最優(yōu)記錄的鄰域?yàn)閮?yōu)惠區(qū)域,在優(yōu)惠區(qū)域隨機(jī)產(chǎn)生N個(gè)人口,替換原人口群體,更新最優(yōu)記錄。若最優(yōu)記錄連續(xù)兩次未變化,則對(duì)優(yōu)惠區(qū)域的每個(gè)人口進(jìn)行柯西變異,并更新最優(yōu)記錄。收縮優(yōu)惠區(qū)域:δ=(1-Δ)δ。 若 maxδj>α(α 為人口壓力參數(shù)),則重復(fù)步驟3,否則執(zhí)行步驟4。
步驟4:迭代次數(shù)M加1,若迭代次數(shù)小于指定次數(shù)則轉(zhuǎn)步驟1,否則執(zhí)行步驟5。
步驟5:輸出最優(yōu)記錄。
本文采用 Windows XP操作系統(tǒng)、CPU為 Intel(R)Core(TM)2 Duo CPU T5870@2.00 GHz,內(nèi)存為 2.00 GB的ThinkPad SL400筆記本電腦。編程軟件為Matlab R2006a。
選取以下4個(gè)函數(shù)對(duì)本算法及PMA算法進(jìn)行測(cè)試:
該函數(shù)在(0,0)處有全局最小值 0.9。
該函數(shù)在(0,0)處有全局最小值 0。
該函數(shù)在(0,0)處有全局最小值-2。
該函數(shù)在(0,0)處有全局最小值 0。
實(shí)驗(yàn)中,兩種算法分別對(duì)每個(gè)函數(shù)獨(dú)立運(yùn)行50次,取最好值、最差值、平均值、成功率和標(biāo)準(zhǔn)偏差作為評(píng)價(jià)算法的性能指標(biāo)。若運(yùn)行的結(jié)果在全局最優(yōu)值的1%范圍內(nèi),則稱(chēng)本次運(yùn)行是成功的。兩種算法的參數(shù)設(shè)置保持一致,均為:人口規(guī)模 N=3,收縮系數(shù)△=0.01,人口壓力參數(shù) α=1e-7,迭代次數(shù) M=2,人口流動(dòng)次數(shù) L=10。測(cè)試結(jié)果如表1所示。
由表1知,本文算法從平均值、成功率和標(biāo)準(zhǔn)偏差幾個(gè)方面比PMA都更優(yōu)。
選取Schaffer函數(shù)作為測(cè)試函數(shù)。
該函數(shù)僅在(0,0)處有最小值 0,但在最小值附近有無(wú)窮多個(gè)局部極小值,使得尋優(yōu)極為困難。
測(cè)試中,本文算法對(duì)Schaffer函數(shù)獨(dú)立運(yùn)行50次,以平均最優(yōu)值和收斂成功率作為評(píng)價(jià)指標(biāo)。實(shí)驗(yàn)比較數(shù)據(jù)如表2所示。
表2 本文算法(ACMPMA)與其他算法的比較
從表2可知,從平均最優(yōu)值和收斂成功率來(lái)看,本文算法比NSMPSO、IOANGA、PMA算法效果都好。可見(jiàn),ACMPMA具有較好的尋優(yōu)性能。
基于人口遷移算法,算法步驟精簡(jiǎn),借用柯西變異的強(qiáng)擾動(dòng)性,自適應(yīng)地促使人口跳出局部極值,提高了算法的尋優(yōu)精度,增強(qiáng)了算法的全局尋優(yōu)能力。實(shí)驗(yàn)數(shù)據(jù)表明,該算法具有較好的穩(wěn)定性能和較高的求解質(zhì)量,可有效求解無(wú)約束復(fù)雜函數(shù)的優(yōu)化問(wèn)題。但算法的理論證明有待研究,在更多領(lǐng)域的應(yīng)用需進(jìn)一步探索。
[1]周永華,毛宗源.一種新的全局優(yōu)化搜索算法——人口遷移算法 (I)[J].華南理工大學(xué)學(xué)報(bào):自然科學(xué)版,2003,31(3):1-5.
[2]王梓坤.概率論基礎(chǔ)及其應(yīng)用[M].北京:科技出版社,1979.
[3]FAN S K S,ZAHARA E.A hybrid simplex search and particle swarm optimization for unconstrained optimization[J].European Journal of Operational Research, 2007, 108(2):527-548.
[4]華潔,崔杜武.基于個(gè)體優(yōu)化的自適應(yīng)小生境遺傳算法[J].計(jì)算機(jī)工程,2010,36(1):194-196.
[5]鄧輝,王勇,陳士亮.融合模式搜索與人口遷移的優(yōu)化算法[J].計(jì)算機(jī)工程,2011,37(13):175-177.