智能優(yōu)化算法:緋鯢鰹優(yōu)化算法-附代碼
@[toc]
摘要:緋鯢鰹優(yōu)化算法[1](Yellow Saddle Goatfish Algorithm 繁扎,YSGA)是由 Erik Cuevas等于2018年提出的一種新型的仿生智能優(yōu)化算法.該算法模擬緋鯢鰹群協(xié)作狩獵行為以實現(xiàn)對搜索空間的探索和開采,同時通過選定追逐者與攔截者的代理搜索學(xué)習機制以改善種群的個體多樣性和算法的迭代尋優(yōu)能力;鑒于該算法待調(diào)節(jié)參數(shù)少、迭代尋優(yōu)效率高且易于實現(xiàn)等優(yōu)點,將具有較好的可拓展改進空間和應(yīng)用前景。
1.算法原理
YSGA 算法是鎖定狩獵區(qū)域后,通過 K-means方法將緋鯢鰹種群劃分為 k 個相互獨立的簇以實現(xiàn)空間鄰域內(nèi)的并行搜索弟头,并使緋鯢鰹在探索空間內(nèi)扮演兩種搜索代理角色,即追擊魚和攔截魚以執(zhí)行不同的搜索路徑操作涉茧。在狩獵過程中赴恨,因魚群隨機游走可發(fā)生角色互換機制,若狩獵區(qū)域被過度開采伴栓,緋鯢鰹魚群將執(zhí)行區(qū)域更新策略以尋找新的捕食區(qū)域繼續(xù)狩獵伦连。根據(jù)緋鯢鰹群體協(xié)作狩獵行為的特點,YSGA 算法通過初始化钳垮、追擊魚惑淳、攔截魚、角色互換與更改區(qū)域 5 種不同行為模式的數(shù)學(xué)化描述以實現(xiàn)問題的優(yōu)化求解饺窿。
1.1初始化階段
種 群 在
維 搜 索 空 間
內(nèi)隨機生成且均勻分布歧焦,并按式(1)進行初始化。
其中肚医,為種群規(guī)模的大小绢馍,
為決策變量向量
,
是[0,1]中的隨機數(shù)。
YSGA 模型運用 K-means 算法進行聚類分析肠套,將種群劃分為
個相互獨立的簇
痕貌,通過計算
個簇中的每個決策變量與該簇中心的歐氏距離之和來定義該算法的適應(yīng)度值,以表示捕獲獵物的成功率糠排,具體記為:
其中表示每個簇
的均值
與簇中每個決策變量之間的歐氏距離,
。
1.2追擊魚路徑
每個簇中適應(yīng)度值較高的緋鯢鰹被暫定為該區(qū)域的追擊魚以引領(lǐng)捕獵超升,在搜索區(qū)域內(nèi)利用列維飛行模型產(chǎn)生隨機移動以尋找獵物的藏身之處入宦,其位置更新表達式為
其中哺徊,表示追擊魚當前的位置,
為列維飛行模型通過列維分布生成的隨機步距乾闰;參數(shù)
為步長控制因子且
落追,參數(shù)
稱為 Lévy 指數(shù)且
,參數(shù)
和
服從正態(tài)分布涯肩;
是當前所有集群中最佳追擊魚轿钠,其位置更新表達式為:
其中, 為新定義的隨機步距病苗。
1.3攔截魚路徑
每個簇中確定追擊魚后疗垛,剩余的緋鯢鰹就成為攔截魚對獵物實行包圍策略以阻止其逃跑,并沿著螺旋路徑圍繞在此時試圖捕食獵物的追擊魚周圍硫朦,其位置更新表達式為 :
其中贷腕, 是干擾距離,即攔截魚
和追擊魚
在簇
中當前位置的距離咬展,
是[0,1]中的隨機數(shù)泽裳,
是一個常數(shù)且
。
1.4 角色互換
在追捕獵物過程中破婆,若簇中的攔截魚比追擊魚距離獵物更近涮总,即具有更高的適應(yīng)度值,則意味著尋找到了更優(yōu)的解決方案祷舀,在迭代 t+1 中執(zhí)行角色互換機制以更新最佳追擊魚的位置瀑梗。
1.5 更改區(qū)域
YSGA 模型所選狩獵區(qū)域一旦被完全開發(fā),即通過獵殺鎖定的狩獵區(qū)域內(nèi)所有獵物蔑鹦,對簇中所有的緋鯢鰹將執(zhí)行區(qū)域更新策略夺克,具體數(shù)學(xué)描述如下:
其中, 是緋鯢鰹的新狩獵區(qū)域嚎朽,
是當前簇中緋鯢鰹(追擊魚或攔截魚)成員的位置铺纽,
是目前為止所有簇中適應(yīng)度值最高的最佳追擊魚,即問題的最優(yōu)解哟忍。
2.算法流程
step1.設(shè)置YSGA模型參數(shù)
step2.初始化緋鯢鰹種群.
step3.計算初始緋鯢鰹群每條魚的適應(yīng)度值.將每條緋鯢鰹的適應(yīng)度值并比較大小狡门,確定最大者為全局最優(yōu)的緋鯢鰹追逐者,并保存當前最優(yōu)值所對應(yīng)的參數(shù).再將種群分為k個集群锅很,計算每個集群中緋鯢鰹的適應(yīng)度值其馏,確定每個集群的追逐者和攔截者.
step4.對兩種不同的搜索個體進行路徑操作.對追逐者使用 Lévy飛行機制進行路徑操作,將α的遞變函數(shù)作為Lévy飛行的步長控制因子爆安,對最優(yōu)追逐者的位置進行更新叛复;對攔截者執(zhí)行對數(shù)螺旋路徑,更新攔截者的當前位置.
step5.最優(yōu)追逐者的更新.魚群中追逐者和攔截者每進行一次路徑操作,便計算一次當前集群的適應(yīng)度值:若有一條緋鯢鰹攔截者的適應(yīng)度值大于已保存的最優(yōu)追逐者褐奥,則用當前的攔截者替換最優(yōu)追逐者咖耘,使其成為新的最優(yōu)個體,并保存該最優(yōu)追逐者所對應(yīng)的 參數(shù)撬码,否則仍保存原追逐者位置和最優(yōu)值所對應(yīng)的參數(shù).
step6.搜索空間更新.根據(jù)step5所計算的追逐者的適應(yīng)度值儿倒,若其適應(yīng)度值沒有提高,則增加
該區(qū)域的搜索次數(shù)呜笑,直至達到過度開采參數(shù)夫否;當超過過度開采參數(shù)時,則變換搜索區(qū)域.
step7.判斷YSGA算法是否滿足終止條件叫胁,即判斷當前迭 代次數(shù)t是否達到 最 大迭代次數(shù):若達到最大凰慈,則輸出最優(yōu)的追逐者和最優(yōu)值所對應(yīng)的參數(shù),反之迭代次數(shù)t加1曹抬,并跳轉(zhuǎn)執(zhí)行step3.
3.算法結(jié)果
4.參考文獻
[1]Daniel Zaldívar,Bernardo Morales,Alma Rodríguez,Arturo Valdivia-G,Erik Cuevas,Marco Pérez-Cisneros. A novel bio-inspired optimization model based on Yellow Saddle Goatfish behavior[J]. BioSystems,2018,174.
[2]高雷阜,榮雪嬌.融合遞減策略與Fuch混沌機制的改進YSGA算法[J/OL].計算機科學(xué)與探索:1-16[2020-08-05].http://kns.cnki.net/kcms/detail/11.5602.TP.20200720.1328.008.html.
[3]高雷阜,榮雪嬌.混合動態(tài)步長遞變與局部混沌搜索的YSGA改進及其應(yīng)用[J].遼寧師范大學(xué)學(xué)報(自然科學(xué)版),2019,42(01):16-24.