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

文章目录

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


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


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

【群智能算法改进】一种改进的沙丘猫群优化算法 改进沙丘猫群算法 改进SCSO[2]【Matlab代码#36】_第1张图片
【群智能算法改进】一种改进的沙丘猫群优化算法 改进沙丘猫群算法 改进SCSO[2]【Matlab代码#36】_第2张图片
【群智能算法改进】一种改进的沙丘猫群优化算法 改进沙丘猫群算法 改进SCSO[2]【Matlab代码#36】_第3张图片

2. 改进沙丘猫群算法

2.1 非线性自适应参数

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

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_iter
    for 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_Score
            Best_Score=fitness;
            BestFit=Positions(i,:);
        end
    end

4. 仿真结果展示

【群智能算法改进】一种改进的沙丘猫群优化算法 改进沙丘猫群算法 改进SCSO[2]【Matlab代码#36】_第5张图片
【群智能算法改进】一种改进的沙丘猫群优化算法 改进沙丘猫群算法 改进SCSO[2]【Matlab代码#36】_第6张图片
【群智能算法改进】一种改进的沙丘猫群优化算法 改进沙丘猫群算法 改进SCSO[2]【Matlab代码#36】_第7张图片

5. 资源获取

可以获取完整代码资源。

6. 参考文献

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

你可能感兴趣的:(Matlab,#群智能算法改进,matlab,算法,机器学习)