新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试...

今天为大家带来一期雪消融优化器(Snow ablation optimizer,SAO)。该算法发表于2023年6月1号。趁热乎,大家赶紧拿下!

雪消融优化器( SAO) 是受自然界中雪的升华和融化行为的启发,开发了一种新的基于物理的雪消融优化器(SAO)算法,模拟雪的升华和融化行为。

如下图所示:在融化的过程中,雪会转化为液态水,而它可以通过升华直接转化为蒸汽。同时,需要注意的是,融雪转化的液态水也可以通过蒸发转化为蒸汽。

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第1张图片

本期在CEC2022函数集上进行测试,经过测试发现效果还是很不错的。

原理详解

①初始化阶段:

与大多数智能算法相似,就是随机生成一批粒子:

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第2张图片

②探索阶段

当雪或由雪转化的液态水转化为蒸汽时,由于不规则的运动,搜索代理呈现出高度分散的特征。在这项研究中,布朗运动被用来模拟这种情况。作为一个随机过程,布朗运动被广泛应用于模拟动物的觅食行为,粒子的无休止和不规则运动、股票价格的波动行为等。对于标准布朗运动,步长是通过基于均值为零、方差为一的正态分布的概率密度函数来获得的。相关的数学表示如下:

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第3张图片

布朗运动能够探索搜索空间中的一些潜在区域。因此,它可以很好地反映蒸汽在搜索空间中扩散的情况。勘探过程中的位置计算公式如下:

f87cda829808ed0fd495e9af3d6fe50d.png

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第4张图片

83ceb6986e92608f184bff60ffe8ac5e.png

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第5张图片

③开采阶段

当雪通过融化行为转化为液态水时,鼓励搜索代理围绕当前最佳解决方案开发高质量的解决方案,而不是在解决方案空间中以高度分散的特征进行扩展。作为最经典的融雪模型之一,degree-day法被用来反映融雪过程。该方法的一般形式如下所示:

53743eb938e8ee36db68f69c63aa52f3.png

2eda16821904b252cffdc3aeab54be67.png

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第6张图片

35531df6c6dd7491b0a82913c01af264.png

56a891e5cb0e5cfda7fc7b0906d0bf64.png

④双种群机制

一些从雪中转化的液态水也可以转化为蒸汽来进行勘探过程。也就是说,随着时间的推移,个体进行具有高度分散特征的不规则运动的可能性增加。然后算法逐渐有了探索解空间的趋势。在我们的研究中,二元种群机制是为了反映这种情况并保持开发和探索。如算法1所示,在迭代的早期阶段,将整个种群随机划分为两个大小相等的子种群。称之为双种群机制。

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第7张图片

SAO算法的伪代码:

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第8张图片

结果展示

CEC2022测试结果:

做了个简单对比,SABO是减法优化器算法,SSA是麻雀优化算法,SAO是本文的雪消融优化器

F1

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第9张图片

F2

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第10张图片

F3

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第11张图片

F4

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第12张图片

F5

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第13张图片

F6

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第14张图片

F7

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第15张图片

F8

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第16张图片

F9

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第17张图片

F10

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第18张图片

F11

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第19张图片

F12

新鲜出炉!2023年智能算法之雪消融优化器,MATLAB代码免费获取,在CEC2022进行测试..._第20张图片

可以看到,SAO算法效果还是非常不错的!整体效果比麻雀和SABO算法都要好!接下来直接上代码

代码展示

function [Best_pos,Best_score,Convergence_curve]=SAO(N,Max_iter,lb,ub,dim,fobj)


if(max(size(ub)) == 1)
   ub = ub.*ones(1,dim);
   lb = lb.*ones(1,dim);  
end
%Initialize the set of random solutions
X=initialization(N,dim,ub,lb);


Best_pos=zeros(1,dim);
Best_score=inf;
Objective_values = zeros(1,size(X,1));


Convergence_curve=[];
N1=floor(N*0.5);
Elite_pool=[];


% Calculate the fitness of the first set and find the best one
for i=1:size(X,1)
    Objective_values(1,i)=fobj(X(i,:));
    if i==1
        Best_pos=X(i,:);
        Best_score=Objective_values(1,i);
    elseif Objective_values(1,i)=1
    for i=1:Nb
        r2=2*rand-1;
        for j=1:size(X,2) % in j-th dimension
            X(index2(i),j)= M*Best_pos(j)+RB(index2(i),j)*(r2*(Best_pos(j)-X(index2(i),j))+(1-r2)*(X_centroid(j)-X(index2(i),j)));
        end
    end
    end
    
    % Check if solutions go outside the search spaceand bring them back
    for i=1:size(X,1)
        for j=1:dim
            if X(i,j)>ub(j)
                X(i,j)=ub(j);
            end
            if X(i,j)

参考文献:

Lingyun Deng, Sanyang Liu. Snow ablation optimizer: A novel metaheuristic technique for numerical optimization and engineering design,Expert Systems with Applications,Volume 225,2023.

文献原文已经放在代码压缩包里了。

2023智能算法合集代码免费获取方式

完整代码获取方式:后台回复关键字,不区分大小写。关键字:

2023

你可能感兴趣的:(matlab,开发语言)