资讯详情

【布局优化】基于蚁狮算法的无线传感器网(WSN)覆盖优化matlab源码

一、WSN模型

1.1 动机

近年来,随着对等网络、云计算、网格计算等分布式环境的发展,无线传感器网络(WSN)应用广泛。无线传感器网络(WSN)它是一种新兴的计算和网络模式,可以定义为一个由称为传感器节点的小、小、昂贵、高智能设备组成的网络。通过无线通信信道交换从监控领域收集的数据,传感器节点位于观测空间的不同位置。发送收集到的数据sink节点,sink节点要么本地处理数据,要么将数据发送到其他处理能力较强的网络。

无线传感器网络最基本的挑战之一是节点定位。节点定位问题的实例很多,属于NP难以优化。传统的确定性技术和算法在合理的计算时间内无法解决NP-hard问题。在这种情况下,最好采用元启发式算法等不确定性(随机)算法。

群体智能元启发算法模拟了自然界中的生物群体,如鸟和鱼、蜜蜂和蚂蚁、蝙蝠和杜鹃。这些算法是基于四个自组织原则:正反馈、负反馈、多重相互作用和波动。

1.2 无线传感器网络定位问题

定位问题是无线传感器网络中研究最多的问题之一,因为如果传感器节点的位置未知,则无法确定最佳的覆盖、功率和路由。定位是无线传感器网络的关键。全球定位系统可以定位一些传感器节点的位置(GPS)这些节点被称为锚节点或信标节点,而其他传感器节点则随机分布在搜索空间中。这些节点被称为未知节点或传感器节点。由于电池寿命、成本、气候条件等因素,只有少数节点的位置是由于GPS对于坐标,需要使用定位算法来估计其他节点的位置。

针对无线传感器网络中传感器节点的定位,提出了锚节点和未知节点两种定位算法。第一阶段称为测距阶段,算法确定未知节点与相邻锚节点之间的距离。针对无线传感器网络中传感器节点的定位,提出了锚节点和未知节点两种定位算法。第一阶段称为测距阶段,算法确定未知节点与相邻锚节点之间的距离。在第二阶段,通过在第一阶段收集测距信息的位置,如到达角(AOA)、到达时间(TOA)、到达时差(TDOA)、往返时间(RTT)、无线信号强度(RSS)等。

1.3 问题陈述

定位问题的目标是利用由M个传感器节点组成的无线传感器网络M-N当传输范围为R时,估计N个未知节点的位置。如果一个传感器节点在三个或更多锚节点的传输范围内,则认为它是定位的。这是一个总坐标n二维定位问题。

本文采用RSS该方法估计节点间距。无论采用何种测距方法,都可能出现不准确的测量。N预计未知节点坐标的位置可以表示为优化问题,涉及节点定位误差的目标函数最小化[19]。该问题的目标函数包括N个未知节点和M N相邻锚节点之间的误差平方和表示[19]。

随着RSS三边测量将用于解决WSN定位问题。该方法的原理是基于三个锚节点的已知位置。三个锚节点的传输范围内可以估计未知节点的位置。

估计每个节点到第一个锚点的距离是d?=di ni,其中ni是高斯噪声,di实际距离采用以下等式计算:

最小化的目标函数是计算节点坐标与实际节点坐标之间的平均误差(MSE):

其中di是实际距离,d?i是估计距离(从噪声范围测量获得的值di),M≥3(传感器节点在传输范围R中至少需要三个锚。

由于节点定位中的距离测量存在噪声,采用群体智能元启发式等优化方法,以估计节点之间的足够距离。

二、蚁狮算法

ALO该算法模拟了蚁狮在自然界中的捕猎机制。它们的名字来自于它们独特的狩猎行为和它们最喜欢的猎物。蚁狮沿着圆形路径移动,用它巨大的下颚在沙子里挖出一个锥形的坑。挖完陷阱后,藏在圆锥形底部(作为等待捕食者),等待被困在坑里的昆虫(最好是蚂蚁),如图1所示。主要步骤包括蚂蚁随机行走、设置陷阱、用陷阱诱捕蚂蚁、捕捉猎物和重建陷阱。

图1 蚁狮的捕猎行为

图2 蚂蚁随机行走 (3次)

为了模拟蚁狮的捕猎能力,采用了轮盘赌的方法。如图3所示,假设蚂蚁只被困在一只选定的蚁狮中。在优化过程中,蚁群算法需要根据蚁群的适应性使用轮盘赌轮操作器来选择蚁群。这种机制为更合适的蚁狮捕食蚂蚁提供了更高的机会。

图3 蚂蚁在蚁狮陷阱中随机行走

图4 ALO算法伪代码

三、代码

 % clear all ;  close all ; clc ; N = 25; % Number of nests(The scale of solution) D = 10 ; %  Dimensionality of solution T = 200 ; % Number of iterations Xmax = 20 ; Xmin = -20 ; Pa = 0.25 ; % Probability of building a new nest(After host bird find exotic bird eggs) nestPop = rand(N,D)*(Xmax-Xmin) Xmin ;  % Random initial solutions for t=1:T     levy_nestPop =  func_levy(nestPop,Xmax,Xmin) ; % Generate new solutions by Levy flights     nestPop = func_bestNestPop(nestPop,levy_nestPop);  % Choose a best nest among  new and old nests          rand_nestPop = func_newBuildNest(nestPop,Pa,Xmax,Xmin); % Abandon(Pa) worse nests and build new nests by (Preference random walk )     nestPop = func_bestNestPop(nestPop,rand_nestPop) ; % Choose a best nest among  new and old nests     [~,index] = max(func_fitness(nestPop)) ; % Best nests     trace(t) = func_objValue(nestPop(index,:)) ;  end figure  plot(trace); xlabel(‘迭代次数’) ; ylabel(适应度值) ; title(适应性进化曲线) ;

标签: 无线传感器网络wsn全解

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台