基于改进适应度的群体智能无线传感器网络路由方法
摘要
尽管无线传感器网络(WSNs)领域不断取得进展,但在传感器节点可用的有限处理能力、通信能力、延迟和能量资源等方面仍存在改进空间。本文提出了一种基于群体智能(SI)的方法,该方法因其包含适度、自组织和协作行为,能够对普适环境中的变化提供持久的适应性,因而成为一个合适的模型。在无线传感器网络(WSNs)领域,已提出了多种基于群体智能的路由协议,其中适应度函数可提供最佳的可能路由路径。本文提出了一种使用人工蜂群(ABC)的改进型多路径路由方法。该改进方法基于一个包含距离向量、奖励因子、能量因子和路径延迟的适应度函数。在基于群体智能的路由协议(FP‐ant、EEABR、AODV、Beesensor)中,Beesensor提供了最佳结果。根据实验结果发现,该改进方法比Beesensor取得了更好的性能表现。
关键词 :无线传感器网络;WSNs;人工蜂群;ABC;距离因子;能量因子。
1 引言
无线传感器网络(WSNs)由传感器组成,这些传感器也被称为mote(商业名称),包含少量内存和CPU。在工业界,无线节点(WN)、传感器节点、mote和智能尘埃等术语可以互换使用(Akyildiz et al., 2002;Akyildiz and Mehmet, 2010)。通常,本文中使用的术语是传感器节点或节点。无线传感器网络被广泛应用于许多应用领域,包括军事、空中交通控制、气象站、发电站、自动灭火器等(Znati et al., 2007;Merkle and Blum, 2008;Blum et al., 2008;Baraa and Khalil, 2012)。传感器网络领域涉及人工智能(AI)、数据库管理系统(DBMS)、网络、无线电传输等多个学科(Sha et al., 2013)。其主要目标是开发基于微机电系统(MEMSs)的传感器系统,体积可达到1 mm³(Akyildiz et al., 2002)。无线传感器通过一系列短距离、低功耗的无线链路在有限的传感区域内相互连接(Sun et al., 2014)。它们利用互联网或其他服务将数据传输到其他位置(或多个位置),在那里进行最终的数据聚合和分析(Zhang and Shen, 2010)。图1展示了一个节点的组成部分,包括电源单元、传感与执行单元、通信单元和处理单元。通常,无线传感器网络的体系结构遵循开放系统互连(OSI)模型。在传感器网络中,我们需要五个层次:应用层、网络层、传输层、数据链路层和物理层(Znati et al., 2007)。
无线传感器网络中构成主要挑战的资源限制包括:
- 能量 ——在无线传感器网络中,能量节约是一个关键的设计考虑因素,因为能量消耗迅速,必须合理使用。
- 计算能力 ——几乎所有的无线传感器网络都具有有限的计算能力和内存资源。这限制了可在传感器节点平台上执行的数据处理算法类型,从而限制了节点的最佳性能。
- 通信系统 ——有限带宽是另一个关键挑战,因此网络可能被迫使用噪声信道。这种情况有时会导致通信信道被降至非加密频段。这将导致可靠性低、服务质量(QoS)差、高延迟、高帧丢失等(辛格,2015)。
人工蜂群(ABC)算法由德维什·卡拉博加于2005年提出,并已被广泛应用于计算领域,如费恩等,2012、卡拉博加和阿卡伊,2009以及Saleem等人 (2012) 的研究。ABC是一种基于蜂群表现出的智能觅食行为的优化算法。Saleem等人 (2012) 明确指出,与FP‐ant、EEABR相比,Beesensor具有更长的寿命,且寿命通常与AODV相当,但延迟更高。这是因为Beesensor通过高能量节点而非最短路径来路由觅食者(Saleem et al., 2012)。因此,我们设计了一种适应度函数,该函数综合考虑了能量效率、奖励、距离向量和延迟[公式(4)]。Saleem等人 (2012) 使用了侦察缓存项的概念,并主要通过计算路径的奖励来选择高能量跳转,优先选择具有更高能量水平的路径。本文将类似的概念与能量效率、距离向量和延迟相结合,融合到适应度函数中。
2 相关研究
在阿基尔迪兹等人(2002)中,本文强调了传感器根据应用领域和工作环境可能表现出的局限性。文章指出了微小传感器节点在设计和基础设施、可扩展性、容错性、硬件、成本、拓扑结构、环境以及功耗方面存在的问题。通信架构已从分层结构的角度进行了讨论,包括应用层、网络层、传输层等以及管理平面。各种任务如移动性、功率监控、任务分配、传输和接收技术已在协议栈的背景下进行了讨论。
沙等人(2013)指出,研究重点在于多路径路由及其在可靠性、安全性和负载均衡方面的优势,并概述了多路径路由的限制。该研究强调了“HELLO FLOOD”攻击以及对恶意节点的检测。基于能量效率、数据可靠性、路由建立时间、平均延迟等参数,提出了多种协议,并将其分类为基于编码、基于基础设施和非基于基础设施三类。本文认为多路径路由是实现容错的最佳方法,目标是构建一种能够检测恶意攻击的路由协议。
孙等人(2014)提出了网络编码(NC)的概念,以实现更优传输和负载均衡。一种称为CHAMP(缓存与多路径路由)的新协议已采用循环轮询范式。在100个节点上的仿真结果表明,分组投递率更高,从而验证了网络编码无线传感器网络(NC‐WSN)的积极效果。
在费恩等,2012中,本文聚焦于具有静态聚类和动态结构的无线传感器网络节能路由(ERP‐SCDS)。在簇形成步骤中提出了改进,并与LEACH和HEED进行了比较,针对不同数量的节点评估了网络生命周期并计算了轮次。
在卡拉博加和阿卡伊,2009的研究中,涵盖了使用蚁群优化(ACO)开展的一些研究工作。智能行为推断出关于群体粒子的随机性、误差、波动以及群体智能(SI)的正负反馈的知识,并说明了如何维持这种平衡。由于蜂群的细微行为已被多位研究人员研究,其应用近年来不断增加,本文也强调了这一点。
Saleem等人 (2012) 提出了将群体智能(SI)与蚁蜂群算法相结合的概念,以引入一种节能算法。该算法涉及发现用于执行路由的路径,其处理基于卡拉博加和巴斯特克(2008)提出的蜂群算法,该算法包含了搬运蜂、侦察蜂、觅食者和蜂群的工作机制。此外,本文还引入了长距离节点的概念,并根据FP‐ant、EEABR、Bee‐Sensor和AODV之间的结果对比,证明其为一种最简节能方法。
帕尔文和瓦桑塔纳亚基(2015年)提出了一种有效的优化的能量高效路由协议(OEERP),以提供更长的网络生命周期。该研究的成果是增强型优化能量高效路由协议(E‐OEERP),其考虑了未被纳入簇的单个节点可作为独立节点工作,或参与下一轮簇形成,并利用引力搜索算法用于找出参与传感器网络的节点之间的最佳距离和作用力。
肖等人(2015)评估了传感器节点的能量波动,导致新简化环境的形成,从而造成系统中n个传感器节点被遗弃。文中引入了混合高效节能分布式聚类(HEED)的概念,采用蜂窝状(六边形)区域,并使用Simulink与矩阵实验室(MATLAB)语言来验证结果,同时与泛洪法、直接传输法以及HEED与CC‐HEED进行了对比分析。
费尔西等人(2013)讨论了用于维护位置无关数据和识别节点的直接哈希表(DHT)。DHT中使用了哈希函数(H),用于在分布式传感器节点上查找项目。DHT能够以可扩展方式提供可靠且高效的查找。许多网络应用(如P2P网页搜索引擎)、文件与资源共享等均基于DHT构建。本文对使用DHT和数据管理协议时的优势与挑战进行了分析。
张等人(2013)利用旅行商问题设计最短路径,以获得移动机器人收集感知数据的最短路径。该问题采用旅行商问题的概念进行建模,属于NP难问题。所提出的路径规划算法采用了卡拉博加和厄兹图尔克(2011)提出的人工蜂群算法。该算法专门针对稀疏分布节点设计。基于人工蜂群算法的解决方案结果与埃尔巴西奥尼等人(2005)提出的贪心算法进行了比较。研究重点在于选择会合点,并针对不同数量的传感器进行了实验验证。
卡拉博加和厄兹图尔克(2011)指出,人工蜂群算法是一种受自然启发的优化算法,模拟蜂群的智能觅食行为。人工蜂群算法使用了卡拉博加等人(2014)所描述的蜜蜂觅食行为。聚类过程基于识别数据集之间的相似性以及相反情况。通过模拟蜜蜂的行为,根据适应度公式决定所发现的路径是否被选用。该算法可用于找出模式、输入数量和类别。这是一种将数据归入具有一定相似性类别的范式,同时实现异类数据分组。
陈等人(2013)提出了一种针对随机节点的路由协议,该协议采用固定位置,并在开始路由之前假设簇采用有限形状以获得优化结果。结果表明,六边形形状聚类相比LEACH等其他聚类方法在特定时间点能够保持更多的存活节点,取得了最佳效果。因此,在集中式方法中,六边形聚类、聚类结果优化和簇头选择起着重要作用。
在卡勒博加等人(2012)的研究中,论文基于蜜蜂的实时智能构建了原型,用于延长网络寿命。所发现的数据/花蜜量反映了路径质量,并决定是否选择该路径。事件点的选择概率通过轮盘赌选择法计算,且与概率目的处所发现的数据/花蜜量成正比。
在李等人(2011)的研究中,提出划分干扰区域,并忽略进入该区域的节点,从而提高获取准确信息的可靠性,并在不同路径上的多跳过程中分配负载。其目标是寻找通过发现干扰区域传感器节点并寻找替代路径来传输数据包,从而实现节能且成本效益高的路由技术,找到更节能的路由路径。
在舒等人(2010年)的研究中,本文讨论了两种类型的上下文传输,即音频和视频流。使用了一些算法,如两阶段地理贪婪转发(TPGF)和CAMS。仿真结果表明,图像流的数据传输速率为32 kb,音频流为16 kb,相应的信息值较高。
大量的文献调查由Rajeev Kumar完成,并得到了Dilip Kumar的有力支持。Rajeev Kumar对无线传感器网络领域有浓厚兴趣,并对该领域进行了深入研究。他们推断,多路径路由存在诸多挑战,而Beesensor的概念在多个参数方面表现出更优的结果。可以开展进一步研究,利用本文提出的M‐BeeSensor方法,在无线传感器网络的生命周期、分组投递率、延迟和剩余能量等参数上进一步提升性能。
3 提出的算法
3.1 流程图
基于适应度的无线传感器网络智能(RSmat)路由算法包含以下步骤。侦察节点所找到路径的适应度根据前向探测中能量与跳数比进行评估。后向探测路径则根据回溯所找到路径的舞蹈次数进行评估。
3.2 假设
使用ABC技术选择路径之前的一些假设如下:
- 传感器节点在传感区域(100 × 100)m²内均匀部署。
-
在MATLAB环境中,使用
randsample()在区间(0, 1]上选择事件节点。该区间称为半开区间,并用于通过randsample()均匀采样值。 - 回溯基于奖励因子 $ \frac{E_{ab}}{H_{ab}} $,其中‘$E_{ab}$’是从源‘a’到目的‘b’传输数据包所消耗的能量,‘$H_{ab}$’是源到目的之间的跳数。
- 每个节点的初始能量为1焦耳。
- 要传输的数据包大小为1024比特。
开始
| 使用函数检测事件节点 区间 (0, 1] 内的随机采样 |
| — |
| 查找事件节点的最短距离 从基站使用欧几里得距离 $\sqrt{(x - a)^2 + (y - b)^2}$ |
回溯先前访问过的路径以返回事件点节点并同时计算 $\frac{E_{ab}}{H_{ab}}$
使用以下公式计算消耗的能量
$$ E_t = E_{el} \cdot K + K \cdot C \cdot D^2 $$
$$ E_r = E_{el} \cdot K $$
如果剩余能量足以传输吗?
继续使用
$$ E(x,y) = E(x,y) - (E_t + E_r) $$
计算剩余能量,并且一旦达到最大循环次数。
STOP
| Yes | 返回到步骤2 |
| No |
群体智能(SI)和人工蜂群算法(ABC algorithm)的概念被映射到无线传感器网络(WSNs)中,以引入一种节能算法。该算法涉及发现一条用于执行路由的路径,其处理过程基于德维什·卡拉博加(Dervis Karaboga)在2005年提出的人工蜂群算法,该算法包含搬运蜂(packers)、侦察蜂(scouts)、觅食者(foragers)和蜂群(swarms)的概念。
侦察节点(scout)所发现路径的适应度依据下述步骤中的公式(4)所示的适应度函数进行评估。此外,根据Saleem等人 (2012) 以及 Saleem和Farooq (2007a, 2007b) 中FP‐ant、EEABR、Bee‐Sensor与AODV之间的结果比较,该方法成为一种最简节能方法。所提出的方法的主要流程如下:
- 初始化通用参数:部署的节点的初始能量、能耗常数(C)、消息长度(K)、节点间的距离因子(D)等。
- 在传感区域(100 × 100)m²上均匀部署传感器节点。
- 使用随机采样函数在(0, 1] interval内随机选择事件节点。
-
使用欧几里得距离公式计算事件节点到基站的距离:
$$
d(x_1, y_1, x_2, y_2) = \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}
$$
其中$x_1, y_1, x_2, y_2$是待计算距离的源和目的的坐标。 -
节点能量评估:使用能量传输和能量接收计算总能量消耗:
$$
E_t = E_{el} \cdot K + K \cdot C \cdot D^2
$$
$$
E_r = E_{el} \cdot K
$$
$$
E_{total} = E_t + E_r
$$
其中,“$E_{el}$”是传感器运行电路所需的能量耗散,“K”是要发送的数据包或消息的长度,“C”是能耗常数,“D”是部署的节点之间的距离,“$E_t$”是数据包传输所消耗的能量,“$E_r$”是接收数据包所消耗的能量。 -
使用公式(4)计算适应度值:
$$
\text{Fitness} = \left( \sum_{i=1}^{n} \frac{\text{renode} i}{\text{TotalEnergy}} \right) \times \frac{\text{reaverage}}{\text{TotalEnergy}} \times \frac{1}{H} \times \frac{d {\text{max}} - d_i}{d_{\text{max}} - d_{\text{min}}}
$$
其中,“renode”表示节点的剩余能量,“TotalEnergy”表示所有节点能量的总和,“reaverage”表示被选为事件节点的节点的平均剩余能量,“H”表示跳数,“$d_i$”表示被选用于评估的节点到事件节点的距离,“$d_{\text{max}}$”表示节点间的最大距离值,“$d_{\text{min}}$”表示网格中节点间的最小距离,“$(get_i – send_i)$”表示发送所有数据包所需的时间,“n”表示数据包数量。
4 性能评估
4.1 仿真环境
用于表示传感器节点的网格是使用MATLAB版本7.12(R2011a)生成的,如图3所示。仿真环境由作者Varun Kohli实现并获取结果。
在仿真中,传感器节点均匀分布在100 × 100米²的区域内。每个传感器根据其坐标被赋予1焦耳的初始能量和唯一的节点ID。‘C’(能耗常数)的取值为100,‘Eel’(传感器的能量耗散)的值为50纳焦/比特,‘K’(消息长度)为1024比特,‘D’是相邻节点之间的距离(均匀),其值为10米。节点被均匀部署,但节点数量分别设置为100、200、300和400,以分析测试结果。通过在MATLAB中构建的界面,我们利用随机函数
randsample()
在(0, 1] interval (real)(数学中的实数/正数集合)范围内随机选择事件。
4.2 结果与讨论
4.2.1 第一个节点死亡
根据上述方法,在不同时间间隔下计算节点的能量,并找出首个节点死亡(FND),如图4所示。
4.2.2 最后一个节点死亡
当所有节点被迭代用于发送数据包后,节点的能量开始耗尽。一旦发现第一个节点死亡(FND),其余节点也会因能量不足而在固定间隔内相继死亡,我们在第1788轮后发现了最后一个节点死亡(LND)。
4.2.3 网络寿命
这是指网络保持活动状态的时间段。LND 可作为计算网络生命周期的指标,可使用 MATLAB 内置函数在仿真环境中查找相应数值。由于改进的方法采用了尽可能短的路径,且延迟较低,因此与 BeeSensor 相比,其网络生命周期更长,如下文所示。
4.2.4 平均剩余能量
平均剩余能量指导我们量化网络的寿命。注意,该协议的主要目标是实现比先前已建立的技术更好的平均剩余能量。能耗速率越慢,网络寿命越长。
4.2.5 分组投递率
由于重载流量引起的冲突等各种原因,数据包可能会丢失。它与丢包率成反比。成功接收的数据包数量与总数据包数量(接收到的数据包 + 丢失的数据包)之比即为分组投递率的衡量指标。我们以百分比(%)计算了该值。Beesensor 在 50 和 100 个节点集合下的分组投递率如下。
4.2.6 延迟
目标是通过更短的路径,以最短的时间将数据包发送到目的节点,从而减少延迟。延迟参数使用公式(8)计算,并在公式(4)中引用。Beesensor 是一种多路径路由协议,通过高能量节点而非最短路径来路由觅食者。
$$
\text{Latency} = \frac{1}{n} \sum_{i=1}^{n} (get_i - send_i)
$$
其中‘$(get_i – send_i)$’表示发送所有数据包所需的时间,‘n’表示数据包数量。
5 结论与未来展望
本文提出了一种基于改进的适应度方法和蜂群觅食行为的节能且可扩展的仿生多路径路由协议,适用于无线传感器网络。在适应度公式中引入了三点计算的概念,该公式将能量、距离和延迟的计算相结合,从而降低了此前较高的延迟。未来,可以将基于改进适应度的方法与移动节点结合使用,替代静态节点,并可采用不同的群智能技术(如布谷鸟搜索(CS)、蝙蝠算法(BA)、萤火虫群优化(GSO)等)进行实验验证。随后,我们可以专注于大规模网络中的最优路径寻找,并针对高能量节点开展进一步研究。
基于改进适应度的ABC路由
814

被折叠的 条评论
为什么被折叠?



