基于向日葵优化算法(SFO)的函数寻优算法

一、理论基础

1、算法原理

向日葵的模式是一致的:它们每天都像时钟一样随着太阳走。在傍晚时分,它们会走另一条路,在第二天早上的聚会上待命。基于向日葵在探索太阳最佳方位时运动的特殊性。随机施肥被认为是在向日葵 i i i i + 1 i+1 i+1的边缘距离之间。一般来说,每一片花都会释放出数以百万计的花粉配子。为了简单起见,我们认为每一朵向日葵只产生一个花粉配子,并单独繁殖。基于自然的优化的另一个重要点是平方反比定律。该定律指出,接收到的功率与分离的平方成反比,需要较大的阶跃值才能朝向太阳(全局最优)。所有向日葵的接收热量定义为 Q i = P 4 π r i 2 (1) Q_i=\frac{P}{4\pi r_i^2}\tag{1} Qi=4πri2P(1)式中, P P P是能量的功率, r i r_i ri是最佳位置和植物 i i i之间的距离。
向日葵对太阳的方向是: s i → = X ∗ − X i ∣ ∣ X ∗ − X i ∣ ∣ , i = 1 , 2 , ⋯   , n p (2) \overrightarrow{s_i}=\frac{X^*-X_i}{||X^*-X_i||},\quad i=1,2,\cdots,n_p\tag{2} si =XXiXXi,i=1,2,,np(2)向日葵在 s s s方向上的步进通过以下公式计算: d i = λ i × P i ( ∣ ∣ X i + X i − 1 ∣ ∣ ) × ∣ ∣ X i + X i − 1 ∣ ∣ (3) d_i=\lambda_i×P_i(||X_i+X_{i-1}||)×||X_i+X_{i-1}||\tag{3} di=λi×Pi(Xi+Xi1)×Xi+Xi1(3)式中, λ \lambda λ是定义植物“惯性”位移的常数值, P i ( ∣ ∣ X i + X i − 1 ∣ ∣ ) P_i(||X_i+X_{i-1}||) Pi(Xi+Xi1)是授粉的概率,即向日葵 i i i与其最近的邻居 i − 1 i−1 i1授粉,在随机位置产生一个新的个体,该个体根据花之间的每个距离而变化。也就是说,离太阳较近的个体会采取较小的步进来寻找局部优化,而距离较远的个体则会正常移动。也有必要限制每个个体给出的最大步长,以避免跳过容易成为全局最小候选的区域。这里我们将最大步长定义为: d m a x = ∣ ∣ X max ⁡ − X min ⁡ ∣ ∣ 2 × N p o p (4) d_{max}=\frac{||X_{\max}-X_{\min}||}{2×N_{pop}}\tag{4} dmax=2×NpopXmaxXmin(4)式中, X max ⁡ X_{\max} Xmax X min ⁡ X_{\min} Xmin是上下限值, N p o p N_{pop} Npop是向日葵的数量(种群规模)。
新的植物位置将由下式更新: X → i + 1 = X → i + d i × s i → (5) \overrightarrow X_{i+1}=\overrightarrow X_i+d_i×\overrightarrow{s_i}\tag{5} X i+1=X i+di×si (5)

2、算法伪代码

在这里插入图片描述

图1 向日葵优化算法伪代码

二、仿真实验

本文以Sphere的5维函数为例,迭代1000次。
图2为迭代过程中自变量位置的变化动图。
在这里插入图片描述

图2 迭代过程中自变量的移动

图3为寻优过程的收敛曲线。
在这里插入图片描述

图3 寻优过程的收敛曲线

三、参考文献

[1] Gomes, G.F., da Cunha, S.S., Ancelotti, A.C… A sunflower optimization (SFO) algorithm applied to damage identification on laminated composite plates[J]. Engineering with Computers, 2019, 35: 619-626.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值