蜘蛛蜂优化算法(Spider wasp optimizer,SWO)求解机器人栅格地图最短路径规划(提供MATLAB)

作品简介

一、蜘蛛蜂优化算法SWO

蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为,具有搜索速度快,求解精度高的优势。

参考文献:

[1]Abdel-Basset, M., Mohamed, R., Jameel, M. et al. Spider wasp optimizer: a novel meta-heuristic optimization algorithm. Artif Intell Rev (2023). https://doi.org/10.1007/s10462-023-10446-y

https://blog.csdn.net/weixin_46204734/article/details/130222645

二、部分代码

clc
clear
close all
tic
%% 地图
global G S E
G=[0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0; 
   0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0; 
   0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0; 
   0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0; 
   0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0; 
   0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0; 
   0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0;
   0 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0; 
   0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0; 
   0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0; 
   0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0; 
   0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0; 
   0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0; 
   0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0; 
   1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0; 
   1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0; 
   0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 0; 
   0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0; 
   0 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0; 
   0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0;];
for i=1:20/2
    for j=1:20
        m=G(i,j);
        n=G(21-i,j);
        G(i,j)=n;
        G(21-i,j)=m;
    end
end
%% 
S = [1 1];   %起点
E = [20 20];  %终点
[ub,dimensions] = size(G);        
dim = dimensions - 2;             
%% 参数设置
Max_iter= 200;    % 最大迭代次数
SearchAgents_no = 50;         % 种群数量
X_min = 1;  
lb=1;
fobj=@(x)fitness(x);
[Best_score,Best_NC,Convergence_curve]=SWO(SearchAgents_no,Max_iter,lb,ub,dim,fobj);


toc
%% 结果分析
global_best = round(Best_NC);
figure(1)
plot(Convergence_curve,'r-','linewidth',2.5)
xlabel('Iteration');
ylabel('Fitness');
legend('SWO')

三、部分结果


四、完整MATLAB代码

点击main.m即可运行。


创作时间: