張 晶, 唐權(quán)華, 賈 璐
(1. 四川宜賓學院 圖書館, 四川 宜賓 644007; 2. 江西師范大學 軟件學院,江西 南昌 330022;3. 西南交通大學 峨嵋校區(qū), 四川 峨嵋 614202)
數(shù)值積分計算方法是連接工程問題與科學計算的橋梁;是便于應(yīng)用計算機解決實際工程問題的具體算法。在數(shù)值積分計算中,常用的有梯形法、Simpson法等很多傳統(tǒng)計算方法[1-3]。這些傳統(tǒng)的計算方法精度較低,可利用非數(shù)值優(yōu)化方法來求解數(shù)值積分,例如粒子群算法[4]。數(shù)值積分計算方法通過不等距節(jié)點積分方法,在積分區(qū)間內(nèi)任意選取一定節(jié)點,通過粒子群算法(Particle Swarm Optimization,PSO)優(yōu)化這些節(jié)點,得到了比較精確的積分結(jié)果。該方法好于梯形法和Simpson法,但PSO算法收斂速度慢、收斂精度低[5-6],在一定程度也會降低數(shù)值積分的精度。因此,有必要采用更有效的智能優(yōu)化算法來求解數(shù)值積分問題。
Simon依據(jù)生物種群在棲息地的分布、遷移、變異和滅絕的規(guī)律,首次提出了生物地理優(yōu)化算法(Biogeography-Based Optimization,BBO)[7]。與PSO相比,BBO具有簡單方便、參數(shù)少、收斂速度快、收索精度高的特點,已經(jīng)被應(yīng)用到很多工程技術(shù)問題[8-15]。因此,本文利用BBO算法求解數(shù)值積分問題,并與傳統(tǒng)的計算方法和PSO算法進行對比。
BBO算法通過群體中相鄰個體的遷徙和特殊個體的變異來尋找全局最優(yōu)解[7-10]。在BBO算法中,生物種群生活在不同的棲息地 (Habitat,H),每個棲息地根據(jù)物種種類的多少決定該棲息地的適應(yīng)性特性。
定義1適合物種居住的棲息地有較高的棲息地適應(yīng)性指數(shù)(Habitat Suitability Index,HSI):H→R,R表示實數(shù),表示對解集適應(yīng)度的評價[9-10]。在優(yōu)化問題中,若選擇HIS適應(yīng)度函數(shù)量化,則好的解集具有高HIS的棲息地;反之則具有低HSI的棲息地。
定義2與HSI有關(guān)的特性如雨量、溫度等,用適合指數(shù)變量(Suitability Index Variables,SIV)描述:SIV∈C,C為整數(shù)集,表示構(gòu)成H的元素。若存在H∈SIVn,則由n個SIV構(gòu)成的矢量表示優(yōu)化問題的可能解[10]。
BBO算法的核心操作是物種的遷徙和變異。每個棲息地都有自己的遷入率和遷出率,通過棲息地之間的遷移,棲息地之間可以直接分享適應(yīng)性特性,個別棲息地物種的變異能進一步提升該棲息地的適應(yīng)性。設(shè)棲息地具有物種種類S的概率為PS,在t到t+Δt時間內(nèi),概率PS改變?yōu)镻S(t+Δt),則有:
PS(t+Δt)=PS(t)(1-(λS+μS)Δt)+
PS-1(t)λS-1Δ(t)+PS+1(t)μS+1Δ(t)
(1)
式中:λS和μS分別表示該棲息地物種種類為S時的物種遷入率和遷出率。為了使式(1)成立,即使得t+Δt內(nèi)有S類物種,必須滿足相關(guān)條件[11],當Δt足夠小,式(1)對時間取極限,得:
PS=-(λS+μS)PS+λS-1PS-1+μS+1PS+1
(2)
設(shè)物種種群最大數(shù)為Smax,最大遷入率為E,最大遷出率為I,并令E=I。物種遷移模型如圖1所示。從圖中可以看出,在遷移率為E時,μS為0,物種種類為0;當λS=μS時,物種種類達到穩(wěn)定狀態(tài)S0;當λS=0,uS=E時,物種種類達到最大值Smax。因此,可以得到:
遷移算子采用離散方式,即將鄰近棲息地Hj中的SIV遷移給Hi中的SIV:
Hi(SIV)=Hj(SIV)
(6)
設(shè)最大變異率為mmax,棲息地個數(shù)為n,則基于線
圖1 棲息地物種遷移模型
性的變異率模型如下:
m(S)=mmax(1-PS/Pmax)
(7)
式中,Pmax=arg maxPi,i=1,2,…,n。
依據(jù)不等距節(jié)點原理,BBO求解數(shù)值積分具體算法如下:
(1) 初始化BBO算法參數(shù)。首先給出棲息地數(shù)量n、棲息地最大種群數(shù)Smax、最大遷入率E和最大遷出率I,最大變異率mmax,優(yōu)化問題的維度D等參數(shù),然后隨機初始化每個棲息地的HIV向量xi(i=1,2,…,n),每個HIV向量對應(yīng)于優(yōu)化問題的一個可能解。
(2) 計算棲息地的適應(yīng)度f(xi)。根據(jù)文獻[4],將xi置于積分區(qū)間的左右端點之間,并按照升序排列,積分區(qū)間總共有D+2個節(jié)點和D+1小段。先計算D+2個節(jié)點相鄰節(jié)點之間的距離dj(j=1,2,…,D),再計算D+2個節(jié)點對應(yīng)的函數(shù)值和D+1個小段中間節(jié)點的函數(shù)值。對比每小段左端點、中間節(jié)點和右端點積分函數(shù)值,函數(shù)值最小的記為wj,最大的記為Wj(j=1,2,…,D+1),從而得到第i個棲息地的適應(yīng)度為
(8)
(3) 計算棲息地的遷入率和變異率,重新計算適應(yīng)度f(xi)。計算棲息地i對應(yīng)的物種種類Si,遷入率λS和遷出率uS,通過遷移和變異,重新計算棲息地i的適應(yīng)度函數(shù)f(xi)。
(4) 判斷是否滿足停止條件,并輸出數(shù)值積分結(jié)果。若達到指定精度或者迭代次數(shù),停止迭代;否則跳轉(zhuǎn)到(3),繼續(xù)迭代。算法結(jié)束時,采用改進的數(shù)值積分計算公式:
(9)
式中:gj為積分區(qū)間第j個端點的積分函數(shù)值;gj+0.5為第j和j+1端點之間的積分函數(shù)值。
(a) x2
(d) sinx
(e) 1/(1+x)
(f) ex
圖2 積分函數(shù)的適應(yīng)度變化
表2 基于不同積分方法的函數(shù)x/(4+x2)計算結(jié)果
圖3 積分函數(shù)x/(4+x2)的適應(yīng)度變化曲線
本文介紹了生物地理優(yōu)化算法的基本原理,并給出了基于生物地理優(yōu)化算法求解數(shù)值積分方法和步驟。數(shù)值積分函數(shù)算例仿真結(jié)果表明,生物地理優(yōu)化算法求解數(shù)值積分精度高,自適應(yīng)性強,積分結(jié)果明顯好于粒子群算法、梯形法和Simpson法。
[1] 王能超.計算方法—算法設(shè)計及其Matlab實現(xiàn)[M ].北京:高等教育出版社, 2008:45-55.
[2] 李慶揚,王能超,易大義.數(shù)值分析[M].4版. 武漢:華中科技大學出版社,2006:86-89.
[3] 呂同富,康兆敏,方秀男.數(shù)值計算方法[M].2版. 北京:清華大學出版社,2012:258-264.
[4] 韋杏瓊,周永權(quán).基于粒子群算法的數(shù)值積分方法研究[J].微電子學與計算機,2009,26(7):118-119.
WEI Xing-qiong, ZHOU Yong-quan. Numerical Integral Method Research Based on PSO [J]. Microelectronics & Computer, 2009,26(7):118-119.
[5] Kennedy J,Eberhart R C.Particle swarm optimization[C]//Proc of the IEEE International Conference on Neural Networks.Piscataway, NJ:IEEE Service Center,1995:1942-1948.
[6] 黃少榮.粒子群優(yōu)化算法綜述[J].計算機工程與應(yīng)用,2009,30(8):1977-1980.
HUANG Shao-rong. Survey of particle swarm optimization algorithm[J].Computer Engineering and Design, 2009,30(8):1977-1980.
[7] DAN Simon. Biogeography-based optimization[J].IEEE Transactions on Evolutionary Computation, 2008, 12(6): 702-713.
[8] 張 萍,魏 平,于鴻洋,等.基于混沌的生物地理分布優(yōu)化算法[J].電子科技大學學報,2012,41(1): 65-67.
ZHANG Ping, WEI Ping, YU Hong-yang,etal. Biogeography-Based Optimization Algorithm by Using Chaotic Search[J]. Journal of University of Electronic Science and Technology of China, 2012,41(1): 65-67.
[9] 馬海平,李 雪,林升東.生物地理學優(yōu)化算法的遷移率模型分析[J].東南大學學報(自然科學版),2009,39(1):17-21.
MA Hai-ping, LI Xue, LIN Sheng-dong. Analysis of migration ratemodels for biogeography-based optimization[J]. Journal of Southeast University ( Natural Science Edition), 2009,39(1):17-21.
[10] 馬海平,陳子棟,潘張鑫.一類基于物種遷移優(yōu)化的進化算法[J].控制與決策,2009,24(11):1621-1624.
MA Hai-ping,CHEN Zi-dong, PAN Zhang-xin. Evolutionary algorithm based on species migration optimization[J]. Control and Decision, 2009,24(11):1621-1624.
[11] 張 萍,魏 平,于鴻洋.一種基于生物地理優(yōu)化的快速運動估計算法[J].電子與信息學報,2011,33(5):1018-1025.
ZHANG Ping, WEI Ping, YU Hong-yang. A Biogeography-based Optimization Algorithm for Fast Motion Estimation [J]. Journal of Electronics & Information Technology, 2011,33(5):1018-1025.
[12] 王存睿,王楠楠,段曉東,等.生物地理學優(yōu)化算法綜述[J].計算機科學,2010,37(7):35-37.
WANG Cun-rui, WANG Nan-nan,DUAN Xiao-dong,etal. Survey of Biogeography-based Optimization[J].Computer Science, 2010,37(7):35-37.
[13] 蔡之華,龔文引,LING C X.基于進化規(guī)劃的新型生物地理學優(yōu)化算法研究[J].系統(tǒng)工程理論與實踐,2010,30( 6) : 1106-1112.
CAI Zhi-hua,GONG Wen-yin,LING C X.Research on a Novel Biogeography-Based Optimization Algorithm Based on Evolutionary Programming[J].Systems Engineering-Theory & Practice,2010,30( 6) : 1106-1112.
[14] Boussad I,Chatterjee A,Siarry P,etal.Two-Stage Update Biogeography-Based Optimization Using Differential Evolution Algorithm ( DBBO)[J].Computers and Operations Research,2011,38 ( 8 ) : 1188-1198.
[15] 畢曉君,王 玨.基于混合遷移策略的生物地理學優(yōu)化算法[J].模式識別與人工智能,2012,25(5):769-774.
BI Xiao-Jun,WANG Jue. Biogeography-Based Optimization Based on Hybrid Migration Strategy[J].PR & AI, 2012,25(5):769-774.