新雀优化算法NOA求解机器人栅格地图最短路径规划,可以自定义地图(提供MATLAB代码)

news/2024/7/7 20:37:01

一、星雀优化算法

星雀优化算法(Nutcracker optimizer algorithm,NOA)由Mohamed Abdel-Basset等人于2023年提出,该算法模拟星雀的两种行为,即:在夏秋季节收集并储存食物,在春冬季节搜索食物的存储位置。CEC2005:星雀优化算法(Nutcracker optimizer algorithm,NOA)求解CEC2005(提供MATLAB代码)-CSDN博客

参考文献:

Mohamed Abdel-Basset, Reda Mohamed, Mohammed Jameel, Mohamed Abouhawwash.Nutcracker optimizer: A novel nature-inspired metaheuristic algorithm for global optimization and engineering design problems[J]. Knowledge-Based Systems,2023,262.

二、部分代码

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]=NOA(SearchAgents_no,Max_iter,lb,ub,dim,fobj);

三、部分结果

四、完整MATLAB代码

新雀优化算法NOA求解机器人栅格地图最短路径规划,可以自定义地图(提供MATLAB代码)


http://lihuaxi.xjx100.cn/news/2085247.html

相关文章

基于YOLOv5的手机顶盖焊缺陷检测系统

💡💡💡本文主要内容:详细介绍了工业手机顶盖焊缺陷测整个过程,从数据集到训练模型到结果可视化分析。 博主简介 AI小怪兽,YOLO骨灰级玩家,1)YOLOv5、v7、v8优化创新,轻松涨点和模型…

MessAuto-让验证码提取更加丝滑

专注于web漏洞挖掘、内网渗透、免杀和代码审计,感谢各位师傅的关注!网安之路漫长,与君共勉! MessAuto MessAuto 是一款 macOS 平台自动提取短信和邮箱验证码到粘贴板的软件,由Rust开发,适用于任何APP 下面展…

章六、集合(1)—— 概念、API、List 接口及实现类、集合迭代

零、 关闭IDEA调试时自动隐藏空元素 一、 集合的概念 存储一个班学员信息,假定一个班容纳20名学员 当我们需要保存一组一样(类型相同)的元素的时候,我们应该使用一个容器来存储,数组就是这样一个容器。 数组有什么缺…

python实现--分块查找

python实现–顺序查找 python实现–折半查找 python实现–分块查找 python实现B/B树 分块查找(Block Search),也称为索引顺序查找,是一种结合顺序查找和索引查找思想的查找算法。它适用于线性表中数据量较大,但是分布不…

MySQL学习Day29——多版本并发控制

一、什么是MVCC MVCC(Multiversion concurrency control)多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoD8的事务隔离级别下执行一致性读操作有了保证。换言之就是为了查询一些正在被另一个事务更新的行,并且可以看到它…

01 数据结构引入 和 顺序表

阅读引言: 从本文开始给大家带来我在复习过程中写的数据结构的代码, 分享给需要的同学 一、数据结构引入 1.数据结构解决什么问题 数据结构可以将杂乱无章的数据管理起来, 提高数据的访问效率 计算机处理的对象(数据&#xff09…

爬虫入门到精通_框架篇16(Scrapy框架基本使用_名人名言的抓取

1 目标站点分析 抓取网站:http://quotes.toscrape.com/ 主要显示了一些名人名言,以及作者、标签等等信息: 点击next,page变为2: 2 流程框架 抓取第一页:请求第一页的URL并得到源代码,进行下…

一篇搞定mysql数据库基础

目录 一、MySQL具体的特点 1.关系型数据库(RDBMS): 2.MySQL是一个“客户端-服务器”结构的程序 Q1:服务器能不能知道客户端什么时候发请求?? Q2:服务器是只给一个客户端提供服务吗?? 二、M…