【目标搜索】基于matlab运动编码粒子群算法优化 (MPSO) 无人机搜索丢失目标【含Matlab源码 2254期】

news2024/9/30 11:39:10

⛄一、运动编码粒子群算法简介

1 粒子群算法
PSO算法是一种基于群体智能的随机优化方法。在PSO中,粒子群模拟鸟群行为在搜索空间中探索(全局搜索)和开发(局部搜索),最终找到全局最优解。粒子的速度和位置更新方程如公式(11)、公式(12)所示:
在这里插入图片描述
其中,k表示第k代,lbk是自身历史最优位置,gbk是群体最佳位置,ω是惯性权重,c1和c2分别是个体认知系数和社会引导系数,r1和r2是从[0,1]内采样的两个均匀概率分布的随机序列。

2 运动编码粒子群算法
运动编码粒子群算法MPSO保留了PSO的更新机制,但相对于笛卡尔空间,MPSO允许粒子在运动空间中搜索,将粒子移动限制在其相邻单元,从而保证路径中相邻节点之间的距离在无人机移动能力范围内,保持路径节点的可达性,使得每一代进化后的路径总是有效的。

MPSO将每条搜索路径视为一组无人机运动段,若定义t时某运动段的大小和方向分别为ρt和αt,该运动段则为ut=(ρt,αt),从而搜索路径为向量集Uk=(uk,1,…,uk,N)。使用Uk作为每个粒子的位置,则MPSO的更新方程如公式(13)和公式(14)所示:
在这里插入图片描述
在搜索过程中,为了评估与路径Uk相关的成本,需要将路径从运动空间映射到笛卡尔空间。如图1所示,映射过程通过将每条无人机路径的每个运动段约束到其8个邻居之一来执行,从而t时的运动幅度ρt可以归一化且运动角度αt可以量化,如公式(15)和公式(16)所示:
在这里插入图片描述

⛄二、部分源代码

clc;
clear;
close all;

%% 创建搜索场景

model = CreateModel(); % 创建搜索映射和参数

CostFunction=@(x) MyCost(x,model); % 成本函数

nVar = model.n; % 决策变量个数 = PSO 的搜索维数 = 运动次数

VarSize=[nVar 2]; % 决策变量矩阵大小

VarMin=-model.MRANGE; % 粒子的下限(变量)
VarMax = model.MRANGE; % 粒子的上界

%% PSO参数

MaxIt=150; %最大迭代次数

nPop=2000; % 人口规模(群体规模)

w=1; %惯性重量
wdamp=0.98; %惯性重量阻尼比
c1=2.5; % 个人学习系数
c2=2.5; %全局学习系数

alpha= 2;
VelMax=alpha*(VarMax-VarMin); % 最大速度
VelMin=-VelMax; % 最小速度

%% 初始化

% 创建空粒子结构
empty_particle.Position=[];
empty_particle.Velocity=[];
empty_particle.Cost=[];
empty_particle.Best.Position=[];
empty_particle.Best.Cost=[];

% 初始化全球最佳
GlobalBest.Cost = -1; % 最大化问题最大化问题

%创建一个空粒子矩阵,每个粒子都是一个解(搜索路径)
particle=repmat(empty_particle,nPop,1);

% 初始化回路
for i=1:nPop

% 初始化位置
particle(i).Position=CreateRandomSolution(model);

% 初始化速度
particle(i).Velocity=zeros(VarSize);

%评估
costP = CostFunction(particle(i).Position);
particle(i).Cost= costP;

% 更新个人最佳状态
particle(i).Best.Position=particle(i).Position;
particle(i).Best.Cost=particle(i).Cost;

% 更新全球最佳
if particle(i).Best.Cost>GlobalBest.Cost
    GlobalBest=particle(i).Best;
end

end

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]杨鸿光,张宇辉,魏文红.用于UAV运动目标搜索的自适应粒子群算法[J].计算机工程与应用

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全观察报告 攻击态势

设备类漏洞从未缓解 从图 5.1 中可以看到,针对设备漏洞的攻击占全部利用漏洞攻击的 43%,这和近两年智能路由器等 联网设备大规模增长密切相关。正如绿盟科技在《2017 年物联网报告》1 中提到的那样,很多智能设备 在设计之初,安全…

第3章 Thymeleaf模板渲染

文章目录第3章 Thymeleaf模板渲染3.2 Thymeleaf编程起步3.4 读取资源文件3.5 路径处理3.6 内置对象操作支持3.7 对象输出3.8 页面逻辑处理3.9 数据迭代处理3.10 包含指令3.11 Thymeleaf数据处理3.12 本章小结3.12 本章小结第3章 Thymeleaf模板渲染 3.2 Thymelea…

【OpenCV-Python】教程:3-13 Hough直线变换

OpenCV Python Hough直线变换 【目标】 理解Hough变换的概念学会使用Hough变换检测直线cv2.HoughLines(), cv2.HoughLinesP() 【理论】 Hough 变换是一个非常有用的技术,可以检测任何形状,只要那个形状可以通过数学方程表示出来,即使检测…

[附源码]计算机毕业设计springboot小区疫情事件处理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

传感器_三相-双极性-开关型-霍尔传感器 速度+电角度解算理解

1 前言 最近项目上涉及到使用三相-双极性-开关型-霍尔传感器解算 电机转速 、电角度的问题。结合自己的理解请教前辈,终有所得,下面做一个学习的记录。 主要以思路为主,不涉及代码。 2 正文 2.1 什么是三相? 所谓三相-双极性-…

毕设项目 - SSM农业商品信息管理权限后台子系统(含源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.3 系统结构设计4 项目获取1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大家分享一个今年(2022)最新完成的毕业设计项目作品,【基于SSM的农业商品…

(算法设计与分析)第四章贪心算法-第一节:贪心算法概述

文章目录一:贪心算法(1)概述(2)特点(3)框架二:典型贪心算法问题(1)无重叠区间①:题目描述②:解题思路③:完整代码&#xf…

【Android App】人脸识别中扫描识别二维码实战解析(附源码和演示 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~ 一、扫描识别二维码 不仅可以利用zxing库生成二维码,同样利用zxing库可以扫描二维码并解析得到原始文本,此时除了给build.gradle添加如下一行依赖配置 implementation com.google.zxing:core:3.4.1 还需要…

一文读懂什么是云原生|推荐收藏

Forrester数据显示,在2021年,全球云原生应用持续上升,组织中容器和无服务器技术的使用率在一年内都增长了75%以上。 Gartner预测,到2025年,将会有超过95%的新数字工作负载被部署在云原生平台上。 “未来的软件一定是长…

Qt第二十六章:QWidget、QMainWindow自定义标题栏

工具类(读者直接复制到项目中) class QCustomTitleBar:def __init__(self, window: QtWidgets):self.window window# 默认标题栏高度 必须设self.DEFAULT_TITILE_BAR_HEIGHT 40# 存储父类的双击事件self.mouseDoubleClickEvent_parent self.window.mo…

【数学】旋转后仍为函数图像问题

∣旋转后仍为函数图像问题NightguardSeries.∣\begin{vmatrix}\huge{\textsf{ 旋转后仍为函数图像问题 }}\\\texttt{ Nightguard Series. }\end{vmatrix}∣∣∣∣∣​ 旋转后仍为函数图像问题 Nightguard Series. ​∣∣∣∣∣​ ♣例1\clubsuit \textsf{例1}♣例1 f(x)ln⁡(x…

经典bloom算法(**布隆过滤器**)-levelDB拆分

bloom算法(布隆过滤器) 原理 先说一下什么是布隆过滤器,Bloom Filter是1970年由布隆提出的,它实际上是一个很长的二进制向量,和一系列随机值映射的函数,主要用于判断一个元素是否在一个集合中。 通常判断一个元素是否在一个集合…

Hasse diagram

In order theory, a Hasse diagram (/ˈhsə/; German: [ˈhasə]) is a type of mathematical diagram used to represent a finite partially ordered set, in the form of a drawing of its transitive reduction. Concretely, for a partially ordered set (S, ≤) one rep…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校学生宿舍管理信息系统3x4rz

做毕业设计一定要选好题目。毕设想简单,其实很简单。这里给几点建议: 1:首先,学会收集整理,年年专业都一样,岁岁毕业人不同。很多人在做毕业设计的时候,都犯了一个错误,那就是不借鉴…

記錄下用google colab 进行GPU(TPU)训练

文章目录温馨提示打开网站上传资源下载资源到google colab温馨提示 需要科学上网,没有的话可以点这个 https://shandianpro.com/#/register?codewCXwkCOU下个clashx进行 挂载 https://download.csdn.net/download/monk96/87231589 配置自行百度 打开网站 google…

Win11系统提示backgroundtaskhost.exe系统错误解决方法

Win11系统提示backgroundtaskhost.exe系统错误解决方法分享。backgroundTaskHost.exe是与Microsoft Cortana的虚拟助手相关联的关键系统进程。近期有Win11用户在电脑的使用中遇到了系统提示“backgroundTaskHost.exe – ApplicATIon Error”的错误,今天我们一起来看…

[附源码]计算机毕业设计JAVA学生考试成绩分析系统

[附源码]计算机毕业设计JAVA学生考试成绩分析系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…

疫情可视化part3

前言 之前在part2中说的添加自定义主题配色已经开发完成了,除此之外我还添加了一些的3d特效。 前期文章 这是part1的文章:https://blog.csdn.net/xi1213/article/details/126824752这是part2的文章:https://blog.csdn.net/xi1213/article/…

[附源码]Python计算机毕业设计Django基于VUE的网上订餐系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

【Linux】进程

1.linux操作系统要不要管理进程呢?必须要!!!!!!!!! 2.linux是如何管理大量进程的呢?先组织,再描述。 1.什么是进程 进程就是系统运行中…