文章目录
- 【`获取资源`请见文章第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_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. 仿真结果展示
5. 资源获取
可以获取完整代码资源。
6. 参考文献
An Adaptive Sand Cat Swarm Algorithm Based on Cauchy Mutation and Optimal Neighborhood Disturbance Strategy, Xing Wang, Qian Liu and Li Zhang.