智能優(yōu)化算法:2020被囊群算法-附代碼
@[toc]
摘要:被囊群優(yōu)化(Tunicate Swarm Algorithm,TSA)是Satnam Kaur 等[1]提出的一種新的優(yōu)化算法,它的靈感來自以在深海中成功生存被膜的成群行為,其優(yōu)點(diǎn)在于操作簡單,調(diào)整的參數(shù)少以及跳出局部最優(yōu)的能力強(qiáng)。
1.算法原理
被膜動(dòng)物是明亮的生物發(fā)光體,發(fā)出淺藍(lán)色-綠色的光,可以在數(shù)米之外看到。被膜動(dòng)物呈圓柱形,一端開口,另一端閉合。每個(gè)被膜動(dòng)物的大小都有幾毫米。在每個(gè)被膜組織中都有一個(gè)共同的膠狀被膜,它有助于連接所有個(gè)體。然而,每一個(gè)被膜動(dòng)物各自從周圍的海水中取水,并通過心房虹吸管產(chǎn)生噴氣推進(jìn)。被膜動(dòng)物是唯一一種能以這種流體噴射式推進(jìn)力在海洋中移動(dòng)的動(dòng)物。這種推進(jìn)力強(qiáng)大,可以使被膜動(dòng)物在海洋中垂直遷移。被膜動(dòng)物通常出現(xiàn)在500-800米深處,并在夜間向上遷移到地表水的上層。被膜動(dòng)物的大小從幾厘米到超過4米不等。被囊動(dòng)物的噴氣推進(jìn)和群體行為(見圖1)。
<center> 圖1.被囊動(dòng)物的群體行為
Tunicate具有在海洋中找到食物來源的能力。然而,在給定的搜索空間中,我們不知道食物的來源。被膜動(dòng)物是利用其自身的兩種行為來尋找食物來源,即尋找最佳。行為包括噴氣推進(jìn)和群體智能。為了對(duì)噴氣推進(jìn)行為進(jìn)行數(shù)學(xué)建模,被膜應(yīng)滿足三個(gè)條件,即避免搜索種群之間的沖突、向最佳搜索個(gè)體的位置移動(dòng)以及保持與最佳搜索個(gè)體的距離。然后,群體會(huì)根據(jù)個(gè)體的最優(yōu)解更新位置。
1.1避免搜索沖突
<>x<center>圖2 避免搜索沖突
為了避免個(gè)體之間的搜索沖突,表示計(jì)算新的個(gè)體位置,如圖2所示:
其中代表重力作用,
代表深海中的水流平流。
是[0,1]之間的隨機(jī)數(shù)。
代表個(gè)體間的互相作用力,其計(jì)算如下式:
其中代表初始的相互作用速度范圍,一般設(shè)定為[1,4]。
1.2 向最優(yōu)鄰居移動(dòng)
<center> 圖3 向最優(yōu)鄰居移動(dòng)
避免搜索沖突后,個(gè)體向最優(yōu)鄰居移動(dòng)如圖3所示:
其中,代表食物與搜索個(gè)體之間的距離。
代表當(dāng)前迭代次數(shù)。
代表食物的位置,
代表個(gè)體的位置,
代表[0,1]之間的隨機(jī)數(shù)。
1.3 向最優(yōu)位置收斂
[圖片上傳失敗...(image-19079b-1625722779840)]
<center>圖4 向最有位置收斂
每個(gè)個(gè)體向最優(yōu)位置靠近,如圖4所示:
其中代表更新后的位置。
1.4 種群行為
<center> 圖5 種群位置更新
為了從數(shù)學(xué)上模擬被囊動(dòng)物的群體行為,保存前兩個(gè)最優(yōu)解,并根據(jù)最佳搜索個(gè)體的位置更新其他搜索個(gè)體的位置。被膜動(dòng)物的群體行為如下所示:
圖5,顯示了個(gè)體怎么根據(jù)更新自身的位置。
1.5 算法流程
(1)初始化種群
(2)初始化種群參數(shù),邊界條件;
(3)計(jì)算每個(gè)個(gè)體的適應(yīng)度值;
(4)搜索最佳個(gè)體的位置;
(5)根據(jù)群體行為更新每個(gè)個(gè)體位置;
(6)調(diào)整超出給定搜索空間邊界的個(gè)體位置。
(7)計(jì)算更新后的群體每個(gè)個(gè)體的適應(yīng)度值,如果適應(yīng)度由于之前,則更新;
(8)如果滿足停止條件,則停止算法,否則重復(fù)步驟(5) - (8)。
(9)返回最優(yōu)值
迭代過程如圖6所示
<center>圖6 迭代過程
2. 算法結(jié)果:
參考文獻(xiàn):
[1]Satnam Kaur,Lalit K. Awasthi,A.L. Sangal,Gaurav Dhiman. Tunicate Swarm Algorithm: A new bio-inspired based metaheuristic paradigm for global optimization[J]. Engineering Applications of Artificial Intelligence,2020,90.
Matlab 代碼地址:
https://mianbaoduo.com/o/bread/Z5aalJ8=