基于矢量包围模型的麻雀搜索算法用于工程优化和数值优化问题


在这里插入图片描述

1.算法原理

【智能算法】麻雀搜索算法(SSA)原理及实现

——复现文章,本篇论文是东华大学沈波实验室(原麻雀搜索算法SSA提出实验室)提出的改进麻雀搜索算法:基于矢量包围模型的麻雀搜索算法用于工程优化和数值优化问题(A vector-encirclement-model-based sparrow search algorithm for engineering optimization and numerical optimization problems)

2.摘要

麻雀搜索算法(SSA)是一种新的高性能全局优化算法。为了进一步提高其全局和局部搜索能力,本文提出了一种改进的SSA(ISSA),其主要创新在于生产者集中策略、矢量包围模型和方向选择策略。生产者集中策略旨在更新生产者的位置,以期提高生产者的全局搜索能力;而矢量包围模型和方向选择策略则旨在更新觅食者的位置,以期提高觅食者的局部搜索能力。

3.改进点

Producer centralization strategy

在生产者中随机选择一只麻雀作为生产者探索的中心。当更新生产者的位置时,所有生产者都朝选中的麻雀移动。改进后的生产者位置更新:
G i , k r + 1 = { B i , k r if ( R 1 ≤ R p 1 ) G i , k r otherwise B i , k r = G r 1 , k r + ϕ ⋅ ∣ G r 2 , k r − G r 3 , k r ∣ G_{i,k}^{r+1}=\begin{cases}B_{i,k}^r&\text{if} \left(R_1\leq R_{p1}\right)\\G_{i,k}^r&\text{otherwise}\end{cases}\\B_{i,k}^{r}=G_{r_{1},k}^{r}+\phi\cdot\left|G_{r_{2},k}^{r}-G_{r_{3},k}^{r}\right| Gi,kr+1={Bi,krGi,krif(R1Rp1)otherwiseBi,kr=Gr1,kr+ϕ Gr2,krGr3,kr

其中,r1,r2和r3是随机互不相等的正整数。 ϕ \phi ϕ表述扰动幅度,R1代表生成者移动概率,Rp1是安全阈值。

Vector encirclement model

在这里插入图片描述

在搜索空间中,有两个特殊位置Gbest和Gworst,其中Gbest是当前迭代中生产者中适应度值最好的麻雀的位置,Gworst是当前迭代中麻雀群体中适应度值最差的麻雀的位置。更新后的麻雀位置将位于由向量Gi-Gworst和Gbest-Gi形成的平行四边形内。矢量包围模型来更新觅食者的位置:
G i , k r + 1 = G i , k r + r 4 ω 1 ( G i , k r − G w o r s t , k r ) + r 5 ω 2 ( G b e s t , k r − G i , k r ) G_{\mathrm{i},k}^{r+1}=G_{\mathrm{i},k}^{r}+r_{4}\omega_{1}\left(G_{\mathrm{i},k}^{r}-G_{\mathrm{worst},k}^{r}\right)+r_{5}\omega_{2}\left(G_{\mathrm{best},k}^{r}-G_{\mathrm{i},k}^{r}\right) Gi,kr+1=Gi,kr+r4ω1(Gi,krGworst,kr)+r5ω2(Gbest,krGi,kr)

Scrounger direction selection strategy

基于矢量包围模型,进一步提出了觅食者的方向选择策略。在这一新策略下,麻雀群体的搜索范围可以大幅扩展,同时还能保留觅食者的局部搜索能力。觅食者的方向选择规则表述为:
G i , k r + 1 = G i , k r + r 6 ω 1 ( G i , k r − G d 1 , k r ) + r 7 ω 2 ( G d 2 , k r − G i , k r ) G_{\mathrm{i},k}^{r+1}=G_{\mathrm{i},k}^{r}+r_{6}\omega_{1}\left(G_{\mathrm{i},k}^{r}-G_{d_{1},k}^{r}\right)+r_{7}\omega_{2}\left(G_{d_{2},k}^{r}-G_{\mathrm{i},k}^{r}\right) Gi,kr+1=Gi,kr+r6ω1(Gi,krGd1,kr)+r7ω2(Gd2,krGi,kr)

其中,d1和d2计算方式为:
d 1 = { w o r s t if ( R 2 ≤ R p 2 ) r a n d W otherwise d 2 = { b e s t if ( R 3 ≤ R p 3 ) r a n d B otherwise d_1=\begin{cases}worst&\text{if} \left(R_2\leq R_{p2}\right)\\randW&\text{otherwise}\end{cases}\\d_2=\begin{cases}best&\text{if} \left(R_3\leq R_{p3}\right)\\randB&\text{otherwise}\end{cases} d1={worstrandWif(R2Rp2)otherwised2={bestrandBif(R3Rp3)otherwise
Rp2和Rp3是选择概率,设置Rp2 = Rp3 = 0.5。根据它们的适应度值从低到高对m只麻雀进行排序。其中,Worst和best分别表示适应度最差和最佳位置的指标。randB为[1,0.1 m]中随机选取的麻雀,randW为[0.9 m, m]中随机选取的麻雀。

伪代码

在这里插入图片描述

4.结果展示

CEC2017
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.参考文献

[1] Hong J, Shen B, Xue J, et al. A vector-encirclement-model-based sparrow search algorithm for engineering optimization and numerical optimization problems[J]. Applied Soft Computing, 2022, 131: 109777.

6.代码获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值