廉侃超,孟朝霞,王琴竹
(運城學院 公共計算機教學部,山西 運城 044000)
人口遷移算法 PMA(Population Migration Algorithm)[1,2]是我國學者周永華、毛宗源于2003年提出的一類模擬人口遷移機理的全局優(yōu)化算法,已應用于多個領(lǐng)域。但對復雜的優(yōu)化問題,PMA存在著搜索速度慢、易陷入局部最優(yōu)等缺點。云模型(Cloud model)是我國學者李德毅教授提出的定性和定量轉(zhuǎn)換模型,已成功應用于眾多領(lǐng)域。
提出一種多群體云人口遷移算法CMPMA(Cloudmodel-based Multi-colony Population Migration Algorithm),將云模型和人口遷移算法相結(jié)合,增加了群最優(yōu)記錄,進化過程中多個群體協(xié)作尋優(yōu)。典型的測試函數(shù)和應用實例的仿真結(jié)果表明,CMPMA是可行、高效、穩(wěn)定的。
原人口遷移算法的基本框架[1]如下:
(1)人們在原籍進行人口流動;(2)受優(yōu)惠地區(qū)吸引出現(xiàn)人口遷移;(3)人口在優(yōu)惠地區(qū)進行流動直到人口壓力達到一定限度;(4)人口從優(yōu)惠地區(qū)遷出,向外擴散,尋找新的機會。
在這個持續(xù)不斷的過程中,人口一方面經(jīng)遷移而聚集到優(yōu)惠區(qū)域,另一方面又因人口壓力的增加而遷離優(yōu)惠區(qū)域向外擴散??梢姡丝谶w移是人口在不斷的聚集和擴散的矛盾運動中尋找優(yōu)惠區(qū)域的過程。
定義 設(shè)U是一個用精確數(shù)值表示的論域 (一維的或多維的),U上對應著定性概念?A,對于論域中的任意一個元素 x,都存在一個有穩(wěn)定傾向的隨機數(shù) y=μA(x),叫作x對概念?A的確定度,μA(x)在U上的分布稱為云模型,簡稱云。當μA(x)服從正態(tài)分布時,稱為正態(tài)云模型。
云的數(shù)字特征用期望Ex、熵En和超熵He來表征,如圖1所示。它們反映了定性概念?A整體上的定量特征。生成云滴的算法或硬件稱為云發(fā)生器。
基本云發(fā)生器的算法步驟如下:
輸入:表示定性概念A?的3個數(shù)字特征值Ex、En、He和云滴數(shù)n。
輸出:n個云滴的定量值以及每個云滴代表概念A?的確定度。
(1)生成以En為期望值,He為標準差的一個正態(tài)隨機數(shù) En′;
(2)生成以Ex為期望值,En′為標準差的正態(tài)隨機數(shù)x;
(3)令x為定性概念A?的一次具體量化值,稱為云滴;
(4)計算 y=
(5)令y為x屬于定性概念A?的確定度;
(6)(x,y)完整地反映了這一次定性定量轉(zhuǎn)換的全部內(nèi)容;
(7)重復步驟(1)~步驟(6)直到產(chǎn)生 n 個云滴為止。
在人口遷移算法中,人口流動是“人們在原籍進行人口流動”,即每一次迭代過程中,人口的多次流動都是在初始人口的鄰域范圍內(nèi)流動。本文提出一種改進的人口流動方法,人口在其鄰域范圍流動后,再次流動的鄰域范圍以新人口為中心重新構(gòu)建。實驗結(jié)果表明,改進的人口流動提高了算法效率。
人口遷移算法初始群體的隨機性和人口流動的漫無目的性,在一定程度上影響了算法的尋優(yōu)性能。云模型具有隨機性和穩(wěn)定傾向性的特點,隨機性可以避免搜索陷入局部極值,而穩(wěn)定傾向性又可以很好地定位全局最值。分別用不同參數(shù)的基本云發(fā)生器來產(chǎn)生初始群體和實現(xiàn)人口流動操作,同時增加了群最優(yōu)記錄,提出CMPMA算法。
設(shè)Rn表示搜索空間,人及其所在地用點表示,xi=(,…,)表示第 i個人口,xi∈Rn,表示第 i個人口的第 j個分量;δi=(,…,δni)表示第 i個人口的鄰域半徑,δi∈Rn,表示 δi的第 j個分量,>0;i=1,2,…,N,N表示人口規(guī)模;j=1,2,n,n,表示 Rn的維數(shù)。
多群體云人口遷移算法的具體步驟如下:
(1)設(shè)定Ex為搜索空間中心點,En為尋優(yōu)空間的1/6,He=1,用基本云發(fā)生器在尋優(yōu)空間產(chǎn)生N個點,x1,x2,…,xN。 以每一個點 xi為中心確定其鄰域上下界 xi±δi,其中取=(bj-aj)/(2N)。 計算 N 個點的值,并按其初始化最優(yōu)記錄和群最優(yōu)記錄。
(2)人口流動(由基本云發(fā)生器實現(xiàn)):對每一個 xi都執(zhí)行的操作有:①Ex=xi;②En=δi;③He=En/10;(式中的參數(shù)10是實驗中的經(jīng)驗取值。)④由基本云發(fā)生器生成一個云滴更新 xi。 若>bj,則令 xji=bj;若<aj,則令=aj。更新群最優(yōu)記錄。以更新后的每個xi為中心重新構(gòu)建鄰域空間,構(gòu)建方法同步驟(1)。人口流動次數(shù)若小于預先指定的次數(shù)則重復步驟(2)。
(3)群體遷移:對群最優(yōu)記錄中的每個人口執(zhí)行:以其為中心,按δ各分量的大小確定優(yōu)惠區(qū)域,在該區(qū)域內(nèi)均勻隨機產(chǎn)生N個點,更新群最優(yōu)記錄,收縮優(yōu)惠區(qū)域:δ=(1-Δ)δ。若 max δj>α(α 為人口壓力參數(shù)),則重復步驟(3)。以群最優(yōu)記錄更新最優(yōu)記錄。
(4)人口擴散:用基本云發(fā)生器重新產(chǎn)生初始群體并確定人口流動區(qū)域,更新最優(yōu)記錄,清空群最優(yōu)記錄。迭代次數(shù)m加1,若迭代次數(shù)不大于指定次數(shù)則轉(zhuǎn)步驟(2)。
(5)輸出最優(yōu)記錄。
本文選取了3個典型的基準測試函數(shù)[4]進行仿真實驗,仿真均在Matlab2006a下編程運行。
(1)f1(x1,x2)=x12+x22-5≤x1,x2≤5
DeJong 函數(shù),單峰函數(shù),在(x1,x2)處,有最小值 0。(2)f2(x1,x2)=100(x12+x2)2+(1-x1)2-5≤x1,x2≤5 Rosenbrock 函數(shù):二維非凸、病態(tài)函數(shù), 在(x1,x2)=(1,1)處,有最小值 0。
Sinc 函數(shù),多峰函數(shù),在(x1,x2)=(0,0)處,有最大值 1。
算法參數(shù)為:人口規(guī)模N=3,人口流動次數(shù)l=10,迭代次數(shù)m=2。收縮系數(shù)Δ和人口壓力參數(shù)α的設(shè)置如表1所示。
表1 參數(shù)Δ和α設(shè)置表
表2 本文算法CMPMA與參考文獻[4]比較
為便于比較,對函數(shù)f1~f3獨立運行30次,統(tǒng)計30次中搜索到的最優(yōu)值中的最好值、最差值、平均值作為評價指標,與參考文獻[4]比較,結(jié)果如表2所示。
從表 2可知,對函數(shù) f1~f3,參考文獻[4]的 CAFSA算法的搜索結(jié)果只是接近理論最優(yōu),本文算法CMPMA可以穩(wěn)定收斂到理論上的最優(yōu)值,且參考文獻 [4]的CAFSA算法設(shè)定的迭代次數(shù)為50,而本文算法CMPMA設(shè)定的迭代次數(shù)為2。可見,CMPMA算法對復雜函數(shù)的尋優(yōu)效率和精度都較高,搜索結(jié)果令人滿意。
為進一步驗證算法的有效性,將CMPMA應用到最小推力滾珠導軌優(yōu)化設(shè)計模型[5-6]中,該實例設(shè)計要求在外載荷一定時,推力最小,即運動最靈敏。優(yōu)化數(shù)學模型描述如下:
s.t.30°≤α≤90°,30°≤β≤60°,0.3≤ε≤1,40≤p0≤80式中,α是負荷p與水平軸夾角;β是導軌V形槽半角;ε是表面硬度系數(shù);p0是初安裝負荷;k是滾動摩擦系數(shù);K是許用應力;p是運動件上全部負荷;z是滾珠個數(shù)。
各參數(shù)采用參考文獻 [5-6]的取值:p=50 N,k=0.01 mm,K=0.5 N/mm2,z=4。 CMPMA 各參數(shù)設(shè)置為:人口規(guī)模 N=3,人口流動次數(shù) l=10,收縮系數(shù) Δ=0.01,人口壓力參數(shù)α=0.1,迭代次數(shù)m=2。進行20次獨立實驗,每次得到的最優(yōu)推力值T=0.68248707619912(N),優(yōu)化參數(shù) α=30.000 000 000 000 00°,β=60.000 000 000 000 00°,ε=0.300 000 000 000 00,p0=40.000 000 000 000 00。 參考文獻[6]的復合形法得到的最優(yōu)值 T=0.68 428(N),參考文獻[5]的最優(yōu)結(jié)果為 T=0.682 5(N),優(yōu)化參數(shù) α=30.052 8°,β=59.998 4°,ε=0.3,p0=40.000 5。 可見,與參考文獻[5-6]相比,本文的尋優(yōu)結(jié)果精度更高。實例測試表明,CMPMA在工程設(shè)計領(lǐng)域是可行、有效的。
基于原人口遷移算法,增加了群最優(yōu)記錄,由多個群體協(xié)作尋優(yōu),并改進了人口流動的思想。借鑒正態(tài)云模型的隨機性和穩(wěn)定傾向性,提出用不同參數(shù)設(shè)置的基本云發(fā)生器分別產(chǎn)生初始群體和實現(xiàn)人口流動。多群體云人口遷移算法通過利用人口遷移算法的進化體制保留了其尋優(yōu)性能,又通過多群體合作,并結(jié)合正態(tài)云模型的穩(wěn)定傾向性、隨機性特點進一步提高了算法的搜索效率。經(jīng)典函數(shù)和實例測試結(jié)果證明了CMPMA算法的尋優(yōu)高效性和穩(wěn)定性。算法在其他領(lǐng)域的進一步拓展和其理論證明是下一步要做的工作。
[1]周永華,毛宗源.一種新的全局優(yōu)化搜索算法-人口遷移算法(I)[J].華南理工大學學報(自然科學版),2003,31(3):1-5.
[2]周永華,毛宗源.一種新的全局優(yōu)化搜索算法-人口遷移算法(II)[J].華南理工大學學報(自然科學版),2003,31(4):41-43.
[3]戴朝華,朱云芳,陳維榮,等.云遺傳算法及其應用[J].電子學報,2007,35(7):1419-1424.
[4]曲良東,何登旭.一種混沌人工魚群優(yōu)化算法[J].計算機工程與應用,2010,46(22):40-42.
[5]張梅鳳,邵誠,甘勇,等.基于變異算子與模擬退火混合的人工魚群優(yōu)化算法 [J].電子學報,2006,34(8):1381-1385.
[6]何獻忠,李萍,黃航汗,等.優(yōu)化技術(shù)及其應用(第二版)[M].北京:北京理工大學出版社,1995.