路径优化方法

部分代码

num = size(G,1);
for i=1:num/2  
    for j=1:num
        m=G(i,j);
        n=G(num+1-i,j);
        G(i,j)=n;
        G(num+1-i,j)=m;
    end
end

% drawShanGe(G,0)
% title('栅格地图')
%% 
S = [1 1];   
E = [num num];  
G0 = G;
G = G0(S(1):E(1),S(2):E(2)); 
[Xmax,dimensions] = size(G); X_min = 1;         
dimensions = dimensions - 2;            

%% 参数设置
max_gen = 200;    % 最大迭代次数
num_polution = 30;         % 种群数量

fobj=@(x)fitness(x,G);
[Best_score,Best_pos,GA_curve]=GA(num_polution,max_gen,X_min,Xmax,dimensions,fobj,G);
%结果分析
Best_pos = round(Best_pos);
disp(['GA算法寻优得到的最短路径是:',num2str(Best_score)])
route = [S(1) Best_pos E(1)];
path_GA=generateContinuousRoute(route,G);
path_GA=GenerateSmoothPath(path_GA,G);  
path_GA=GenerateSmoothPath(path_GA,G);

[Best_score,Best_pos,SSA_curve]=DBO(num_polution,max_gen,X_min,Xmax,dimensions,fobj,G);
%结果分析
Best_pos = round(Best_pos);
disp(['DBO算法寻优得到的最短路径是:',num2str(Best_score)])
route = [S(1) Best_pos E(1)];
path_DBO=generateContinuousRoute(route,G);
path_DBO=GenerateSmoothPath(path_DBO,G);  
path_DBO=GenerateSmoothPath(path_DBO,G);

[Best_score,Best_pos,GWO_curve]=GWO1(num_polution,max_gen,X_min,Xmax,dimensions,fobj,G);
%结果分析
Best_pos = round(Best_pos);
disp(['GWO1算法寻优得到的最短路径是:',num2str(Best_score)])
route = [S(1) Best_pos E(1)];
path_GWO1=generateContinuousRoute(route,G);
path_GWO1=GenerateSmoothPath(path_GWO1,G);  
path_GWO1=GenerateSmoothPath(path_GWO1,G);

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值