【北大核心】改进花朵授粉算法的无线传感器网络部署优化(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

2.1 有障碍物

2.2 无障碍物 

🎉3 参考文献

🌈4 Matlab代码、数据、文章讲解


💥1 概述

文献来源:

摘要:针对监测区域内含有障碍物的无线传感器网络(Wireless Sensor Networks,WSNs)异构节点部署优化问题,在花朵授粉算法(FlowerPollinationAlgorithm,FPA)的基础之上,提出了一种改进的花朵授粉算法(Improved Flower Pollination Algorithm,IFPA)用于改善原有算法收敛速度慢、精度不够高的不足。设计非线性收敛因子以约束原有的缩放因子,采用Tent映射以维持迭代后期种群的多样性,而贪心交叉策略则是以较优的个体辅助较差个体搜索。基准函数实验验证了IFPA具有较好的收敛性能,而WSN部署的仿真实验表明IFPA可得到较高的覆盖率,可节约网络部署成本。

关键词:

无线传感器网络;覆盖优化;异构节点;障碍物;改进花朵授粉算法;

 随着 5G 和物联网的发展,无线传感器网络 在医疗健康、环境监测和工业领域有着广泛的应

用[1-3]。近些年,研究者在无线传感器网络(Wireless Sensor Networks, WSNs)中的路由协议、定位和覆盖方面研究成果丰硕[4-6],其中覆盖优化是 WSN 的一个最基本问题[7]。随着群智能算法在优化问题上的广泛应用,近些年的研究大多是以智能优化算法实现节点的动态部署。文献[8]提出了一种根据当前搜索状态自适应搜索的粒子群优化(Particle SwarmOptimization,PSO)算法,利用改进的 PSO 优化传感器网络部署,提高了网络的自适应能力,但算法本身仍存在陷入局部最优的不足。文献[9]是利用改进的虚拟弹簧力算法 (Virtual Spring ForceAlgorithm)部署正六边形网络拓扑,有效的减少了传感器网络中漏洞的面积,该方案只讨论了理想条件下的部署策略,复杂环境并未考虑。文献[10]提出一种基于改进灰狼优化(Grey Wolf Optimizer)算法的覆盖优化策略,但没有考虑实际部署中存在障碍物的情况。文献[11]以覆盖率为目标,用改进的鱼群算法(Fish Swarm Optimization)优化传感器节点的部署,显著的提高了网络覆盖面积,但只是针对同构传感器,并未考虑异构传感器和复杂情况下的监测环境。

花朵授粉算法(Flower Pollination Algorithm, FPA)是英国学者 Yang 近些年根据花朵授粉的方式

提出的一种启发式搜索算法[12]。FPA 具有较好的寻优能力和收敛性能,因而得到了广泛的应用。文献[13]将离散操作加入到 FPA 中,并把它应用到解决柔性作业车间调度的问题上,仿真实验证明了算法具有较好的搜索优化效果,但算法的收敛速度较慢。文献[14]提出了一种基于混沌搜索的改进花朵授粉算法,提高了算法跳出局部最优的能力和解的精度,并将其应用于数独问题时,算法可提供更好、更清晰的解决方案,但算法的收敛性能并没有显著提高。

📚2 运行结果

2.1 有障碍物

 几种算法比较图:

 

 

 

 

2.2 无障碍物 

 

 

 部分代码:

%以下数据验证完毕,完全正确
point = zeros(8,2);%存储这些点  从左  从上往下
point(1,:) = [x1_up,50];
point(2,:) = [0,y1_down];
point(3,:) = [0,y2_up];
point(4,:) = [x2_down,0];
point(5,:) = [x3_up,50];
point(6,:) = [50,y3_down];
point(7,:) = [50,y4_up];
point(8,:) = [x4_down,0];

%菱形的计算
point_diamond = zeros(2,4);%菱形的四个点,方位是顺时针 第一列为上 二列为右
%求出新菱形形的四个点
syms x y;%先定义一个变量
%左上角
k5 = 1;
b5 = 10;
%别搞什么计算了  直接可以看出来

point_diamond(1,1) = 25;
point_diamond(2,1) = 35;

%右上角
k6 = -1;
b6 = 60;

point_diamond(1,2) = 35;
point_diamond(2,2) = 25;

%右下角
k7 = 1;
b7 = -10;

point_diamond(1,3) = 25;
point_diamond(2,3) = 15;

%左下角
k8 = 1;
b8 = 40;

point_diamond(1,4) = 15;
point_diamond(2,4) = 25;

load struct_pop_public.mat;%加载该种群
struct_pops = struct_pop_public;%得到种群数据

load struct_first_init_public.mat%加载最开始的一个个体数据
struct_first_init = struct_first_init_public;%得到初始化个体数据

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]王振东,谢华茂,胡中栋,李大海,王俊岭.改进花朵授粉算法的无线传感器网络部署优化[J].系统仿真学报,2021,33(03):645-656.DOI:10.16182/j.issn1004731x.joss.19-0580.

🌈4 Matlab代码、数据、文章讲解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值