一、无线传感器网络覆盖优化问题简介

1无线传感器网络覆盖优化问题
1.1 无线传感器网络模型

在无线传感器网络中, 节点数量以及节点划分区域直接关系着无线传感器网络对目标事物覆盖死角面积, 增多节点数量能够提高网络覆盖密度。将节点更多地划分在离目标事物距离近的区域内, 可以增强网络数据传输的安全性和准确性。无线传感器网络认知模型搭建的目的就是对无线传感器网络的覆盖死角进行定义和测量, 为此, 基于粒子群算法的无线传感器网络覆盖优化方法可看成是对认知模型的参数优化问题。

传感器网络节点容易受到噪音和电磁波的扰乱造成传输误差, 这些因不可抗拒因素导致的一系列缩减网络覆盖率问题被统称为无效事件。设无线传感器网络认知模型在起点坐标为S、终点坐标为p的节点上测量到存在无效事件的几率为P (S, p) , 降低P (S, p) 即可提高覆盖率。P (S, p) 的定义式为:

式中:β是节点认知力衰减函数;d (S, p) 表示S与p之间的欧几里得度量。

从式 (1) 中能够明显看出, 如果d (S, p) =0, 则P (S, p) =1, 此时的模型测量工作是无意义的。为此, 需要对式 (1) 进行改进, 为其指定一个节点几率约束值r, 则式 (1) 可变更为:

式 (2) 可表示无线传感器网络认知模型的最终表达式, 从中能够得知, 模型已将无线传感器网络覆盖优化工作转化成在r≤d (S, p) <2r条件下的P (S, p) 最小值问题。

1.2 覆盖率优化问题描述
将无线传感器网络对目标物体的监控区域看成一个二维区域, 二维区域中存在N个已知坐标的节点, 设区域中所有节点的认知半径均为R1, 节点传输半径均为R2。若想在维系网络稳定通信的同时将电磁波的不良影响降至最低, 可令R2=2R1。

式中:β1, β2是无线传感器网络节点的测量项目数据;λ1, λ2是参数, λ1=r+d, λ2=2r-d。

将式 (3) 耦合可以得到无线传感器网络覆盖率的表达式:

2 粒子群算法的传感器网络覆盖优化
根据上述描述, 使用粒子群算法优化无线传感器网络覆盖率, 简要介绍粒子群算法的基本原理, 对网络覆盖优化流程进行重点设计。

2.1 粒子群算法的工作原理
粒子群算法是进化算法的一个流派, 也是生物随机索引算法中的一个分支, 是当前的研究热点。粒子群算法的基本原理如图1所示。

图1 粒子群算法基本原理
由图1可知, 粒子群算法的实现非常简单, 其基本原理就是使用迭代方式得到最优解, 对粒子的速度和坐标进行实时更新。算法先初始化粒子, 将历史最优解赋予粒子。在算法进入迭代流程前, 先设置一个位置参数g的最大值, 即循环系数, 负责控制算法的迭代次数。每迭代一次, 位置参数g的值便增加1, 当g大于循环系数, 则停止迭代。粒子群算法的迭代工作可得到粒子适应度, 并以适应度为标准依次更新粒子的历史最优解、粒子群最优解以及粒子的速度和坐标。粒子速度vN1与坐标xi1的更新方程为:

式中:vN, xi是粒子初始设定值;c1, c2是粒子群算法的学习因子, 通常取值为2;rand1, rand2是随机参数;bestN是粒子适应度约束值。

2.2 无线传感器网络覆盖优化流程
基于粒子群算法的无线传感器网络覆盖优化方法的优化流程如图2所示。

图2 无线传感器网络覆盖优化流程
首先对模型进行编码, 其目的是固定节点位置, 粒子群算法的编码是一种二进制百兆数据码, 编码长度与无线传感器网络节点数量相等。当模型中节点参数满足r≤d<2r, 为获取P (x, y, cN) 的最大值, 粒子群算法的编码结果应满足下式:

式 (6) 中的元素取值为0或1, 0表示传感器节点可以被重新安置, 1表示固定节点。

适应度是评价最优解质量的函数, 在粒子群算法进行迭代工作前, 需要提前设置适应度函数并计算出无线传感器网络认知模型的初始适应度, 方便对迭代结果进行对比, 输出最合适的节点优化位置, 实现对无线传感器网络覆盖率的最佳优化。

在式 (6) 给出的编码基础上, 使用式 (7) 计算模型适应度:

式中:无线传感器网络覆盖率瞬时值R1可通过式 (4) 进行求取;w1和w2分别表示R1在无线传感器网络中的初始权重和实际权重。

当式 (7) 满足w1+w2=1时, P (x, y, cN) 可达最大值。因此, 粒子群算法迭代工作的目标就是令w1+w2=1。实现迭代目标后, 基于粒子群算法的无线传感器网络覆盖优化方法需要对无线传感器网络的节点位置进行更新, 并输出优化后的无线传感器网络覆盖率。

二、部分源代码

close all
clear
clc
addpath(genpath(cd))
warning('off')
%%
N=10;                       % 节点数
area=[10,10];              % 以米为单位的节点部署区域
Trange=2;                   % 传感器节点的传输范围(以米为单位)
nodes.pos=area(1).*rand(N,2);% 节点地理位置
lambda=0.125;                % 以米为单位的信号波长
nodes.major = Trange;        % 椭圆范围的长轴,以米为单位
nodes.minor = lambda*Trange;  % 椭圆范围的短轴,以米为单位
% redundantNo=9;               % 愈合节点数
redundantNo=round(10*N/100);
%% 绘制节点部署
cnt=1;
for ii=1:N      for jj=1:Nif ii~=jjnodes.distance(ii,jj)=pdist([nodes.pos(ii,:);nodes.pos(jj,:)]);if nodes.distance(ii,jj)<Trange || nodes.distance(ii,jj)==Trangenodes.inrange(ii,jj)=1;elsenodes.inrange(ii,jj)=0;endendend
end

三、运行结果




四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]张红霞.基于粒子群算法的无线传感器网络覆盖优化[J].现代电子技术. 2017,40(09)

【优化覆盖】基于matlab粒子群算法求解传感器覆盖优化问题【含Matlab源码 598期】相关推荐

  1. 【电力系统】基于matlab粒子群算法求解热电联产系统优化配置问题【含Matlab源码 2298期】

    ⛄一.热电联产系统优化配置问题 1 能量枢纽模型 能量枢纽模型通过增加能源的供给路径提升能源系统的经济性.灵活性和安全性[6].图1展示了一种典型的能量枢纽模型. 图1 典型能量枢纽模型示意图 1.2 ...

  2. 【ACO TSP】基于matlab蚁群算法求解31城市旅行商问题【含Matlab源码 1147期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[TSP]基于matlab蚁群算法求解31城市旅行商问题[含Matlab源码 1147期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...

  3. 【优化布局】基于matlab粒子群算法求解充电站布局优化问题【含Matlab源码 012期】

    ⛄一.粒子群算法简介 1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都 ...

  4. 【PSO三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 015期】

    一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下 ...

  5. 【PSO三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 1260期】

    一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下 ...

  6. 【PSO三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 192期】

    ⛄一.无人机简介 无人机的航迹规划是指在综合考虑无人机飞行油耗.威胁.飞行区域以及自身物理条件限制等因素的前提下, 为飞行器在飞行区域内规划出从初始点到目标点最优或者满意的飞行航迹, 其本质是一个多约 ...

  7. 【配电网重构】基于matlab粒子群算法33节点配电网重构【含Matlab源码 1829期】

    ⛄一.配电网重构简介 1 配电网重构的数学模型 1.1 配电网重构的目标函数 配电网重构的数学模型实质就是多目标多约束的最优解问题, 配网重构的目标一般由以下几类: (1) 配电网最小网损为目标; ( ...

  8. 【定位问题】RSSI和模拟退火优化粒子群算法求解无线传感器网络定位问题【含Matlab源码 1766期】

    ⛄一.简介 1 引言 随着物联网技术的发展,传感器之间通过通信方式连接在一起,构成了极为庞大的无线传感器网络,这使得传感器在各行各业的应用相当广泛[.然而,因为大规模抛撒的传感器节点无法全部配备价格昂 ...

  9. 【无人机】基于混合粒子群算法求解无人机航迹规划问题附Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  10. 【车间调度】粒子群算法求解6X6车间调度问题【含Matlab源码 411期】

    ⛄一.车间调度简介 1 车间调度定义 车间调度是指根据产品制造的合理需求分配加工车间顺序,从而达到合理利用产品制造资源.提高企业经济效益的目的.车间调度问题从数学上可以描述为有n个待加工的零件要在m台 ...

最新文章

  1. R语言实战应用精讲50篇(十八)-R语言实现分词、词频与词云案例解析
  2. SaltStack实战之配置管理-Jinja2模板
  3. idea设置启动时打开欢迎页
  4. Mysql事务以及加锁机制事务的特征ACID
  5. wine和steam的区别
  6. raspberry pi_我如何使用Raspberry Pi与孙辈联系
  7. 网络***检查分析---破解安全隐患问题回答
  8. 趣学 C 语言(四)—— 字符串与字符数组
  9. [UE4]暂停游戏、退出游戏、游戏输入模式
  10. ajax怎么传全局变量的值,ajax方法如何给全局变量赋值(示例代码)
  11. 汉字转拼音源码的两个类
  12. Python爬虫学习简单入门(第四含scrapy安装)
  13. C# pdf转png图片
  14. 支持多种登录模式的token方案设计(微信、支付宝登录等)和数据库设计含手机号绑定方法
  15. TSL2591STM32固件库开发
  16. JS测试显示屏分辨率以及屏幕尺寸
  17. 3.10 Ctrl+A快捷键在表格中的使用 [原创Excel教程]
  18. [MFC] CList
  19. 谁用谁知道!发放Gmail邀请,和大家共享Gmail邮箱
  20. 雅安职业技术学院工业机器人专业_雅安职业技术学院有哪些专业_2020年学费标准_中职中专网...

热门文章

  1. 突然间~两年悄然而过
  2. Maven-Eclipse使用maven创建HelloWorld Java项目
  3. Notepad++-第一篇命令行语句执行之编译、运行Java
  4. P2668 斗地主 贪心+深搜
  5. ubuntu硬盘安装及启动,menu.lst
  6. ecshop如何增加多个产品详细描述的编辑器
  7. 配送中心数据迁移项目(SDC to PDC Data Migartion)
  8. HTC Vive安装及如何连接电脑详细教程(全程图解)
  9. 扇贝有道180920每日一句
  10. byte[] 转化为 string 转化为汉字和字母