智能优化算法:头脑风暴优化算法-附代码

智能优化算法:头脑风暴优化算法


摘要:头脑风暴优化算法(Brain Storming Optimization algorithm, BSO)是Shi在2011年第2次群体智能国际会议上提出的一
种基于模拟人类创造性解决问题的过程的群体行为智能算法。,因其具有模型简单、收敛速度快、参数少等优点 ,已在工程优化 、模型识别等问题中得到较好的应用,很快得到了国内外学者的广泛关注,成为智能优化算法领域新的研究热点。

1.算法原理

头脑风暴优化算法主要由聚类和变异组成。

1.1 聚类

聚类:BSO采用K-means聚类算法,将相似的个体聚成k类,并将人为设定的适应度函数值最优的个体作为聚类的中心。当然,为了避免陷入局部最优,将有概率随机产生一个新个体替换其中
一个聚类中心。

1.2 变异

BSO变异主要有4种方式,分别是:(a)在随机一个类中心,即该类最优个体上添加随机扰动产生新的个体;(b)在随机一个类中随机选择一个个体添加随机扰动产生新的个体;©随机融合两个类中心,并添加随机扰动产生新的个体;(d)随机融合两个类中随机的两个个体,并添加随机扰动产生新的个体。

上述4种方式每个聚类中心,即类中最优个体
被选中的概率为:
p j = ∣ M j ∣ N (1) p_j = \frac{|M_j|}{N} \tag{1} pj=NMj(1)
其中, ∣ M j ∣ |M_j| Mj代表 类中个体的数量。新个体产生公式为:
x n d = x s d + ξ ∗ N ( 0 , 1 ) d (2) x_{nd}=x_{sd}+\xi *N(0,1)_d\tag{2} xnd=xsd+ξN(0,1)d(2)

ξ = l g s i g ( ( 0.5 ∗ T − t ) / k ) ∗ R ( 0 , 1 ) (3) \xi=lgsig((0.5*T-t)/k)*R(0,1)\tag{3} ξ=lgsig((0.5Tt)/k)R(0,1)(3)

其中, x n d x_{nd} xnd是新的 d d d维个体, x s d x_{sd} xsd是选中的个体, T T T t t t分别表示设置的最大迭代次数和当前迭代次数, k k k可以调节 l g s i g ( . ) lgsig(.) lgsig(.) 函数的坡度, N ( 0 , 1 ) d N(0,1)_d N(0,1)d d d d 维标准正态分布, R ( 0 , 1 ) R(0,1) R(0,1)是0 - 1的随机值。

算法采用聚类思想搜索局部最优,通过局部最优的比较得到全局最优;采用变异思想增加了算法的多样性,避免算法陷入局部最优,在这聚与散相辅相承的过程中搜索最优解,思想新颖,适合于解决多峰高维函数问题。

2.算法流程

B S O BSO BSO算法步骤如下.
S t e p 1 Step1 Step1:随机产生 N N N个个体.
S t e p 2 Step2 Step2:计算个体适应度值.
S t e p 3 Step3 Step3:用K-means聚类法将 N N N个个体分为 C C C个聚类,记录每个聚类的聚类中心.
S t e p 4 Step4 Step4:产生随机数 r 1 ∈ ( 0 , 1 ) r_1∈(0,1) r1(0,1),如果 r 1 < P 1 r_1<P_1 r1<P1 ,则随机选择一个聚类中心,并用随机生成的个体替换它.
S t e p 5 Step5 Step5:更新个体.
S t e p 5.1 Step5.1 Step5.1:产生随机数 r 2 ∈ ( 0 , 1 ) r_2 ∈ (0,1) r2(0,1).
S t e p 5.2 Step5.2 Step5.2:如果 r 2 < P 2 r_2 < P_2 r2<P2 ,则随机选择一个概率为 P i P_i Pi 的类. 产生随机数 r 3 ∈ ( 0 , 1 ) r_3 ∈ (0,1) r3(0,1),若 r 3 < P 3 r_3 < P_3 r3<P3 ,则选择该类中心,并加上随机值,产生新个体;否则,随机选择该类中的个体,加随机值更新.
S t e p 5.3 Step5.3 Step5.3:如果 r 2 ⩾ P 2 r_2 ⩾ P_2 r2P2 ,则随机选择两个类产生新个体. 产生随机数 r 4 ∈ ( 0 , 1 ) r_4 ∈ (0,1) r4(0,1),若 r 4 < P 4 r_4 < P_4 r4<P4 ,则合并两个聚类中心,加随机值产生新个体;否则,从两个聚类中选择个体合并后,加随机值产生新个体.
S t e p 5.4 Step5.4 Step5.4:新产生的个体与当前个体相比,适应度值小的作为下一次迭代的新个体.
S t e p 6 Step6 Step6:如果N 个个体更新完成,则转入 S t e p 7 Step7 Step7,否则返回 S t e p 5 Step5 Step5.
S t e p 7 Step7 Step7:如果达到最大迭代次数,则停止迭代,否则返回 S t e p 2 Step2 Step2.

3.算法结果

在这里插入图片描述

4.参考文献

[1]SHI Yuhui. Brain Storm Optimization Algorithm[M].Advances in Swarm Intelligence. Berlin Heidelberg:Springer, 2011: 303–309. doi: 10.1007/978-3-642-21515-5_36.

[2]梁晓萍,郭振军,朱昌洪.基于头脑风暴优化算法的BP神经网络模糊图像复原[J].电子与信息学报,2019,41(12):2980-2986.

5.MATLAB代码

头脑风暴优化算法
算法相关应用

名称说明或者参考文献
头脑风暴优化的BP神经网络(预测)https://blog.csdn.net/u011835903/article/details/112149776(原理一样,只是优化算法是头脑风暴算法)
头脑风暴优化的BP神经网络(分类)https://blog.csdn.net/u011835903/article/details/112149394(原理一样,只是优化算法是头脑风暴算法)
基于头脑风暴算法优化的最大熵多阈值分割https://blog.csdn.net/u011835903/article/details/108203775(原理一样,只是优化算法是头脑风暴算法)
头脑风暴算法优化的otsu多阈值分割https://blog.csdn.net/u011835903/article/details/108019744(原理一样,只是优化算法是头脑风暴算法)
头脑风暴优化的PID参数优化https://blog.csdn.net/u011835903/article/details/109306387(原理一样,只是优化算法是头脑风暴算法)
  • 4
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值