智能優(yōu)化算法:2020被囊群算法-附代碼
@[toc]
摘要:被囊群優(yōu)化(Tunicate Swarm Algorithm,TSA)是Satnam Kaur 等[1]提出的一種新的優(yōu)化算法,它的靈感來自以在深海中成功生存被膜的成群行為弦讽,其優(yōu)點在于操作簡單倒得,調(diào)整的參數(shù)少以及跳出局部最優(yōu)的能力強(qiáng)浙巫。
1.算法原理
被膜動物是明亮的生物發(fā)光體吃引,發(fā)出淺藍(lán)色-綠色的光灸芳,可以在數(shù)米之外看到痹仙。被膜動物呈圓柱形期升,一端開口惊奇,另一端閉合。每個被膜動物的大小都有幾毫米播赁。在每個被膜組織中都有一個共同的膠狀被膜颂郎,它有助于連接所有個體。然而容为,每一個被膜動物各自從周圍的海水中取水乓序,并通過心房虹吸管產(chǎn)生噴氣推進(jìn)。被膜動物是唯一一種能以這種流體噴射式推進(jìn)力在海洋中移動的動物坎背。這種推進(jìn)力強(qiáng)大替劈,可以使被膜動物在海洋中垂直遷移。被膜動物通常出現(xiàn)在500-800米深處得滤,并在夜間向上遷移到地表水的上層陨献。被膜動物的大小從幾厘米到超過4米不等。被囊動物的噴氣推進(jìn)和群體行為(見圖1)懂更。
<center> 圖1.被囊動物的群體行為
Tunicate具有在海洋中找到食物來源的能力眨业。然而,在給定的搜索空間中沮协,我們不知道食物的來源坛猪。被膜動物是利用其自身的兩種行為來尋找食物來源,即尋找最佳皂股。行為包括噴氣推進(jìn)和群體智能。為了對噴氣推進(jìn)行為進(jìn)行數(shù)學(xué)建模命黔,被膜應(yīng)滿足三個條件呜呐,即避免搜索種群之間的沖突就斤、向最佳搜索個體的位置移動以及保持與最佳搜索個體的距離。然后蘑辑,群體會根據(jù)個體的最優(yōu)解更新位置洋机。
1.1避免搜索沖突
<>x<center>圖2 避免搜索沖突
為了避免個體之間的搜索沖突,表示計算新的個體位置洋魂,如圖2所示:
其中代表重力作用绷旗,代表深海中的水流平流。是[0,1]之間的隨機(jī)數(shù)副砍。代表個體間的互相作用力衔肢,其計算如下式:
其中代表初始的相互作用速度范圍,一般設(shè)定為[1,4]豁翎。
1.2 向最優(yōu)鄰居移動
<center> 圖3 向最優(yōu)鄰居移動
避免搜索沖突后角骤,個體向最優(yōu)鄰居移動如圖3所示:
其中,代表食物與搜索個體之間的距離心剥。代表當(dāng)前迭代次數(shù)邦尊。代表食物的位置,代表個體的位置优烧,代表[0,1]之間的隨機(jī)數(shù)蝉揍。
1.3 向最優(yōu)位置收斂
[圖片上傳失敗...(image-19079b-1625722779840)]
<center>圖4 向最有位置收斂
每個個體向最優(yōu)位置靠近,如圖4所示:
其中代表更新后的位置畦娄。
1.4 種群行為
<center> 圖5 種群位置更新
為了從數(shù)學(xué)上模擬被囊動物的群體行為又沾,保存前兩個最優(yōu)解,并根據(jù)最佳搜索個體的位置更新其他搜索個體的位置纷责。被膜動物的群體行為如下所示:
圖5捍掺,顯示了個體怎么根據(jù)更新自身的位置。
1.5 算法流程
(1)初始化種群
(2)初始化種群參數(shù)再膳,邊界條件挺勿;
(3)計算每個個體的適應(yīng)度值;
(4)搜索最佳個體的位置喂柒;
(5)根據(jù)群體行為更新每個個體位置不瓶;
(6)調(diào)整超出給定搜索空間邊界的個體位置。
(7)計算更新后的群體每個個體的適應(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=