收敛因子非线性变化的鲸鱼优化算法-附代码
  yOv1KlRBtRV9 2023年11月02日 28 0


收敛因子非线性变化的鲸鱼优化算法


文章目录

  • 收敛因子非线性变化的鲸鱼优化算法
  • 1.鲸鱼优化算法
  • 2. 改进鲸鱼优化算法
  • 2.1 基于混沌序列的种群初始化
  • 2.2 收敛因子非线性变化策略
  • 2.3混沌扰动策略
  • 3.实验结果
  • 4.参考文献
  • 5.Matlab代码
  • 6.Python代码



摘要:针对基本鲸鱼优化算法在处理复杂全局优化问题时存在解精度低和收敛速度慢等缺点,提出一种收敛因子随进化迭代次数非线性变化的改进鲸鱼优化算法.该算法利用混沌方法替代随机方法初始化种群,使群体具有较好的多样性.受粒子群算法惯性权重启发,设计出一种随进化迭代次数增加而非线性变化的收敛因子更新公式,以平衡算法的全局搜索和局部搜索能力.对当前最优鲸鱼个体执行混沌扰动策略以扩大其搜索范围。

1.鲸鱼优化算法

2. 改进鲸鱼优化算法

2.1 基于混沌序列的种群初始化

本文采用混沌序列来生成初始种群.产生混沌序列的混沌模型有很多,本文选取Skew Tent映射模型产生混沌序列用来进行种群初始化.Skew Tent映射是分段线性的一维映射,其数学表达式为:
收敛因子非线性变化的鲸鱼优化算法-附代码_机器学习
其中, 当 收敛因子非线性变化的鲸鱼优化算法-附代码_算法_02收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_03

2.2 收敛因子非线性变化策略

WOA算法在进化搜索过程中却是非线 性变化的, 收敛因子 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_04 线性递减策略不能完全体现 出算法实际的优化搜索过程. 受 PSO 算法惯性权重 设置的启发, 本文提出一种收敛因子 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_04 随进化迭代 次数增加非线性变化策略:
收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_06
其中: 收敛因子非线性变化的鲸鱼优化算法-附代码_算法_07收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_08 分别为收敛因子 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_04 的初始值和终 止值; 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_10 为当前迭代次数; 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_11 为最大迭代次数, 收敛因子非线性变化的鲸鱼优化算法-附代码_算法_12 收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_13 为非线性调节系数. 由式 (8) 可知, 收敛因子 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_04 的值随进化迭代次数 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_10

2.3混沌扰动策略

与其他群体智能优化算法相似, 基本 WOA 算 法在迭代后期也存在易陷入局部最优的缺陷. 为了 克服这个缺点, 本文利用混沌序列的遍历性、规律性 和随机性对当前最优个体执行混沌扰动, 可使 收敛因子非线性变化的鲸鱼优化算法-附代码_机器学习_16 算法跳出局部最优, 从而提高算法的全局搜 索能力和求解精度.
混沌扰动策略如下:
收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_17
其中: 收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_18 为添加扰动后形成的混沌变量; 收敛因子非线性变化的鲸鱼优化算法-附代码_机器学习_19 为当前 最优个体映射到 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_20 后形成的混沌变量; 收敛因子非线性变化的鲸鱼优化算法-附代码_算法_21 为迭 代 收敛因子非线性变化的鲸鱼优化算法-附代码_机器学习_22 次后的混沌变量; 收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_23 为扰动强度,即
收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_24
收敛因子非线性变化的鲸鱼优化算法-附代码_机器学习_22 为迭代次数, 收敛因子非线性变化的鲸鱼优化算法-附代码_算法_26

综上所述, 本文所提出的改进 WOA(IWOA)算 法步骤如算法 2 所示.
算法 2 收敛因子非线性变化的 WOA 算法 设置种群规模 收敛因子非线性变化的鲸鱼优化算法-附代码_算法_26, 利用算法 1 产生初始化鲸鱼种群 收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_28;
计算群体中每个个体的适应度值 收敛因子非线性变化的鲸鱼优化算法-附代码_机器学习_29, 收敛因子非线性变化的鲸鱼优化算法-附代码_机器学习_30,并记录当前最优个体及位置;
while 收敛因子非线性变化的鲸鱼优化算法-附代码_数据结构_31 do
for 收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_32 to 收敛因子非线性变化的鲸鱼优化算法-附代码_算法_26 do
根据式 (8) 计算收敛因子 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_04 的值;
更新其他参数 收敛因子非线性变化的鲸鱼优化算法-附代码_数据结构_35收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_36 的值;
if 收敛因子非线性变化的鲸鱼优化算法-附代码_算法_37 do
if 收敛因子非线性变化的鲸鱼优化算法-附代码_数据结构_38 do
根据式 (1)更新每个个体的位置;
else if 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_39 do
在群体中随机选择一个个体 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_40; 根据式 (6)更新每个个体的位置;
end
else if 收敛因子非线性变化的鲸鱼优化算法-附代码_迭代_41 do
根据式 (5)更新每个个体的位置;
end
end
对当前群体中最优个体执行混沌扰动策略;
计算群体中个体的适应度值 收敛因子非线性变化的鲸鱼优化算法-附代码_算法_42,
N 收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_43;
更新当前最优个体及位置;
收敛因子非线性变化的鲸鱼优化算法-附代码_数据结构_44;
end

3.实验结果

收敛因子非线性变化的鲸鱼优化算法-附代码_优化算法_45

4.参考文献

[1]龙文,伍铁斌,唐斌.收敛因子非线性变化的鲸鱼优化算法[J].兰州理工大学学报,2017,43(06):102-107.

5.Matlab代码

6.Python代码


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
yOv1KlRBtRV9