基于改进PSO的WSN聚类优化

基于改进的PSO进行无线传感器网络聚类的模糊规则生成

摘要

聚类是提高无线传感器网络能量效率的常用方法之一。在大多数现有的模糊方法中,首先选择簇头(CH),然后生成簇,但这可能导致传感器节点在簇中的分布不均匀。本文采用著名的模糊C均值(FCM)算法生成簇,并利用Sugeno模糊系统从每个簇中选择簇头(CH)。FCM生成负载均衡的簇,而所提出的方法SF‐MPSO则从每个簇中选择合适的簇头。将传感器节点的局部信息(如剩余能量、到簇中心的距离以及到基站的距离)输入SF‐MPSO。现有算法中的模糊规则通常为手动设计,而本文采用改进的粒子群优化(PSO)算法来自动生成最优的Sugeno模糊规则。设计了一种新型适应度函数来评估生成解的有效性。仿真在三种场景下进行,结果表明,在能耗和网络生命周期等参数下,SF‐MPSO优于现有的EAUCF、DUCF、FGWO和ARSH‐FATI‐CHS方法。

索引术语

聚类,能量效率,粒子群优化,Sugeno模糊系统,无线传感器网络。

一、引言

INTERNET 事物(IoT)是 21st世纪发生的重大技术革命之一,而无线传感器网络(WSN)是物联网中使用的技术之一。无线传感器网络(WSN)被用于智慧农业、过程自动化、先进医疗保健、灾害管理、智能交通等特定应用。它比任何其他技术发展都更彻底地改变了全球。一个无线传感器网络包含多个组件,如传感器节点、基站(BS)和中继器[3],[4]。传感器节点可以是连接了用于信号调理、通信和电源模块的传感器或摄像头。传感器节点具有两个明确的功能:从感知环境中测量目标物理参数。

示意图0

传感器节点采集的信息会被汇聚到其中一个传感器节点,该节点称为簇头(CH)。每个簇头聚合其附近传感器节点采集的数据,并将聚合后的数据传输至基站[16]–[19]。图1展示了无线传感器网络的基本结构。

用于识别或部署合适簇头的方法会显著影响无线传感器网络的功耗,进而影响其寿命。在先进的无线传感器网络设计中,通常采用基于神经网络[10], 、粒子群优化 [11], 、蚁群优化[12],、遗传算法[13]和模糊逻辑( FL)[32]的人工智能(AI)[9]算法来解决决策问题。

相比其他方法,模糊逻辑[14],[15]能更好地处理无线传感器网络中的系统不确定性。在无线传感器网络中,基于固定/明确规则的簇形成可能并不合适,因为其整体效率受到许多相互依赖的性能指标或参数的影响。此外,仅基于少量性能参数部署簇头可能导致功率浪费。模糊推理系统(FIS)能够在考虑系统不确定性的同时,解决无线传感器网络中的多准则簇头部署问题。

A. 问题描述

我们假设传感器节点随机部署在目标区域t × t m² 。我们的主要目标是最大化网络生命周期,而只有在能耗最低的情况下才能实现这一目标。为了降低能耗,应尽量减少数据传输过程中的传输距离。设lij为布尔变量使得,

$$
lij=
\begin{cases}
1, & \text{if sensor node } si \text{ is connected to CH } cj. \
& \forall i,j; 1 \leq i \leq N, 1 \leq j \leq M, \
0, & \text{otherwise}.
\end{cases}
$$

其中N是传感器节点的总数,M是簇头的总数。

为了最小化能耗,簇内距离应尽可能小。因此,下一个目标是减小簇内距离(ICD)。其计算依据公式(2)进行。

$$
ICD=\sum_{i=1}^{N}\sum_{j=1}^{M}d(si, cj).lij.
$$

二、相关工作

在文献研究中,描述了多种簇头选择算法。我们研究了多种用于无线传感器网络能量效率的传统方法、启发式方法、元启发式方法和模糊方法。其中一些方法如下所述。

A. 传统方法与启发式方法

文献中提供了多种基于簇的技术,可用于无线传感器网络的应用。LEACH [20]是一种著名的聚类算法,其中使用概率函数来选择簇头。在 LEACH 中,每一轮中每个传感器节点都会在 0 到 1 的范围内生成一个随机数“v”。如果节点 n的 v值小于阈值 t,则该传感器节点 n有资格作为当前迭代的簇头。阈值 t通过公式(3)进行计算,其中 p是期望的簇头百分比,G是在最近1/p次迭代中未被选为簇头的传感器节点集合,r是当前迭代次数。

$$
t(n)=
\begin{cases}
\frac{p}{1 -p \times(r \mod(1/p))}, & \text{if } n \in G. \
0, & \text{otherwise}.
\end{cases}
$$

在簇头选择过程结束后,簇头会广播一条消息,声明其为当前迭代的新簇头。所有非簇头节点接收到该广播消息后,向其最近的簇头发起加入请求。随后,每个簇头执行时间调度算法(TDMA),为每个非簇头节点分配固定的时间槽用于发送感知数据。在接收到来自所有非簇头节点的数据后,簇头对来自各个传感器节点的数据进行聚合,并将结果转发至基站。在LEACH协议中,下一轮簇头选择时并未考虑传感器节点的剩余能量,可能导致剩余能量较少的传感器节点被选为簇头,从而加速该节点的死亡。

为解决此问题,Heinzelman et al. 提出了LEACH‐C [21]算法,其中由基站负责簇头的选择。在初始化阶段,所有传感器节点将其ID以及位置信息发送至基站。基站根据传感器节点的剩余能量水平来选择簇头,并将选出的簇头 ID广播至整个网络。非簇头节点则将其数据发送至最近的簇头。Zhang和Yang [22]提出了新的

一种称为基于节点局部密度的方法的算法用于传感器节点的聚类。将非簇头节点连接到簇头共有三个步骤。第一步,位于一个且仅一个簇头范围内的传感器节点被分配给该簇头。第二步,位于距离簇头R/2范围内的传感器节点连接到其最近的簇头;第三步,传感器节点连接到节点密度较小的簇头。通过这种方式形成簇,数据经由簇头发送至基站。

B. 元启发式方法

文献中有多种应用于无线传感器网络的元启发式方法。

粒子群优化 [23]是一种用于形成最优聚类解决方案的方法。在 [24],中,解表示传感器节点和网关的分配情况。作者使用了一种称为网关的新设备来进行数据收集,其工作方式类似于簇头。网关具有较高的电池电量,因此有助于延长网络寿命。在每次迭代中,粒子的速度和位置会使用粒子群优化进行更新,这有助于生成最优的聚类解决方案。

作者还实现了一种路由技术,其工作方式类似于聚类方法。在路由技术中,解的大小等于网关的数量;而在聚类算法中,解的大小等于传感器节点的数量。

许多研究人员已将进化方法应用于无线传感器网络 (WSN)。在[25],中,作者应用了一种进化技术——遗传算法(GA)来实现传感器节点聚类。该解决方案包含了传感器节点与网关之间的分配信息。交叉操作在两个最优解之间交换信息,以生成新的后代。同时,变异操作改变部分传感器节点与网关的分配关系,从而提高解的质量。标准差操作用于评估各个解的优劣。

在SCE [26],中,通过对解的模因进化生成新解。在初始阶段,生成解的种群。每个解表示传感器节点与网关的分配情况。适应度函数对每个解进行评估。此处,作者根据网关的剩余能量、过载和欠载网关等多种因素设计了一种新型适应度函数。在计算适应度后,根据解的适应度值对其进行排序,使适应度值最高的解位于第一位。然后将这些解划分为m个复合体。最优解放入第一个复合体,次优解放入第二个复合体,第mth优解放入第mth个复合体,第(m+ 1) th个解则放入第一个复合体,依此类推。复合体进一步被划分为子复合体。解与子复合体及复合体中的最优解进行交叉和变异操作。通过这种方式生成新的种群,并可获得最佳最优解。

灰狼优化(GWO)[27]应用于在无线传感器网络中形成簇。初始种群的生成方式与粒子群优化和遗传算法类似

灰狼优化与粒子群优化非常相似,但它在其他解的速度和位置更新中考虑了三个最优解。第一个最优解被视为α狼,第二个为β狼,第三个为δ狼。其余狼的位置根据α、β和 δ狼位置的均值进行更新。这有助于算法快速收敛。作者还设计了两种不同的适应度函数,分别用于路由和聚类,并取得了优于传统粒子群优化和遗传算法的结果。

在LEACH‐SF [28],中,作者使用Sugeno模糊推理系统来选择簇头,并采用人工蜂群(ABC)优化算法对模糊规则进行优化。他们还使用了模糊C均值算法来构建簇。为了评估LEACH‐SF生成的解,作者设计了一个包含网络生命周期参数信息的适应度函数。

基于ARSH‐FATI的簇头选择(ARSH‐FATI‐CHS) [37]算法与一种称为新型基于排序的聚类(NRC)的启发式方法相结合,以降低传感器节点的能耗,从而延长网络寿命。作者还设计了一种新型适应度函数,该函数考虑了剩余能量、簇头选择过程中的工作负载以及通信距离等参数。

在[38],中,作者结合了萤火虫算法(FA)和粒子群优化(PSO),从随机生成的初始种群中产生节能的解决方案。粒子群优化算法在搜索空间中生成局部最优( Pbest)和全局最优(Gbest)解。随后,FA利用Pbest和 Gbest解来平衡开发与探索,以在搜索空间中获得最优解。

Sharma et al.,[40]提出了一种模糊与进化技术的混合方法。在此方法中,使用模糊C均值算法形成簇。在簇形成后,利用差分进化算法从每个簇中选择簇头。为了选择簇头,每个传感器节点的适应度由定义的模糊推理系统确定。

在[39],模糊逻辑与灰狼优化算法(FGWO)中,用于最小化网络的能量消耗。簇头的选择借助于传感器节点的参数,如剩余能量、节点中心性和到基站的距离。在簇间通信中应用基于阈值的数据传输算法,以延长无线传感器网络的寿命。

C. 模糊方法

与精确逻辑相比,模糊逻辑是处理无线传感器网络环境中的各种不确定性的更高效和灵活的方法。此外,模糊逻辑能够有效地组合输入变量,以获得有效的输出。

CHEF [29]是一种分布式模糊聚类算法。在每一轮中,每个传感器节点像LEACH [20]一样,在0到1的范围内随机生成一个数。如果生成的随机数小于预定义阈值,则该传感器节点开始计算其成为簇头的机会

使用模糊推理系统。在CHEF系统中,考虑了两个输入变量‘剩余能量和局部距离’。每个节点发送一条包含其成为簇头机会的信息的消息。其他节点接收到该消息后,如果接收节点的机会较高,则发送请求消息以加入该节点。通过这种方式,选举出簇头,并生成簇。

模糊逻辑被应用于EAUCF [30]中的簇头选择。在选择簇头时,考虑了两个输入参数:剩余能量和传感器节点到基站的距离,而EAUCF模糊系统的输出是传感器节点的竞争半径。在其竞争半径范围内能量最高的传感器节点将被优先视为簇头。作者还提出了一种名为MOFCA [31]的新算法。在MOFCA中,除了剩余能量和到基站的距离外,作者还将邻居节点数量(即传感器节点的节点密度)作为模糊系统的第三个输入因素。其余的簇头选择过程与 EAUCF类似。传感器节点之间通过消息传输来进行簇头选择以及数据传输。

在DUCF [32],中,作者定义了三个类似于MOFCA的输入参数,但输出参数为传感器节点作为簇头的“机会”和簇大小。采用模糊Mamdani推理模型处理输入值。簇头选择根据第一个输出参数即‘机会’进行。第二个参数 ‘大小’适用于簇形成阶段。连接到簇头的传感器节点数量不得超过其大小,这有助于平衡簇头的能量消耗和负载。

在FBCF [33],中,作者使用了两个模糊系统,一个用于选择簇头,另一个用于簇的形成。在第一个模糊系统中,输入参数是传感器节点的剩余能量及其到基站的距离。与EAUCF类似,竞争半径被计算为输出。在第二个模糊系统中,将节点密度和剩余能量作为两个输入变量,而簇的大小被视为模糊系统的输出。根据每个簇的大小,非簇头节点被分配给簇头以形成簇。

III. 动机与贡献

在现有文献中,存在许多聚类技术,其中先选择簇头,然后非簇头节点连接到其最近的簇头。然而,这些算法存在一个缺点,即非簇头节点分配给簇头的分布不均匀。因此,在本文中,首先形成簇,然后在相应簇的传感器节点中选举合适的簇头。SF‐MPSO的主要贡献如下。

1) 在SF‐MPSO中,使用FCM形成平衡簇,并在每个簇内选择合适的簇头。因此,不仅生成了簇,而且可以精确控制簇头数量。而在其他聚类方法中,簇头通常是从所有节点中选择的,因此可能会产生不平衡的簇。

2) 在模糊方法中,推理规则是手动设计的,并且需要一些实验试验来确定,这可能导致不合适的簇头选择。这促使我们借助一些元启发式方法生成最优的模糊规则,而不是手动固定它们。

3) 此外,我们的另一个创新点是使用Sugeno模糊模型,而现有的模糊方法采用的是Mamdani模型。原因是 Sugeno模糊推理系统在系统设计上具有更高的灵活性。因此,使用改进的PSO对Sugeno模糊规则进行优化,并将其应用于精确输入变量。

4) Sugeno模糊推理系统被应用于从每个簇中选择合适的簇头。

5) 在所提出的方法中,为了避免收敛到局部最小值, PSO控制参数被逐渐减小和增大,以使每个粒子在整个搜索空间中移动。随后,在优化过程中,粒子逐渐收敛到全局最优解。

6) 在适应度函数中,我们使用了剩余能量、簇内距离以及传感器节点的节点密度与到基站的距离之间的相关系数(r)等参数。据我们所知,相关系数尚未应用于无线传感器网络的能量效率。‘r’ 根据传输距离定义了节点密度的平衡性。

IV. 预备知识

A. PSO概述

粒子群优化(PSO) [23]是由埃伯哈特和肯尼迪于 1995年提出的一种群体智能方法。该方法受到鸟群行为中特定类型行为的启发。随机数量的粒子在问题的搜索空间中沿不同方向移动。目标函数对粒子在当前位置的表现进行评估。粒子的位置根据其当前位置、先前速度以及整个群体中最优粒子的位置不断更新。在每次迭代中,粒子的速度被调整,同时使用调整后的速度更新位置,以获得粒子的最佳位置。整个过程能够在搜索空间中找到近似最优解。由于粒子之间的相互作用,它们逐步向最优解逼近。

粒子群优化最优秀且最表面的特点是仅使用两个方程进行简单的计算。第一个方程用于速度计算,第二个方程用于粒子在维度为N的搜索空间中的位置更新。下一次迭代所需的速度通过公式(4)计算。

$$
V_{i,d}(t)= w \times V_{i,d}(t -1) + c_1 \times r_1 \times(X_{pbest_{i,d}} - X_{i,d}(t -1)) + c_2 \times r_2 \times(X_{gbest_{g,d}} - X_{i,d}(t -1))
$$

粒子的位置更新方程如公式(5)所示。

$$
X_{i,d}(t)= X_{i,d}(t -1)+ V_{i,d}(t)
$$

其中, $V_{i,d}(t)$ 表示粒子 $i$ 在第 $d$ 维度、第 $t$ 次迭代时的 速度 ,$X_{i,d}(t)$ 表示粒子 $i$ 在第 $t$ 次迭代时的 位置 。

$X_{pbest_{i,d}}$ 是粒子 $i$ 在前 $t$ 次迭代中的局部最优位置, $X_{gbest_{g,d}}$ 是所有 粒子 中的 全局最优解 。此外,w 表示 惯性权重 ;r1 和 r2 是在 [0 1] 范围内均匀生成的随机数; c1、c2 被视为用于控制 最优解的重要性 的 学习因子 。

B. 网络通信模型

采用来自[21]的无线电能量模型来计算网络在数据通信时的总能耗。在无线传感器网络中,传感器节点需要能量来执行聚类活动、传输和接收来自其他传感器节点的数据包。传感器节点将长度为‘l‐bit’的数据包传输距离d所消耗的能量在公式(6)中表示。

$$
E_T(l, d)=
\begin{cases}
l \ast E_{elec}+ l \ast \varepsilon_{fs} \ast d^2, & d< d_0 \
l \ast E_{elec}+ l \ast \varepsilon_{mp} \ast d^4, & d \geq d_0
\end{cases}
$$

其中$\varepsilon_{fs}$和$\varepsilon_{mp}$分别为在自由空间信道和多径信道中传输数据所需的能量。$d_0$是传输距离的阈值。$E_{elec}$是传感器节点电子电路的能量消耗量。接收‘l‐bit’数据的能量消耗在公式(7)中给出。

$$
E_R(l)= l \ast E_{elec}.
$$

V. 所提出的模糊聚类方法

在所提出的SF‐MPSO中,使用模糊C均值(FCM) [34]进行传感器节点的聚类。利用Sugeno模糊推理系统,根据剩余能量、到基站的距离以及相应簇的质心来选择簇头。使用Sugeno模糊模型计算每个传感器节点的秩,并定义该传感器节点作为簇头的适合作为程度。具有更高等级的传感器节点有更多机会作为簇头工作。在单个簇中具有最高秩的传感器节点被宣布为最终簇头。整体簇形成和簇头选择过程在下述小节中说明。

A. 簇形成

FCM 是新兴技术中使用的一种智能聚类方法。FCM 使用每个实例对每个簇的适应度。其目标是最小化每个实例与其聚类中心之间的距离之和。在无线传感器网络中,N个传感器节点被聚类为M个簇。传感器节点位置在聚类中起着重要作用。因此,传感器节点的x、y坐标被视为该

示意图1

传感器节点的特征。因此,特征向量的大小等于2。FCM的输入是一个矩阵K= k1, k2, k3,…,kN T,其维度为N × 2。这里,聚类中心的模糊输出矩阵大小为M × 2,即C= c1, c2, c3,…, cM T。FCM的目标函数表示为公式(8)[35]。

$$
F=\sum_{i=1}^{N}\sum_{j=1}^{M} U_{ij}^q d(k_i, c_j)
$$

其中,ki和cj分别为传感器节点i和簇质心j的坐标。 $U_{ij}$ 表示传感器节点i隶属于簇j的隶属度,项 $U_{ij} \in[0, 1]$和 $\sum_{j=1}^{M} U_{ij}= 1$。 q为模糊度参数,其值大于1。此外, $d(k_i, c_j)$使用欧几里得距离公式计算传感器节点与其相应簇质心之间的距离。为了最小化目标函数,应使用公式(9)和 公式(10)对 $U_{ij}$和$c_j$反复进行偏微分运算。算法的终止准则是 $U_{ij}(t) - U_{ij}(t -1) \leq \varepsilon,$,其中 $\varepsilon$是接近零的正数,t为当前迭代次数。算法结束后,网络中的每个传感器节点将被分配到具有最高模糊隶属度的簇中。

$$
U_{ij} = \left[\sum_{r=1}^{M} \left(\frac{d(k_i, c_j)}{d(k_i, c_r)}\right)^{2/(1-q)}\right]^{-1}
$$

$$
c_j = \frac{\sum_{i=1}^{N}(U_{ij}^q \times k_i)}{\sum_{i=1}^{N} U_{ij}^q}
$$

FCM和所提出的方法在簇头选择中的示例如图2所示。

在图2(a)中,展示了包含21个传感器节点的网络场景,其中4个传感器节点被选为簇头。在此情况下,首先选择簇头,然后传感器节点连接到这些簇头以形成簇。各簇的大小存在较大差异,因此簇内距离较大。在图2(b)中,应用模糊C均值聚类(FCM)方法,使各簇的大小接近相等,并减小了簇内距离。在形成簇之后,根据节点的剩余能量、到基站的距离以及簇内距离等属性来选择簇头。在所提出的方法中,采用第二种情况,即使用FCM算法进行簇的形成。

示意图2

并减少簇内距离。这可以节省传感器节点的能量,延长网络生命周期。在形成簇之后,从每个簇中选择合适的簇头。

B. 簇头选择

在本文中,簇头(CHs)的选取采用Sugeno模糊模型。该Sugeno模糊推理系统设计了三个输入参数和一个输出函数。输入参数分别为“传感器节点的剩余能量 E(n)”、“传感器节点到基站的距离 D(n)”以及“传感器节点到其对应簇的质心的距离 C(n)”。选择“剩余能量”作为主要参数的原因在于它与网络寿命成正比。“到基站的距离”直接影响传感器节点的能耗,而“到簇中心的距离”则影响非簇头节点的总能耗,同时也影响簇内距离。具有三个输入参数和一个输出参数的传统Sugeno模糊规则可表示为: “如果 x1= l、x2= m 且 x3= n,那么 y=f(x1, x2, x3)”, 其中 x1、x2、x3为输入参数,l、m、n 分别为其隶属函数。y是输入变量的输出函数,为一个精确多项式函数,其表达式如公式(11)所示。

$$
f(x_1, x_2, x_3)= px_1+ qx_2+ rx_3+ s
$$

SF‐MPSO的簇头选择过程如图3所示。

簇头选择的过程分为四个部分:归一化、模糊化、模糊推理与规则生成,以及去模糊化。

1) 归一化:

SF‐MPSO的输入参数具有可变范围的值。“剩余能量”的值在0‐1焦耳之间变化。到基站的距离和到簇中心的距离则根据网络区域的不同而变化。因此,为了调整这些值,使用公式(12)[28]进行归一化处理。

$$
\text{Normalize}(x_i) = \frac{x_i - \min(x)}{\max(x)- \min(x)}
$$

其中,$x_i$ 是传感器节点i的输入参数x的精确值,函数 max(x)和min(x)分别为

示意图3

相应簇中所有传感器节点的最大和最小输入参数值。

2) 模糊化:

模糊化是使用各种隶属函数将精确值转换为模糊值的方法。本文提出的SF‐MPSO中输入变量所使用的隶属函数如图4所示。第一个输入参数“剩余能量”所应用的语言变量为低、中、高;“到基站的距离”所应用的语言变量为近、中、远;类似地,“到簇中心的距离”参数的语言变量为近、适中、远。由于输入值已归一化,所有隶属函数的范围均在0和1之间。

3) 模糊推理与规则生成:

在模糊化之后,模糊输入值由Sugeno模糊推理系统[36]进行处理。用于推理系统的 Sugeno模糊规则通过改进的PSO生成。输入变量通过生成的规则进行引导,并产生模糊输出函数。所提出的 SF‐MPSO中使用的Sugeno模糊规则库如图5所示。

由于有三个输入变量,且每个变量都有三个语言变量,因此生成的规则总数为3 × 3 × 3= 27。每条规则包含4个常数参数,如公式(11)所示。因此,所提出的SF‐MPSO 中使用的控制特征总数为 4 × 27= 108。

示意图4

算法1 SF‐MPSO中簇形成与簇头选择的伪代码

  • 输入
    – 一组传感器节点 S= s1, s2,…, sn。
    – 传感器节点 s= (x,y) 的位置。
    – 簇头数量=m。
  • 输出 – 一个分配 A: S→ CH
  • 开始
    1: 使用FCM形成簇
    2: (质心, U)=fcm(S, m)
    3: 簇头选择
    4: 计算 E(n), D(n), C(n),即传感器节点的剩余能量、到基站的距离和到簇中心的距离
    5: 步骤1:
    6: 使用公式(12)将 (E(n), D(n), C(n))归一化到0到1之间。
    7: 步骤2:
    8: 使用模糊语言变量进行模糊化
    9: 步骤3:
    10: 使用算法2进行模糊推理和规则生成。
    11: RuleGeneration();
    12: 步骤4:
    13: 去模糊化
    14: 使用公式(13)对模糊系统生成的模糊值进行去模糊化。
    15: m=max(z);
    16: 将 mth传感器节点声明为相应簇的簇头。
    17: 将每个簇中的传感器节点分配给相应的簇头。
  • 结束

这108个参数均使用改进的PSO算法进行优化。

4) 去模糊化:

去模糊器将组合的模糊输出转换为单一的清晰输出。本文中,计算每个传感器节点的清晰输出值。Z(n) 是传感器节点 n 的输出值,称为秩。根据 E(n)、 D(n) 和 C(n) 的归一化值,触发不同的模糊规则。最终的清晰输出 Z(n) 通过在聚合的触发输出 yk(n) 上应用“加权平均”去模糊化方法获得,如公式(13)所示,其中,k= 1, 2, 3,…,27。wk 是规则 k 中相应隶属函数的 E、 D 和 C 隶属度的最小值。

$$
Z(n)= \frac{\sum_{k=1}^{27}(w_k \times y_k)}{\sum_{k=1}^{27} w_k}
$$

算法1展示了SF‐MPSO中簇形成和簇头选择的伪代码。

示意图5

六、基于改进PSO的规则生成

在传统模糊推理系统中,模糊规则由专家手动设计。本文中,采用基于改进的PSO算法的自动规则调优过程,而非手动设计规则。目前存在多种用于规则调优过程的启发式、元启发式、群体智能和进化方法。本文选择粒子群优化算法,因其在探索与开发能力方面表现出色。下文将详细讨论所提出的SF‐MPSO中针对PSO的改进以及规则调优的相关研究。SF‐MPSO的整体流程图如图6所示。

A. 粒子表示

如前所述,在所提出的SF‐MPSO中总共考虑了108个可控参数。粒子表示方式类似于LEACH‐SF [28]中提出的解。这些参数的精细调优是所提出SF‐MPSO中最关键的部分。这些参数的范围根据它们对网络寿命的影响来确定。传感器节点的剩余能量数量与网络生命周期成正比,即具有正面影响。因此,pk的范围在0和1之间。类似地,到簇中心的距离和到基站的距离对能耗以及相应地对网络寿命具有负面影响。因此,qk和rk的范围在 −1和0之间。偏置sk的范围从 −1到1。可行解表示为长度为108的字符串,如图7所示。

示意图6

示意图7

B. 初始种群

在SF‐MPSO中,种群规模是预先定义的。为了生成一个可能的可行解(粒子),会生成均匀随机数作为pk 值的字符串。qk、rk 和 sk 及其各自的范围值。初始种群中的样本解如图8所示。种群中的每个解都通过优化适应度经历评估过程。

C. 适应度评估

通过适应度函数评估一个解以获得其适应度值。适应度值定义了粒子的质量。本文设计了一种新型适应度函数,用于识别所生成粒子的精确有效性。影响能耗和适应度的参数包括

1) 簇内距离 :簇内距离是指相应簇中成员传感器节点到簇头的距离之和。它直接影响非簇头节点的能耗,从而影响网络生命周期。最小的簇内距离可以延长网络寿命,即簇内距离与网络寿命成反比。

2) 剩余能量 : 能耗直接影响网络的生命周期。传感器节点的剩余能量越高,网络生命周期就越长。这意味着,剩余能量因素与网络生命周期成正比。

3) 节点密度和簇头到基站的距离 :此处,簇头与基站之间的距离与其所在相应簇的节点密度相关,因为簇头会从其所属簇的成员节点收集数据,然后直接将数据发送至基站。因此,为了识别这两个因素之间的相关性,我们采用了公式(14)中定义的皮尔逊相关系数。

$$
r= \frac{m(\sum xy)-(\sum x)(\sum y)}{\sqrt{[m\sum x^2 -(\sum x)^2][m\sum y^2 -(\sum y)^2]}}
$$

这里,r是相关系数,m是簇头数量,x是簇头的局部节点密度,y是簇头到基站的距离。

我们利用所有这些因素构建了一个适应度函数,并在公式(15)中进行了表达。

$$
\text{Fitness}= \frac{r \times \sum_{i=1}^{N} \text{ResidualEnergy}(i)}{\text{ICD}}
$$

ICD 在公式(2)中表示。适应度更高的解在种群中是最优的。

D. 种群更新

传统粒子群优化中粒子的速度更新如公式(4)所示。C1和C2是两个可控参数。参数C1和C2分别用于根据个体最优粒子和全局最优粒子调整速度变化。在所提出的方法中,为了避免收敛到局部最小值,C1逐渐减小,而 C2逐渐增大,以使每个粒子在整个搜索空间内移动。随后,在优化过程中,粒子逐渐收敛至全局最优解。

因此,在本文中,C1和C2的取值是根据公式16和17来确定的。

$$
C_1(t)=(C_{1,\min} - C_{2,\max})\times \frac{t}{t_{\max}} + C_{1,\max}
$$

$$
C_2(t)=(C_{2,\max} - C_{2,\min})\times \frac{t}{t_{\max}} + C_{1,\min}
$$

在更新每个粒子的速度后,使用公式(5)来更新位置。在每次迭代中,每个解中的所有108个字符串都会被更新,从而生成一个新的种群。

算法2 展示了使用MPSO进行模糊规则生成的伪代码。

算法2 使用MPSO的模糊规则生成的伪代码

  • 输入 :Predefined种群大小= Popsize .
  • 输出 :模糊规则集
  • 开始
    1: 种群生成
    2:初始化粒子 Pi ∀1 ≤ i ≤ Popsize 根据第六章‐B节
    3: 对于 i=1到 种群大小 执行
    4: 使用公式(15)计算 Fitness(Pi)
    5: Pbesti=Pi
    6: 结束循环
    7: Gbest= Pbestk|Fitness(Pbestk),Fitness(Pbestk) = max(Fitness(Pbesti)) ∀i, 1 ≤ i ≤ Popsize
    8: while(非终止条件) do
    9: for i= 1 to Popsize do
    10: 使用公式4和5更新速度和位置。
    11: 计算 Fitness(Pi)
    12: if(Fitness(Pi)> Fitness(Pbesti)) then Pbesti= Pi
    13: end if
    14: 如果 (Fitness(Pbesti)> Fitness(Gbest)) 则 Gbest= Pbesti
    15: 结束 if
    16: 结束 for
    17: 结束 while
  • 结束

第七章 结果与讨论

A. 仿真设置

实验在 200 × 200m²的目标区域内随机部署了100个传感器节点。随机部署完成后,所有实验中传感器节点的位置保持固定。基站的位置被用于分析其对网络寿命的影响。实验在三种场景下进行:基站位于网络的1. 中心;2. 一侧; 3. 一个角落。初始时,所有传感器节点具有相同的能量水平。数据通信过程中所需的各种能量详情列于表 I。为了调整使用粒子群优化进行规则生成的相关参数,对控制参数进行了验证,并为仿真选择了最佳值。这些调整参数列于表 II。

为了评估所提出的SF‐MPSO的性能,在三种场景下将其与四种现有聚类算法EAUCF [30],、DUCF [32],、 FGWO [39]和ARSH‐FATI‐CHS [37]进行比较。EAUCF是一种能量感知型聚类算法,DUCF也是一种能量感知且分布式的聚类算法,而ARSH‐FATI‐CHS是一种用于无线传感器网络中簇头选择的元启发式方法。在 FGWO中,采用模糊扩展灰狼算法以最小化网络生命周期。

这四种算法在多个评估参数下进行了测试,包括各轮次的总能耗、首次节点死亡轮次(FND)、半数节点死亡轮次(HND)和最后节点死亡轮次(LND),以及死亡传感器节点总数。由于所提出的SF‐MPSO使用模糊C均值聚类进行簇生成,并通过粒子群优化实现模糊规则生成来选择簇头,因此有必要检查簇的平衡性。故此,采用簇内距离均值及标准差来展示SF‐MPSO相较于EAUCF、DUCF、 FGWO和ARSH‐FATI‐CHS的有效性。计算簇内距离标准差的公式为

$$
\text{STD} c= \sqrt{\frac{1}{M} \sum {j=1}^{M} \sum_{i=1}^{N} \text{dist}(x_{ik_{ij}} - c_j)^2}
$$

其中 $k_{ij}$ 是一个二进制参数,用于定义将传感器节点 $x_i$ 分配到簇 $c_j$ 的过程。

B. 仿真结果

以下讨论了用于评估 SF‐MPSO 与 EAUCF、DUCF、FGWO 和 ARSH‐FATI:一种新型元启发式算法 ‐ CHs 性能所考虑的参数。

1) 网络总能耗 :这是决定网络寿命的主要重要参数。图9展示了EAUCF、DUCF、FGWO、 ARSH‐FATI‐CHS和SF‐MPSO在场景1、2和3中的能耗结果。可以观察到,最初所有算法的能耗几乎相同,但在若干轮次后,三种算法的能耗出现差异。这是由于网络中部分节点死亡所致。在 1000th轮结束时,整个网络改变其簇结构,从而导致网络能耗波动。研究发现,SF‐MPSO的能耗低于EAUCF、DUCF、FGWO和ARSH‐FATI‐CHS。

所提出的SF‐MPSO根据剩余能量、簇内距离以及节点密度与到基站距离之间的相关性来选择解决方案。这些因素共同帮助选择能耗较低的网络方案,从而降低网络能耗并延长网络寿命。EAUCF比其他算法消耗更多能量,因为它未考虑节点密度参数,导致簇头过载并消耗大量能量。

在DUCF中,模糊规则是手动固定并在每次迭代中应用相同的规则,因此在一定数量的迭代后影响了簇头的正确选择;而在SF‐MPSO中,模糊规则根据MPSO进行调整,并在每次迭代中动态应用。ARSH‐FATI‐CHS与SF‐MPSO 之间的主要区别在于,在ARSH‐FATI‐CHS中,元启发式方法应用于包含传感器节点和簇头的网络解决方案,而在 SF‐MPSO中,元启发式方法(MPSO)应用于模糊规则,以在每次迭代中对其进行调整和优化。此外,根据模糊规则库系统,从每个簇中选择簇头,然后通过将传感器节点分配给相应簇中的簇头来生成最终的网络解决方案。

2) 确定FND、HND和LND的轮次 :这再次是决定网络生命周期的关键参数之一。FND的轮次编号越大,表示网络生命周期越长。我们将网络生命周期定义为首个传感器节点死亡时的轮次编号。如果簇头(CH)死亡,则在下一轮进行重新分簇。如果簇头在数据传输过程中死亡,则该轮中该簇无法向基站(BS)传输任何数据。图10(a)展示了FND参数的结果。可以看出,SF‐MPSO的轮次编号大于EAUCF、DUCF、FGWO和ARSH‐FATI‐CHS。其原因是SF‐MPSO的能量消耗较低。HND和LND两个因素决定了能耗的一致性。FND与HND之间的差距反映了网络的稳定性,差距越大,表明网络稳定性越强。HND和 LND参数的结果分别如图10(b)和图10(c)所示。其中, EAUCF、DUCF和FGWO未考虑簇内距离,因此非簇头节点

示意图8

示意图9

可能需要更长的距离向簇头进行数据传输。ARSH‐FATI‐CHS算法关注网络中首个节点死亡问题,但由于采用模糊C均值聚类进行簇形成,SF‐MPSO的表现仍优于ARSH‐FATI‐CHS。

3) 能耗率与能耗标准差 :在该因素中,首次节点死亡轮次之前的能耗率计算结果如表III所示。在初始轮次中,能耗的波动较小;因此,对于所有算法而言,能耗率几乎相同。此外,SF‐MPSO的能耗标准差相较于EAUCF、 DUCF、FGWO和ARSH‐FATI‐CHS更小。

4) 死亡传感器节点数量 :该因素定义了网络中传感器节点死亡的图表。我们记录了1、10、20、30、40和50个传感器节点死亡时的轮次编号。结果如图10(d)所示,发现EAUCF中的传感器节点死亡速度比DUCF、ARSH‐FATI‐CHS和SF‐MPSO更快。所提出的SF‐MPSO在适应度函数中同时考虑了节点密度和到基站的距离,因此网络寿命得以延长。

5) 簇内距离均值及标准差 :在所提出的SF‐MPSO中,使用模糊C均值聚类(FCM)形成簇;因此,每个簇的簇内距离变化不大。在FGWO中,采用基于FIS的概率模型进行簇头选择。而在EAUCF、DUCF和 ARSH‐FATI‐CHS中,先选择簇头,然后形成簇;因此,每个簇的簇内距离不同且呈现不等大小。因此,EAUCF、DUCF、FGWO和ARSH‐FATI‐CHS的簇内距离标准差高于SF‐MPSO。该参数的结果如表IV所示。

6) 簇头死亡后的丢包率 :丢包率定义为丢失数据包百分比与发送的总数据包数之比。丢包率的计算公式见公式 (19)。

$$
\text{Packet Loss Ratio}= \frac{P_l}{P_s} \times 100
$$

其中$P_l$ 是传输过程中丢失的数据包数量,$P_s$是发送的数据包总数。

从表V可以看出,SF‐MPSO在三种场景下的丢包率均低于EAUCF、DUCF、FGWO和ARSH‐FATI‐CHS。这是由于所提出的SF‐MPSO生成了能量高效的聚类。还需注意,网络中丢包率与基站的位置有关。观察发现,当基站位于中心位置的场景1中,丢包率最低。随着基站位置偏离中心,丢包率逐渐增加。

7) SF-MPSO在簇头数量为20和30时的能耗 :我们计算了场景1下20和30个传感器节点的总能耗。研究发现,随着簇头数量的增加,能耗也随之增加,因为更多的簇头需要传输更少的数据到基站,但传输距离更长。我们发现,对于100个传感器节点而言,大约20个簇头是最佳数量。该参数的结果如图11(a)所示。

8) SF-MPSO在簇头数量为20和30时的FND、HND、ECR和ICDs :对于该参数,我们记录了FND和HND的轮次编号。同时,我们还计算了簇内距离的较大值和标准差。结果如表VI所示。观察发现,当簇头数量为30时的能耗比簇头数量为20时更高。因此,在簇头数量为20的情况下,FND轮次更少。这也影响了能耗率,并且在簇头数量为30时表现出更高的ECR。由于第二种情况(30个簇头)的簇头数量更多,非簇头节点可以加入距离更近的簇头。因此,簇内距离是

示意图10

在第二种情况(30个簇头)下比第一种情况(20个簇头)下更小。

9) 具有800个传感器节点场景的能耗 :在此评估参数中,将800个传感器节点部署在 200 × 200区域,以了解 SF‐MPSO在密集网络中的性能。我们考虑将20%的传感器节点作为簇头。因此,在本例中,160个传感器节点将作为簇头,并使用FCM形成160个簇。该场景下的能耗如图11(b)所示。此外,我们注意到首个传感器节点死亡发生在第783轮。由于网络非常密集且簇头数量增加,在单跳通信与基站通信的情况下能耗增加,而在多跳通信情况下,能耗可能会降低。

VIII. 结论与未来方向

在SF‐MPSO中,使用FCM形成平衡簇,并在每个簇内选择合适的簇头。因此,不仅生成了平衡簇,还能精确控制簇头的数量。利用粒子群优化算法生成最优模糊规则,而不是手动固定规则。采用Sugeno模糊推理系统以增强系统设计的灵活性。因此,使用改进的PSO对Sugeno模糊规则进行优化,并应用于精确输入变量。在适应度函数中,使用了诸如剩余能量、簇内距离以及传感器节点的节点密度与到基站距离的相关系数等参数,以选择能效高的解决方案。仿真在不同场景下进行,基站位置变化包括i)区域中心,ii)区域边缘,iii)区域角落。观察发现, SF‐MPSO在所有场景下均表现出色。所提出的SF‐MPSO还与现有的EAUCF、DUCF、FGWO和 ARSH‐FATI‐CHS在各种评估因素下进行了比较,结果表明SF‐MPSO在各个方面均优于EAUCF、DUCF、 FGWO和ARSH‐FATI‐CHS,且具有更长的网络生命周期。

所提出的SF‐MPSO目前仅针对静态网络实现。作为未来工作,可将SF‐MPSO扩展以包含移动传感器节点。此外,还可应用高效的路由技术来处理更大的拓扑区域。

基于STM32 F4的永磁同步电机无位置传感器控制策略研究内容概要:本文围绕基于STM32 F4的永磁同步电机(PMSM)无位置传感器控制策略展开研究,重点探讨在不依赖物理位置传感器的情况下,如何通过算法实现对电机转子位置和速度的精确估计与控制。文中结合嵌入式开发平台STM32 F4,采用如滑模观测器、扩展卡尔曼滤波或高频注入法等先进观测技术,实现对电机反电动势或磁链的估算,进而完成无传感器矢量控制(FOC)。同时,研究涵盖系统建模、控制算法设计、仿真验证(可能使用Simulink)以及在STM32硬件平台上的代码实现与调试,旨在提高电机控制系统的可靠性、降低成本并增强环境适应性。; 适合人群:具备一定电力电子、自动控制理论基础和嵌入式开发经验的电气工程、自动化及相关专业的研究生、科研人员及从事电机驱动开发的工程师。; 使用场景及目标:①掌握永磁同步电机无位置传感器控制的核心原理与实现方法;②学习如何在STM32平台上进行电机控制算法的移植与优化;③为开发高性能、低成本的电机驱动系统提供技术参考与实践指导。; 阅读建议:建议读者结合文中提到的控制理论、仿真模型与实际代码实现进行系统学习,有条件者应在实验平台上进行验证,重点关注观测器设计、参数整定及系统稳定性分析等关键环节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值