智能優(yōu)化算法:生物地理學(xué)優(yōu)化算法-附代碼
@[toc]
摘要:Alfred Wallace和Charles Darwin在19世紀(jì)提出了生物地理學(xué)理論,研究生物物種棲息地的分布、遷移和滅絕規(guī)律。Simon受到生物地理學(xué)理論的啟發(fā),在對(duì)生物物種遷移數(shù)學(xué)模型的研究基礎(chǔ)上吗冤,于 2008年提出了一種新的智能優(yōu)化算法 — 生物地理學(xué)優(yōu)化算法(Biogeography-Based Optimization,BBO)。BBO算法是一種基于生物地理學(xué)理論的新型算法嘴纺,具有良好的收斂性和穩(wěn)定性,受到越來(lái)越多學(xué)者的關(guān)注浓冒。
1.算法原理
BO算法的基本思想來(lái)源于生物地理學(xué)理論栽渴。如圖1所示,生物物種生活在多個(gè)棲息地(Habitat)上稳懒,每個(gè)棲息地用棲息適宜指數(shù)(Habitat Suitability Index闲擦,HSI)表示,與HSI相關(guān)的因素有降雨量场梆、植被多樣性墅冷、地貌特征、土地面積或油、溫度和濕度等,將其稱(chēng)為適宜指數(shù)變量(Suitability Index Variables腔彰,SIV)辖佣。
HSI是影響棲息地上物種分布和遷移的重要因素之一霹抛。較高 HSI的棲息地物種種類(lèi)多;反之卷谈,較低 HSI的棲息地物種種類(lèi)少〕В可見(jiàn),棲息地的HSI與生物多樣性成正比凸郑。高 HSI的棲息地由于生存空間趨于飽和等
問(wèn)題會(huì)有大量物種遷出到相鄰棲息地裳食,并伴有少量物種遷入;而低 HSI的棲息地其物種數(shù)量較少芙沥,會(huì)有較多物種的遷入和較少物種的遷出浊吏。但是救氯,當(dāng)某一棲息地HSI一直保持較低水平時(shí),則該棲息地上的物種會(huì)趨于滅絕墩衙,或?qū)ふ伊硗獾臈⒌丶锥叮簿褪峭蛔儭_w移和突變是BBO算法的兩個(gè)重要操作准谚。棲息地之間通過(guò)遷移和突變操作,增強(qiáng)物種間信息的交換與共享樊破,提高物種的多樣性唆铐。
BBO算法具有一般進(jìn)化算法簡(jiǎn)單有效的特性,與其他進(jìn)化算法具有類(lèi)似特點(diǎn)惫恼。
(1)棲息適宜指數(shù)HSI表示優(yōu)化問(wèn)題的適應(yīng)度函數(shù)值澳盐,類(lèi)似于遺傳算法中的適應(yīng)度函數(shù)。HSI是評(píng)價(jià)解集好壞的標(biāo)準(zhǔn)腕窥。
(2)棲息地表示候選解筛婉,適宜指數(shù)變量 SIV 表示解的特征,類(lèi)似于遺傳算法中的“基因”爽撒。
(3)棲息地的遷入和遷出機(jī)制提供了解集中信息交換機(jī)制。高 HSI的解以一定的遷出率將信息共享給低HSI的解哨毁。
(4)棲息地會(huì)根據(jù)物種數(shù)量進(jìn)行突變操作源武,提高種群多樣性想幻,使得算法具有較強(qiáng)的自適應(yīng)能力话浇。
BBO算法的具體流程為:
步驟1 初始化BBO算法參數(shù),包括棲息地?cái)?shù)量食店、遷入率最大值
和遷出率最大值
岖瑰、最大突變率
等參數(shù)。
步驟2 初始化棲息地,對(duì)每個(gè)棲息地及物種進(jìn)行隨機(jī)或者啟發(fā)式初始化露戒。
步驟3 計(jì)算每個(gè)棲息地的適宜指數(shù)HSI捶箱;判斷是否滿足停止準(zhǔn)則,如果滿足就停止丁屎,輸出最優(yōu)解;否則轉(zhuǎn)步驟4证九。
步驟4 執(zhí)行遷移操作共虑,對(duì)每個(gè)棲息地計(jì)算其遷入率和遷出率,對(duì)SIV進(jìn)行修改拥坛,重新計(jì)算適宜指數(shù)HSI尘分。
步驟5 執(zhí)行突變操作,根據(jù)突變算子更新棲息地物種著摔,重新計(jì)算適宜指數(shù)HSI竭钝。
步驟6 轉(zhuǎn)到步驟3進(jìn)行下一次迭代雹洗。
1.1 遷移操作
如圖2所示卧波,該模型為單個(gè)棲息地的物種遷移模型。
橫坐標(biāo)為棲息地種群數(shù)量 S 螃成,縱坐標(biāo)為遷移比率 η查坪,λ(s) 和 μ(s) 分別為種群數(shù)量的遷入率和遷出率偿曙。當(dāng)種群數(shù)量為 0 時(shí),種群的遷出率 μ(s) 為 0望忆,種群的遷入率λ(s) 最大;當(dāng)種群數(shù)量達(dá)到 S max 時(shí)稿壁,種群的遷入率 λ(s)為0歉备,種群遷出率 u(s) 達(dá)到最大。當(dāng)種群數(shù)量為 S 0 時(shí)喧笔,遷出率和遷入率相等肚豺,此時(shí)達(dá)到動(dòng)態(tài)平衡狀態(tài)。根據(jù)圖2梗劫,得出遷入率和遷出率為:
遷移操作的步驟可以描述為:
Step1:for i= 1 to N do
Step2: 用遷入率 選取
Step3: if (0截碴,1)之間的均勻隨機(jī)數(shù)小于 then
Step4: for j= 1 to N do
Step5: 用遷出率 選取
Step6: if (0,1)之間的均勻隨機(jī)數(shù)小于 then
Step7: 從 中隨機(jī)選取一個(gè)變量SIV
Step8: 用SIV替換中的一個(gè)隨機(jī)SIV
Step9: end if
Step10: end for
Step11: end if
Step12:end for
1.2 突變(Mutation)操作
突變操作是模擬棲息地生態(tài)環(huán)境的突變走哺,改變棲息地物種的數(shù)量丙躏,為棲息地提供物種的多樣性,為算法提供更多的搜索目標(biāo)晒旅。棲息地的突變概率與其物種數(shù)量概率成反比。即
其中: 為最大突變率谈秫;
為棲息地中物種數(shù)量為
對(duì)應(yīng)的概率鱼鼓;
為
的最大值迄本;
是棲息地中物種數(shù)量為
對(duì)應(yīng)的突變概率。
突變操作的步驟可以描述為:
Step1:for i= 1 to N do
Step2: 計(jì)算突變概率
Step3: 用突變概率 選取一個(gè)變量
Step4: if (0喜颁,1)之間的均勻隨機(jī)數(shù)小于 then
Step5: 隨機(jī)一個(gè)變量代替 中的SIV
Step6: end if
Step7:end for
2.算法結(jié)果
3.參考文獻(xiàn)
[1] Simon D.Biogeography-based optimization[J].IEEE Trans-
actions on Evolutionary Computation曹阔,2008(6):702-713.
[2]張國(guó)輝,聶黎,張利平.生物地理學(xué)優(yōu)化算法理論及其應(yīng)用研究綜述[J].計(jì)算機(jī)工程與應(yīng)用,2015,51(03):12-17.
4.Matlab代碼
https://mianbaoduo.com/o/bread/aJqZmZ8=