基于随机游走改进的麻雀搜索算法-附代码

基于随机游走改进的麻雀搜索算法

1.随机游走策略

随机游走的过程在数学上可以表示为:
基于随机游走改进的麻雀搜索算法-附代码
式中:基于随机游走改进的麻雀搜索算法-附代码为随机游走的步数集;基于随机游走改进的麻雀搜索算法-附代码 为计算累加和;基于随机游走改进的麻雀搜索算法-附代码 为随机游走的步数(本文取最大迭代次数);基于随机游走改进的麻雀搜索算法-附代码为一个随机函数,定义为
基于随机游走改进的麻雀搜索算法-附代码
式中:基于随机游走改进的麻雀搜索算法-附代码为[0,1]的随机数。

由于可行域存在边界,不能直接用式(1)更新蚂蚁的位置。为确保行走在可行域范围内随机游走,需根据式(3)对其进行归一化
基于随机游走改进的麻雀搜索算法-附代码
式中: 基于随机游走改进的麻雀搜索算法-附代码 为第$ i$ 维变量随机游走的最小值; 基于随机游走改进的麻雀搜索算法-附代码为第基于随机游走改进的麻雀搜索算法-附代码 维变量随机游走的最大值;基于随机游走改进的麻雀搜索算法-附代码为第基于随机游走改进的麻雀搜索算法-附代码维变量再第基于随机游走改进的麻雀搜索算法-附代码次迭代的最小值;基于随机游走改进的麻雀搜索算法-附代码为第 基于随机游走改进的麻雀搜索算法-附代码 维变量在第$ t$ 次迭代最大值。

2.基于随机策略的麻雀搜索算法

基础麻雀算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108830958

该改进主要是在麻雀搜索后,利用随机游走对最优麻雀进行扰动,提高其搜索性,在开始迭代之初,随机游走边界较大,有利于提高全局搜索性,在迭代多次后,游走边界变小,提高算法的最优位置局部搜索性。

算法流程

Step1: 初始化种群,迭代次数,初始化捕食者和加入者比列。

Step2:计算适应度值,并排序。

Step3:麻雀更新捕食者位置。

Step4:麻雀更新加入者位置。

Step5:麻雀更新警戒者位置。

Step6:计算适应度值并更新麻雀位置。

Step7. 利用随机游走更新最优麻雀

Step8.计算适应度值并更新麻雀位置。

Step9:是否满足停止条件,满足则退出,输出结果,否则,重复执行Step2-8;

3.算法结果:

请添加图片描述

4.Matlab

5.Python

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年5月11日 上午10:40
下一篇 2022年5月11日

相关推荐