基于蜂群优化的高效聚类协议

一种高效的蜜蜂群聚类协议以延长无线传感器网络的寿命

引言

无线传感器网络(WSN)包含大量微型传感器节点。这些微型节点具有感知、计算和无线通信能力[1]。图 1显示了WSN模型。感知区域是传感器节点被随机部署或手动安装的区域。它们从感知区域收集信息,对信息进行处理,并通过无线方式发送给其他节点或外部基站(BS)。BS是网络内的集中控制点。它可以是静态节点或可移动节点。BS连接到可访问的通信基础设施或互联网。

无线传感器网络已广泛应用于商业、家庭、医疗、交通、工业生产、实时控制、国防、应急、灾害救援管理等领域。它们还被用于远程或难以到达环境的监控应用[2, 3]。在许多应用中,尤其是监控恶劣环境时,更换甚至重新充电节点的附加电池是一项非常繁琐的工作。有限的能量源是这些网络的主要限制[4, 5]。延长网络寿命的挑战引发了研究领域的广泛关注科学界。因此,研究人员提出了许多技术,如轮询休眠、数据缩减和拓扑管理,以提高网络寿命。通过轮询休眠策略可以节省节点能量,使传感器节点在不使用时进入睡眠状态[6–10]。数据缩减方法通过减少生成、处理和传输的信息量来降低能耗[11–13]。拓扑管理通过构建和维护一个精简的节点集来节约节点的能耗[14–16]。基于簇的路由技术似乎最适合延长无线传感器网络寿命[17–19]。在聚类中,整个区域被划分为多个称为簇的组,每个组由一个特定的领导者即簇头(CH)领导。这些领导者负责收集其簇内成员节点的信息,然后对收到的数据进行聚合,并通过单跳传输模型或多跳传输模型将数据发送到基站。在单跳传输模型中,簇头直接将数据发送到基站。在多跳传输模型中,簇头利用一些中间节点(即其他簇头)将数据转发至基站。簇头选择是提升网络寿命的一项极为关键的任务。合理的选择对成员节点的能量守恒以及路由方法都有一定影响。

低能耗自适应聚类分层(LEACH)是无线传感器网络中一种公认的聚类算法[20]。簇头基于概率被选择,并在每一轮中轮换,以实现能量均衡。该协议可能取得部分成功,因为它是一种完全的分布式协议。在分布式协议中,传输数据包需要消耗更多能量。聚类协议也已结合模糊逻辑[21–25]实现。群体智能提供了高效的元启发式工具,可有效地应用于无线传感器网络中。聚类是一个众所周知的优化问题。群体智能正高效地解决这一问题,如文献[26–30]所综述。蚁群优化元启发式算法也已被应用于聚类[31]。粒子群优化(PSO)算法也被用于聚类优化。文献[32]提出的协议利用PSO进行簇头选择,将剩余能量、簇内距离和节点度作为适应度函数。一种结合和声搜索算法(HSA)和PSO的混合集中式协议也被用于传感器网络中的聚类[33]。蜂群元启发式算法在解决无线传感器网络中的聚类问题上取得了成功[34–38]。

本文提出了一种高效蜂群聚类协议(PBC‐CP)。簇头选择是一个本质上为NP难的优化问题。人工蜂群(ABC)算法是一种高效的仿生智能算法,由于其实现简单且解的质量高,因此是解决此类NP难问题的良好选择。所提出的协议通过基于节点能量、节点度以及节点到基站的距离来合理选择簇头,从而获得最佳结果。从节点到基站的数据传输具有较高的能量效率,进一步提升了其性能。在相邻簇头之间采用基于节点剩余能量的多跳传输方式,而非簇头直接向基站进行直接传输。

本文的主要贡献如下:
(i)首先,提出了蜂群模型,并考虑了其在无线传感器网络聚类中的适用性。
(ii)其次,提出了一种高效的蜂群聚类协议,重点描述了分阶段说明、功能伪代码步骤以及网络模型。
(iii)第三,所提出的聚类协议在各种网络性能指标方面进行了比较评估。

本文的其余部分组织如下。第2节介绍了相关工作。第3节详细描述了蜂群模型和PBC‐CP。第4节讨论了所提出的PBC‐CP的实验设置和性能评估。第5节给出了结论和未来研究方向。

2. 相关工作

能量守恒对于延长整个网络的网络寿命至关重要。网络寿命可以定义为从开始到网络中第一个节点耗尽其能量所经过的时间[39, 40]。基于簇的路由技术似乎最适合用于延长无线传感器网络寿命[17–19]。这些方法还通过执行数据聚合和融合来降低簇内的能耗。低能耗自适应聚类分层(LEACH)协议[20]是一种公认的聚类算法。然而,该协议存在一些缺点,如下所述:

(1) 它基于概率选择簇头,这会导致两个不利后果。首先,由于无法保证簇头在网络中的均匀分布,导致簇头之间出现负载不平衡。其次,可能会选择低能量节点作为簇头,而这些节点没有足够的能力承担簇头的额外工作,例如融合其成员获取的数据并将融合后的数据传输到基站。

(2)簇头通过单跳传输将其数据发送到基站。它们承担着长距离传输的能量消耗。远离基站的簇头比网络中其他距离较近的簇头能量消耗更快。

(3) 每一轮中,该协议都需要进行选择新的簇头和形成新簇的处理。这进一步增加了建立阶段的运行开销。

文献[41]中的作者试图解决簇头的非均匀负载分布问题。然而,[41]中提出的方案需要节点定位系统(如GPS),这会导致系统成本较高。此外,GPS需要额外的能量消耗,因此需要更大尺寸的硬件。[42]中的作者提出了一种基于发送节点数据阈值的新思路。然而,由于该协议不适用于数据持续上报至基站的监测应用,因此难以计算这些阈值的精确值。在[43],中提出的论文中,提出了一种高效聚类方案,其中簇头候选人竞争晋升为簇头。如果一个节点无法找到比自身剩余能量更高的其他节点,它将承担簇头职责。该算法使用与基站的距离作为度量,形成不同大小的簇。混合能量高效分布式聚类[44]基于两个重要参数来选择簇头:每个节点的剩余能量和簇内通信开销。能量高效分层聚类协议[45]将网络划分为层次化层级。最低层簇头从成员收集信息并进行聚合。来自最低层的聚合信息随后被发送到下一层的簇头。该方法递归重复,直到所有数据都到达基站。稳定选举协议[46]强调了节点异构性对节点能量的影响。通过等待定时器进行聚类的算法[47],在簇头选择中考虑了协议节点度。通过定向天线实现自主聚类的算法[48]利用定向天线降低传感器网络中数据感知的冗余。两级 LEACH[49]协议有两种类型的簇头,即主簇头和次簇头。网络被划分为外层和内层。主簇头负责外层的数据聚合,而次簇头负责内层。基于距离阈值的LEACH [50]算法以修正概率选择簇头。该方法在节点间最优地平衡能量消耗。在[51],中,簇头选择参数依赖于邻居因素,如节点间距离以及通信范围内的邻居节点数量。Ying等人的算法[52]主要关注在网络中均匀与非均匀节点分布情况下的负载均衡。链路感知聚类方法(LCM)[53]引入了一个称为预测传输次数(PTC)的新函数,用于计算候选人条件。节点位置、发射功率、剩余能量和链路质量被用作推导PTC的参数。PTC展示了申请者向任何特定相邻节点持续传输的潜力。在能量高效LEACH(EE‐LEACH)[54]协议中,簇头选择标准基于空间密度函数。该协议考虑了传感器部署的高斯分布模型,因此不适用于无法手动部署传感器节点的应用。

基于模糊逻辑的聚类协议在[21]中提出。LEACH‐模糊逻辑[22]计算选择簇头的机会。文献[23]中的作者使用了模糊逻辑来基于剩余能量的预测来选择簇头。文献[55]中的作者将节点度和节点中心性作为模糊变量。最初,每个节点计算其成本。在[56],中,作者提出了一种利用蚁群优化的簇头选择算法,以在网络中构建负载均衡的簇。在[57],中,作者提出了一种使用粒子群优化(PSO)的聚类算法。他们考虑了两种类型的节点:普通节点和高能量节点。高能量节点在网络中充当簇头,而普通传感器节点则作为簇的成员。另一种基于蚂蚁的聚类(ANTCLUST)方法在[58]中进行了描述。ANTCLUST协议通过传感器节点之间的局部交互对能量高效的簇进行分类。一种结合和声搜索算法(HSA)与PSO的混合协议也被用于聚类优化[33]。蜜蜂优化也被用于在无线传感器网络中形成簇[34–38]。使用人工蜂群算法的无线传感器网络聚类(WSNCABC)[34]利用人工蜂群算法计算簇头的适应度,所用参数包括节点剩余能量和节点到基站的距离。然而,该算法在从簇头直接向基站传输数据时存在较高的成本问题。Bee‐Sensor‐C[59]在事件发生时形成簇并选择其簇头。受蜜蜂交配优化启发的聚类算法在Bee‐C[60]中提出。在[61],中,使用分数阶人工蜂群(FABC)算法发现簇头后,解决了路由发现问题。文献[62]提出的方案基于ABC和遗传算法(GA),其中簇头由GA生成,其成员由ABC确定。另一种基于蜂群算法的聚类(BeeWSN)在[63],中提出,该方法根据节点的能量、度、速度和方向来创建簇。

3. 蜂群模型

蜜蜂群算法受蜜蜂智能觅食行为的启发。蜜蜂群包含三类蜜蜂,即工蜂、观察蜂和侦察蜂。优化问题的可能解由食物源的位置表示,而相应解的质量(适应度)则对应于花蜜量。此处,蜂群规模与工蜂数量相同,也等于观察蜂数量。食物源的初始位置是随机生成的,每个工蜂被分配到一个食物源。之后,每个工蜂在每次迭代中寻找一个新的食物源并计算其质量。如果新食物源的花蜜量高于先前的食物源,则工蜂前往新的食物源,否则继续保留原来的食物源。该过程可描述为

$$ V_{ij} = x_{ij} + \tau(x_{ij} - x_{kj}) $$

其中 $\tau$ 是位于[-1, 1]之间的随机数,$V_i$ 是新的食物源,$x_i$ 是当前食物源,$x_k$ 是邻域食物源,$j \in {1, 2, …, D}$ 是随机选择的索引,$D$ 为食物源向量的维度。工蜂完成搜索过程后,它们共享

与观察蜂共享其食物源的信息。观察蜂随后评估花蜜信息,并根据花蜜量相关的概率选择一个食物源

$$ P_i = \frac{F_i}{\sum_{l=1}^{m} F_l} $$

其中 $F_i$ 是解 $i$ 的适应度值,与位置 $i$ 处食物源的花蜜量成正比,$m$ 是食物源数量。

所有观察蜂根据各自选择的食物源寻找新的邻近食物源,并分析其花蜜量。此处理过程持续预定的循环次数。如果某个食物源无法进一步改进,则将其标记为被遗弃。随后,该功能发生转换;该食物源的工蜂转变为侦察蜂。在该位置,侦察蜂生成一个新解并给出

$$ x_{ij} = x_{ij} + \text{rand}(0, 1)(x_{j}^{\text{max}} - x_{j}^{\text{min}}) $$

其中被废弃的源用 $x_i$ 表示。

3.1 高效蜂群聚类协议(PBC-CP)

由于传感器节点的能量源受限,延长网络寿命仍然是一个重要问题。本文聚焦于无线传感器网络中节能策略的需求。我们提出了一种高效蜂群聚类协议(PBC‐CP),以延长无线传感器网络的寿命(算法1)。该协议支持对恶劣环境的监控,其中节点电池的更换甚至充电都不可行。通常情况下,在监测应用中,各个节点的数据往往具有相关性。将所有节点的数据直接发送到基站并不是一种节能的方法。因此,发送能够反映区域中事件情况的聚合数据更为有利。我们选择聚类架构作为PBC‐CP的基础,因为相邻节点之间的数据具有最强的相关性。并非所有个体节点都将其数据直接发送至基站,而是将其数据发送给各自的簇头;然后,簇头将其成员节点的数据进行聚合,并将聚合后的数据发送至基站。因此,只有聚合数据被传输到基站,而非单个节点的数据。通过这种方式,节省了传输能量。

蜜蜂是高度有组织的生物,具备个体认知能力和自组织能力。它们表现出个体特征与社会协作的结合。我们采用一种在基站进行管理和控制的集中式机制来进行聚类,而路由则以分布式方式进行。因此,所提出的协议系统性地表现为一种半分布式行为。

在簇头选择中考虑重要参数对于平衡网络负载极为必要。应选择高能节点作为簇头,因为它需要承担额外的簇头职责。因此,我们考虑剩余能量。为了最小化传输能量,距离也被视为重要参数。连接到簇头的节点数量(即节点度)应被考虑以实现簇头间的均匀负载分配。

该算法在给定的不同阶段中运行。我们将讨论分别对它们进行如下讨论:

(a) 网络初始化 :最初,传感器节点被随机地部署在感知区域中。基站向所有节点传输信标信号。这些信标信号包含基站的位置信息。然后,所有节点计算各自到基站的欧几里得距离。此外,基于信号到达强度及其相对坐标计算邻近节点之间的距离。

(b) 簇头选择阶段 :簇头选择依赖于由蜂群算法计算的适应度函数。

(c) 簇成员招募阶段 :所有被选中的簇头向其余的传感器节点传输一条信息消息。该消息传达了它们被选为簇头的相关信息。当非簇头节点接收到此消息后,需要决定加入哪一个特定的簇头作为其成员。这一决策取决于所接收消息的信号强度。基于该决策,非簇头节点随后向相应的簇头报告,以成为其簇的成员。此外,簇头基于时分多址(TDMA)创建调度,并将其分配给本簇的成员。

(d) 数据收集 :在簇内,每个簇成员通过基于TDMA的方法将其信息传输给各自的簇头。我们假设这是完美传输,无需重传。

(e) 数据聚合 :簇头在收到来自所有成员的数据后,将所有接收到的数据与其自身的数据进行聚合。通过这种方式,可以减少可能存在的冗余。

(f) 数据传输 :然后,簇头以节能方式将聚合数据传输到下一个簇头或基站。首先,簇头检查其相邻簇头与基站之间的距离,并选择距离较短的一方。如果是基站,则该簇头直接传输其数据;但如果为另一个簇头,则发送方簇头需检查相邻簇头的剩余能量,并将数据发送给剩余能量较高的簇头。

(g) 簇头轮换 :由于簇头需要执行来自成员节点的数据收集、数据聚合以及数据转发等额外任务,其能耗相比其他传感器节点更快。因此,有必要进行角色轮换。每轮数据传输结束后,将触发重新选举过程,以平衡所有传感器节点的能耗。然而,重新选举将基于适应度函数进行。

适应度函数,表示为 $ f(i) $,定义如下:

$$
f(i) = \text{optimize} \left[ k \cdot \text{Re}(i) + \text{ND} \right] + (1 - k) \cdot \frac{1}{\text{Eu}(i, b)}
$$

其中,$k$ 是缩放因子;节点剩余能量(Re)表示节点中剩余能量与初始能量的比值;节点度(ND)表示在某一节点的传输范围内与其相连的连接节点数量;节点 $i$ 到基站的欧几里得距离由 $\text{Eu}(i, b)$ 表示。

3.2. 网络模型

本文采用[41]中规定的无线电传播模型,如图2所示。在无线电模型中,接收机接收到的信号是由发射机以距离$d$传输而来的

$$
P_r = \frac{P_t G_t G_r \lambda^2}{(4\pi)^2 d^\beta \text{Loss}}
$$

其中 $G_r$ 是接收天线增益,$G_t$ 是发射天线增益,$\lambda$ 是载波波长,$\beta$ 是传播损耗因子,传输数据包时的任何额外损耗由Loss表示。

$$
E_T =
\begin{cases}
lE_e + lE_{fs}d^2, & \text{if } d < d_o, \
lE_e + lE_{tg}d^4, & \text{if } d \geq d_o,
\end{cases}
$$

无线传播模型包括自由空间模型和双射线地面传播模型。在自由空间传播模型中,发射功率的传播损耗与发射端和接收端之间距离的平方成反比。在双射线地面传播模型的情况下,发射功率的传播损耗与发射端(Tx)和接收端(Rx)之间距离的四次方成反比。从Tx到距离为d的Rx传输l比特数据包的能耗由以下公式给出,其中$E_e$表示收发器电路消耗的每比特能量,第二项因子$lE_{fs}d^2$或$lE_{tg}d^4$表示功率放大器消耗的每比特能量。

交叉距离$d_o$可由下式获得

$$
d_o = \sqrt{\frac{E_{fs}}{E_{tg}}}
$$

如果$d_o$的值大于Tx与Rx之间距离的值,则采用自由空间模型;否则,采用双射线地面模型。接收一个l比特消息[41]的能耗为

$$
E_R = lE_e
$$

4. 实验设置

所有实验均在MATLAB 2009a中实现,并在配备Intel (R) Core (TM) 2 Duo T6570 CPU@2.10GHz的Windows 7系统上运行。我们假设所有传感器节点具有相同的初始能量以及处理和通信能力均相似。它们未配备全球定位系统,即不具备具有移动能力的可操控天线。我们还假设基站是固定的,并且在能量、内存和计算能力方面不受限制。LEACH协议被用作实验结果对比分析的基础,重点在于聚类为中心的优势与各协议集成时的表现。各种算法所需的仿真参数如表1[20, 33–35]所示。

4.1. 性能评估

我们模型的性能通过网络的剩余能量(RE)、网络吞吐量(4r)、死亡节点数量(NND)以及不同轮次数据传输中的存活节点数量(NAN)进行评估。我们将PBC‐CP与三种标准协议(即LEACH、[20], PSO、[32], 和HSA‐PSO[33])在不同轮次下的存活节点、死亡节点、剩余能量和吞吐量方面的结果进行比较,如图3所示。从图3(a)可以明显看出,PBC‐CP在存活节点数量方面的性能优于其他协议。在255轮、1300轮和1700轮后,LEACH、PSO和HSA‐PSO中的存活节点开始下降,而PBC‐CP中的存活节点在1800轮后才开始下降。接下来,我们比较不同轮次下网络中死亡节点的结果,如图3(b)所示。在LEACH中,第一个节点死亡发生在约206轮附近,原因是簇头的随机选择。PSO和HSA‐PSO相比LEACH性能有所提升。PSO中第一个节点死亡发生在约1238轮,而在HSA‐PSO中,第一个节点在约1632轮时死亡。从结果可以看出,PBC‐CP表现更优,其第一个节点在约1730轮时才死亡。

从图3(c)可以明显看出,PBC‐CP在聚类无线传感器网络的能量优化方面表现出卓越的效果。LEACH算法的RE值在早期阶段(约650轮次)就降至零,这是由于该算法中簇头是随机选择的。PSO算法仅持续了约1400轮次,因其具有动态能力;而HSA‐PSO算法由于HSA的高探索效率结合PSO的动态特性,可持续近1753轮次。在PBC‐CP中,由于采用了适应度函数来选择簇头,RE值在大约2500轮次后才降至零。

无线传感器网络在LEACH、粒子群优化、HSA‐PSO和PBC‐CP下的吞吐量(4r)如图3(d)所示。4r随着网络中存活节点数量的增加而提高。所有算法的最大4r值均相当于0.41 Mbps。然而,随着轮数的增加,4r的值逐渐下降。在380轮时,LEACH的4r值与其他方法相比下降了52.27%,此时4r值为0.2 Mbps。粒子群优化的4r值可保持在其最大值直到1100轮。在HSA‐PSO中,该值维持在其最大值直到1700轮次。相比之下,PBC‐CP算法将吞吐量值维持在0.41Mbps超过2500轮次。

不同协议下存活节点数量与轮数的关系。(b) 不同协议下死亡节点数量与轮数的关系。(c) PBC‐CP在不同轮次下的剩余能量对比分析。(d) PBC‐CP在不同轮次下的吞吐量对比分析。)

5. 结论与未来工作

本文提出了一种受蜜蜂觅食原理启发的高效蜂群聚类协议(PBC‐CP),用于无线传感器网络,其目标是延长网络寿命。我们利用蜂群优化算法的快速搜索特性来选择簇头,并通过节能路径将数据从簇头传输到基站。仿真结果表明,PBC‐CP算法在性能上优于LEACH、PSO和HSA‐PSO。尽管PBC‐CP是一种高效的协议,但仍存在一些可进一步改进的空间,以使其具有更广泛的应用性。在当前PBC‐CP的实现中,节点会定期在其分配的时隙内向各自的簇头发送数据。节点可以在检测到事件后才发送数据。我们已在静态无线网络中测试了PBC‐CP,未来还可研究其在移动传感器网络中的聚类应用。

表1:PBC‐CP参数

参数
传感器区域面积(X ∗ Y)(m) (100 ∗ 200)
基站位置 (x, y) (50, 150)
节点数量 (s) 100
节点的初始能量(Eint)(J) 0.5
数据包长度(L)(比特) 4096
收发器电路消耗的每比特能量 Ee(纳焦/比特) 70
功率放大器消耗的每比特能量(Efs 和 Etg)(皮焦/比特/米²) 120 和 0.0013
数据聚合能量(Eg)(纳焦) 5
轮数 (Rmax) 3000
种群大小 (CS) 50
最大循环次数 (MCN) 200
食物源向量的维度 (D) 20

ALGORITHM 1:聚类伪代码。

开始 //初始化//
(1) 基站广播信标
(2) 所有节点计算欧几里得距离
//簇头选择阶段//
(3) 生成初始种群
(4) 设置循环为1
(5) 重复
(6) 对于每个传感器
(7) 启动人工蜂群算法
(8) 选择簇头
(9) 循环 cycle + 1
(10) 直到最大循环次数
(11) 结束For
//簇成员招募//
(12) 设置簇头循环为1
(13) 重复
(14) 对于每个簇头
(15) 设置跳数循环为1
(16) 重复
(17) 每个簇头广播请求消息;
(18) 如果(非簇头节点邻居接收请求消息)
(19) 则,非簇头节点邻居向簇头发送接受消息;
(20) 结束if
(21) 跳数循环 Hop Cycle + 1
(22) 直到最大跳数循环次数
(23) 结束For
(24) 簇头循环 CH cycle + 1
(25) 直到最大簇头循环次数
(26) 结束For
结束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值