当前位置: > 黄金>正文

基于黄金正弦算法的函数寻优算法

2023-07-18 02:11:46 互联网 未知 黄金

基于黄金正弦算法的函数寻优算法

文章目录 一、理论基础1、算法原理2、算法伪代码 二、仿真实验与分析三、参考文献

一、理论基础 1、算法原理

黄金正弦算法(Golden sine algorithm, Gold-SA)是Tanyildizi等人于2017年提出的新型元启发式算法,该算法的设计灵感来源于数学中的正弦函数,该算法利用数学中的正弦函数进行计算迭代寻优,其优点是收敛速度快、鲁棒性好、易于实现、调节的参数和运算符少。 Gold-SA根据正弦函数与单位圆的关系,可以遍历正弦函数上的所有值即寻遍单位圆上所有的点,同时在其位置更新过程中引入黄金分割数缩小解决方案的空间,以便扫描可能只产生良好结果的区域,很大程度上提高了搜索速度,且使搜索和开发达到良好的平衡。Gold-SA算法的核心过程是其解的更新过程,首先随机产生 s s s个个体的位置,假设优化问题的每个解对应搜索空间中对应个体的位置,并用 X i d ( t ) X_i^d(t) Xid​(t)表示 d d d维个体空间中第 t t t次迭代第 i i i个个体的空间位置,可以表示为 X i d ( t ) = ( X i , 1 , X i , 2 , ⋯   , X i , d ) , ( i = 1 , 2 , ⋯   , s ; t = 1 , 2 , ⋯   , t max ⁡ ) X_i^d(t)=(X_{i,1},X_{i,2},cdots,X_{i,d}),(i=1,2,cdots,s;t=1,2,cdots,t_{max}) Xid​(t)=(Xi,1​,Xi,2​,⋯,Xi,d​),(i=1,2,⋯,s;t=1,2,⋯,tmax​), t max ⁡ t_{max} tmax​为最大迭代次数, P d ( t ) ( t = 1 , 2 , ⋯   , t max ⁡ ) P^d(t)(t=1,2,cdots,t_{max}) Pd(t)(t=1,2,⋯,tmax​)为第 t t t次迭代全局最优位置,则第 i i i个个体的位置更新公式如下: X i d ( t + 1 ) = X i d ( t ) ∣ sin ⁡ ( r 1 ) ∣ + r 2 sin ⁡ ( r 1 ) ∣ x 1 P d ( t ) − x 2 X i d ( t ) ∣ (1) X_i^d(t+1)=X_i^d(t)|sin(r_1)|+r_2sin(r_1)|x_1P^d(t)-x_2X_i^d(t)| ag{1} Xid​(t+1)=Xid​(t)∣sin(r1​)∣+r2​sin(r1​)∣x1​Pd(t)−x2​Xid​(t)∣(1)其中, r 1 r_1 r1​和 r 2 r_2 r2​为随机数, r 1 r_1 r1​决定下一次迭代中个体的移动距离, r 1 ∈ [ 0 , 2 π ] r_1in[0,2pi] r1​∈[0,2π], r 2 r_2 r2​决定下一次迭代第 i i i个个体的位置更新方向, r 2 ∈ [ 0 , π ] r_2in[0,pi] r2​∈[0,π]; x 1 x_1 x1​和 x 2 x_2 x2​是通过引入黄金分割数得到的系数,这些系数缩小了搜索空间引领个体逐步趋近最优值,保证了算法的收敛性,黄金分割数是一个定义为 5 − 1 2 frac{sqrt5-1}{2} 25 ​−1​的无理数,记为 τ au τ, x 1 = a τ + b ( 1 − τ ) x_1=a au+b(1- au) x1​=aτ+b(1−τ), x 2 = a ( 1 − τ ) + b τ x_2=a(1- au)+b au x2​=a(1−τ)+bτ, a a a和 b b b初始值设置为 − π -pi −π和 π pi π,随后 a a a和 b b b随着目标值的变化而变化, x 1 x_1 x1​和 x 2 x_2 x2​也随之更新,更新方式如下:

Step 1: if current value

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。