【群智能算法改进】一种改进的沙丘猫群优化算法 改进沙丘猫群算法 改进SCSO[2]【Matlab代码#36】

news/2024/10/22 12:32:07/

文章目录

    • 【`获取资源`请见文章第5节:资源获取】
    • 1. 原始沙丘猫群优化算法
    • 2. 改进沙丘猫群算法
      • 2.1 非线性自适应参数
      • 2.2 Cauchy变异策略
      • 2.3 最优邻域扰动策略
    • 3. 部分代码展示
    • 4. 仿真结果展示
    • 5. 资源获取
    • 6. 参考文献


获取资源请见文章第5节:资源获取】


1. 原始沙丘猫群优化算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 改进沙丘猫群算法

2.1 非线性自适应参数

在原始SCSO算法中,参数Se作用很大,它代表沙丘猫听觉的敏感范围。首先,它影响着参数Re的大小,而Re又负责平衡迭代过程中的全局搜索和局部开发过程,因此Se是一个协调探索和开发阶段的参数。然后,Se
是收敛因子re的一个重要组成部分,对迭代过程中的收敛速度有着举足轻重的作用。然而,在原始SCSO算法中Se从2线性递减到0,极大地限制了沙丘猫的寻优能力,所以这边改进得到了非线性自适应参数Se。
非线性自适应参数Se的变化曲线如下:
在这里插入图片描述

2.2 Cauchy变异策略

柯西变异策略(Cauchy Mutation Strategy)是一种常用于优化算法中的变异操作策略之一。柯西变异策略通过对解向量的每个维度进行随机扰动,生成一个新的候选解向量。它的变异操作基于柯西分布(Cauchy Distribution),该分布是一种重尾分布,其概率密度函数具有长尾特性。
具体来说,柯西变异策略通过以下步骤进行:

  • 对于给定的解向量,选择一个随机维度。
  • 从柯西分布中抽取一个随机数作为变异扰动因子。
  • 将变异扰动因子乘以当前维度的取值范围,得到该维度的变异量。
  • 将变异量加到当前维度的取值上,得到变异后的解向量。

柯西变异策略相对于其他变异策略(如高斯变异策略)具有更大的扰动幅度,因此更有可能在搜索空间中产生较远离当前解的新解。这有助于算法在探索性和多样性之间取得平衡,促进全局搜索能力。

2.3 最优邻域扰动策略

当沙猫群捕食时,所有的个体都会向最优解的位置移动,这种情况代表了种群的同质性,但不利于全局搜索阶段的进行。因此引入最佳邻域干扰策略,当全局最优被更新时,将围绕它进行进一步的附近的搜索,如此而来,种群的多样性就可以得到保证。公式如下:
在这里插入图片描述
在每一次进行最优邻域扰动后,要进行贪婪选择,比较使用最优邻域扰动策略前后的适应度值,保留优的,舍弃差的。

3. 部分代码展示

function [Best_Score,BestFit,Convergence_curve]=ISCSO(SearchAgents_no,Max_iter,lb,ub,dim,fobj)
BestFit=zeros(1,dim);
Best_Score=inf;
Positions=initialization(SearchAgents_no,dim,ub,lb);
Convergence_curve=zeros(1,Max_iter);
t=0;
p=[1:360];
while t<Max_iterfor i=1:size(Positions,1)Flag4ub=Positions(i,:)>ub;Flag4lb=Positions(i,:)<lb;Positions(i,:)=(Positions(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;fitness=fobj(Positions(i,:));% ★★改进3:最优邻域扰动策略★★Temp_best=...;if fitness<Best_ScoreBest_Score=fitness;BestFit=Positions(i,:);endend

4. 仿真结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 资源获取

可以获取完整代码资源。

6. 参考文献

An Adaptive Sand Cat Swarm Algorithm Based on Cauchy Mutation and Optimal Neighborhood Disturbance Strategy, Xing Wang, Qian Liu and Li Zhang.


http://www.ppmy.cn/news/150550.html

相关文章

win10系统如何清理c盘垃圾

win10系统如何清理c盘垃圾 大家都知道随着电脑的使用时间的增多&#xff0c;c盘已占用空间会越来越大&#xff0c;会严重影像系统的流畅新&#xff0c;解决电脑卡可以尝试清理Win10系统中的垃圾文件&#xff0c;一起来看看具体操作方法吧! win10系统清理c盘垃圾的方法如下&am…

系统盘清理,便携小助手一键清理系统垃圾

系统盘容量告急&#xff0c;相信大家都遇到过&#xff0c;各类软件在运行中都会产生各种各样的缓存文件或者垃圾&#xff0c;或是一些我们用不上的文件。有几个尤其占用空间大的目录如下&#xff1a; C:\Users\用户名\AppData\Roaming\TencentC:\Users\RegentWan.m2C:\Windows…

Dos一键清理系统垃圾教程

导读一键清理系统垃圾是靠dos也就是批处理实现的。主要的命令是del和rd 一个是删除文件(del) 一个删除目录(rd)&#xff0c;这里为大家介绍一下 del 命令的参数 /F 强制删除只读文件。/S 从所有子目录删除指定文件。/Q 安静模式。删除全局通配符时&#xff0c;不要求确认。 …

清理c盘垃圾怎么清理?清理软件如何选择?

电脑使用一段时间之后&#xff0c;就会出现卡顿&#xff0c;运行不顺畅的情况&#xff0c;有时甚至一个小很的文件也要花费很长的时间才能打开&#xff0c;这就是c盘中的垃圾过多了&#xff0c;占用了很大的内存&#xff0c;影响到了系统盘的正常使用&#xff0c;从而导致电脑运…

windows清理系统垃圾bat脚本

系列文章目录 文章目录 系列文章目录前言一、针对电脑小白的系统垃圾清理二、使用步骤1.新建文本 "垃圾清理.txt"2.复制如上代码3.更改后缀名为.bat "垃圾清理.bat"4.运行即可 总结 前言 一、针对电脑小白的系统垃圾清理 echo off echo 正在进行系统垃圾…

Mac系统垃圾清理

1、查看系统文件占用详情&#xff0c;终端执行命令 du -sh * 左边是文件占用大小&#xff0c;右边是文件夹/文件名称&#xff0c;可以看出Library占用了151G&#xff0c;接着进入该文件夹 cd Library 执行以下命令查看文件占用情况 du -d 1 -h 可以看出Developer占用81G&am…

【win10】不使用“杀毒软件”清理垃圾几个方法

文章目录 一.windows自带清理二.删除C:\Users\YQ19882\AppData\Local\Temp里的文件&#xff0c;Temp文件夹不删除三.网上的批处理四.右键盘符windows自带的磁盘清理五.删除各软件的缓存 计算机在使用的过程中&#xff0c;一般都会自动生成临时的文件或信息&#xff0c;如系统和…

Ubuntu如何清理系统垃圾

Ubuntu Linux与Windows系统不同&#xff0c;Ubuntu Linux不会产生无用垃圾文件&#xff0c;但是在升级缓存中&#xff0c;Ubuntu Linux不会自动删除这些文件&#xff0c;今天就来说说这些垃圾文件清理方法。1&#xff0c;非常有用的清理命令&#xff1a; sudo apt-get autoclea…