智能优化算法:黄金正弦算法 黄金分割线算法是什么意思呀
与其他基于种群的优化算法一样,Gold-SA 算法也从随机生成的种群开始。Gold-SA 算法初始种群旨在通过随机生成每个维度的均匀分布来更好地扫描搜索空间。 V i = r a n d ∗ ( u b − l b ) + l b (1) V_i = rand*(ub-lb)+lb ag{1} Vi=rand∗(ub−lb)+lb(1) 式中 V i V_i Vi 第 i i i个个体初始值; u b , l b ub,lb ub,lb为搜索空间上下限值。
1.2 黄金分割系数Gold-SA 算法在位置更新过程中引入黄金分割系数 x 1 , x 2 x_1 ,x_2 x1,x2 使“搜索”和“开发”达到良好的平衡,这些系数缩小了搜索空间引 领个体趋近最优值。 x 1 , x 2 x_1 ,x_2 x1,x2 表示如式(2)、(3): x 1 = a ∗ ( 1 − t ) + b ∗ t (2) x_1 = a*(1-t)+b*t ag{2} x1=a∗(1−t)+b∗t(2)
x 2 = a ∗ t + b ∗ ( 1 − t ) (3) x_2 = a*t+b*(1-t) ag{3} x2=a∗t+b∗(1−t)(3)
式中 a 、 b a 、b a、b为黄金分割比率搜索初始值,一般 a = − π , b = π a = -pi,b=pi a=−π,b=π,t为黄金分比率。 t = ( 5 − 1 ) / 2 t=(sqrt5 - 1)/2 t=(5 −1)/2
1.3 位置更新随着迭代次数的增加,Gold-SA算法通过式(4)进行位置更新 V i t + 1 = V i t ∣ s i n ( r 1 ) ∣ − r 2 s i n ( r 1 ) ∣ x 1 D i t − x 2 V i t ∣ (4) V_i^{t+1}=V_i^{t}|sin(r1)|-r_2sin(r_1)|x_1D_i^t-x_2V_i^t| ag{4} Vit+1=Vit∣sin(r1)∣−r2sin(r1)∣x1Dit−x2Vit∣(4) 式中 V i t + 1 V_i^{t+1} Vit+1第 i 个个体第 t + 1 次迭代位置; V i t V_i^t Vit第 i 个个体第 t 次迭代位置; D i t D_i^t Dit第 i 个个体第 t 次迭代最优位置; r 1 r_1 r1为 [ 0 , 2 π ] [0,2pi] [0,2π]范围内的随机数; r 2 r_2 r2为 [ 0 , π ] [0,pi] [0,π]范围内的随机数; x 1 , x 2 x_1,x_2 x1,x2为黄金分割系数。
算法流程如下:
Step1.初始化参数,设置黄金正弦相关参数
Step2.计算适应度值
Step3.计算黄金分割率
Step4.根据位置更新公式,更新位置。
Step5.计算适应度值,并更新最优位置,记录最优位置。
Step6.判断是否达到迭代结束条件,如果达到则输出最后结果,否则重复不揍Step1-6.
2.实验结果 3.参考文献[1] TANYILDIZI E,DEMIR G. Golden sine algorithm: a novel math inspired algorithm[J]. Advances in Electrical and Computer Engineering,2017,17(2): 71 -79.
[2] 周有荣,李娜,周发辉.黄金正弦算法在水文地质参数优化中的应用[J].人民珠江,2023,41(06):117-120+128.
4.Matlab代码黄金正弦算法 算法相关应用
名称说明或者参考文献黄金正弦算法在水文地质参数优化中的应用[1] 周有荣, 李娜, 周发辉. 黄金正弦算法在水文地质参数优化中的应用[J]. 人民珠江, 2023, 041(006):117-120,128. 5.Python代码个人资料介绍
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。