張文彬
(上海電力大學(xué) 自動(dòng)化工程學(xué)院, 上海 200090)
樽海鞘群算法(Salp Swarm Algorithm,SSA)是2017年由MIRJALILI S等人[1]提出的一種新的智能算法。作為一種元啟發(fā)式算法,SSA具有收斂速度快、設(shè)定參數(shù)少、簡(jiǎn)單易懂等優(yōu)點(diǎn),但也存在易陷入局部極值點(diǎn)、收斂精度不高等問題。目前,已有學(xué)者對(duì)該算法進(jìn)行了改進(jìn)并應(yīng)用于相關(guān)研究。文獻(xiàn)[2]引入了評(píng)估移動(dòng)策略來增強(qiáng)算法的開發(fā)能力,并成功用于永磁同步電機(jī)的多參數(shù)辨識(shí);文獻(xiàn)[3]通過引入levy飛行機(jī)制來提高算法的全局搜索能力,并用于多閾值圖像分割時(shí)的優(yōu)化;文獻(xiàn)[4]結(jié)合了混沌精英質(zhì)心拉伸機(jī)制,有效地提高了SSA的收斂速度和收斂精度;文獻(xiàn)[5]用Tent映射來初始化種群個(gè)體,并在食物源的位置中加入“瘋狂”算子,提高了算法的開發(fā)能力。本文在SSA中引入天體運(yùn)動(dòng)算子來提高算 法的開發(fā)能力,并通過7個(gè)常用的算法測(cè)試函數(shù)驗(yàn)證改進(jìn)算法的有效性。
SSA的思想來源于樽海鞘聚集成一條鏈?zhǔn)降男袨?即前后個(gè)體之間相互影響。將樽海鞘群中的個(gè)體劃分為領(lǐng)導(dǎo)者和追隨者,其中領(lǐng)導(dǎo)者在鏈的前端,對(duì)周圍的環(huán)境有更好的判斷。SSA的具體運(yùn)算步驟如下[6]。
1.1.1 種群的隨機(jī)初始化
設(shè)種群總數(shù)為N,其中領(lǐng)導(dǎo)者個(gè)數(shù)為Nl,追隨者個(gè)數(shù)為Nf,解空間維數(shù)為D維,搜索空間的上限和下限分別為:ub=[ub1ub2ub3…ubD]和lb=[lb1lb2lb3…lbD],那么樽海鞘個(gè)體的位置可以表示為xi=[x1x2x3…xD]。
1.1.2 領(lǐng)導(dǎo)者的位置更新
對(duì)第i個(gè)領(lǐng)導(dǎo)者在第j維上的位置進(jìn)行更新,表達(dá)式為
(1)
(2)
式中:Fj——目標(biāo)食物的位置;
c2,c3——隨機(jī)產(chǎn)生的數(shù),范圍均為[0,1];……p>