基于强化学习的充电调度策略研究

2021-03-25 04:05张世豪
现代计算机 2021年4期
关键词:定义节点收益

张世豪

(四川大学计算机学院,成都610065)

0 引言

随着现代微电子技术与自组织网络的发展,无线传感器网络受到了广泛的关注。传感器网络已成为收集数据与信息的主要手段之一。现如今,无线传感器网络的应用已随处可见,例如城市设施监测、海洋水质监测、军事监控、桥梁检测和消防监测,等等。而监测数据的获取是依靠环境中部署的大量无线传感器节点来实现的。为了保证传感器网络的检测质量,需要节点之间保持连通性和覆盖性,者对无线传感器节点的电池提出了较高要求。

然而,无线传感器节点因体积有限,导致只能采使用小型电池模块进行供电。因此,电池容量的大小限制了其工作时长,从而也限制了整个网络的运行寿命。如何设计一种长期运行的传感器网络演变成了当下需要考虑与解决的基本问题。目前,已提出的充电技术有节能计算[1]、环境能量收集计算[2]和人工更换电池方案[3],但是这些技术都存在一定缺陷,例如:节能技术只能减缓能量消耗,能量收集技术依赖于环境造成并不能稳定供能,而人工更换电池方案会消耗大量的人力物力造成成本较高。因此,亟需一种新的充电方式来延长网络的寿命。幸运的是,得益于Kurs 等人[4]在无线能量传输技术上的突破,使得无线能量传输技术逐渐成为解决传感器能量有限的有前途的方法。在这种技术下,我们通常使用一辆带有能量发射装置的无线充电车,来为传感器节点传输能量。这种方式可以主动地对需要充电的传感器补充能量以满足应用场景的需求。基于此,如何调度无线充电车构造充电路径并为传感器节点提供充电服务成为我们需要研究的重点。

1 网络模型

在一个无线传感器网络中,包含一座基站(BS)和N 个传感器节点。我们派遣一辆无线充电车从BS 出发为传感器节点进行充电。我们定义当传感器的剩余能量re小于阈值时,传感器节点生成充电请求,以此来引导充电车选择停靠位置并构造路径。假定传感器节点和充电车的总电池容量分别被定义为bsensor和Bcar。此外,我们定义无线充电车的充电半径为r,当充电车与传感器节点之间的距离d小于半径r时,便能对其进行充电。传感器节点与无线充电车当前坐标之间的距离计算采用欧几里得公式,如公式(1):

其中xsensor和ysensor代表节点的坐标信息,xcar和ycar代表当前充电车的坐标位置。

与其他一些研究策略[5]不同。我们不仅将无线充电车调度到传感器上停止,还可以根据充电半径的形成一些相交点上停靠,使得有更多备选的停靠位置可供选择。同时,由于在无线能量的传输过程中存在能量损耗,所以我们引入了一个恒定的衰减率λ,传感器实际获取的能量为无线充电车原始发射能量的λ倍。具体的充电模型如图1 所示。

图1 网络模型图

2 问题描述

本文在一个无线传感器网络中研究了调度一辆无线充电车为N 个传感器节点补充能量并规划和构成充电路径的问题,使得无线充电车在完成一个充电周期后,形成一条完整充电回路。同时,无线充电车不仅限于被停靠于传感器上,且能停靠在充电半径相交圆的交点之上。由于备选停靠点数量的增加导致加大了计算复杂度,因此为了提高网络性能、降低计算难度,我们提出一种基于强化学习的学习算法来解决该问题。

3 强化学习算法

本节首先介绍一些必要的强化学习(RL)背景。其次,引出在本文无线传感器网络场景下的RL 模型。随后再提出我们基于RL 的充电调度算法。

3.1 RL背景

RL 主要包含两个主体:一个是Agent,通常也被称作为智能体,而另一个是Environment,即外部环境。RL 的本质是一种交互式学习,其特征是相较于传统算法,其不仅会考虑短期收益情况,而且还会将长期收益考虑在内。智能体的学习与训练过程需要状态、动作和奖励三个部分来支撑和引导。主要流程为智能体根据当前环境状态选择某个充电的动作,网络环境根据该动作反馈一定的奖励值给智能体。若奖励值为正,则会引导智能体继续倾向于执行正奖励相关的动作策略;若奖励值为负,则智能体会自主学习和判断,以在后续步骤中尽可能避免执行带来负面结果的动作。

3.2 RL模型

RL 模型最关键的三部分分别为动作、状态和奖励。在我们的网络模型中,我们定义首先定义动作为所有备选的停靠点,即不仅包含了所有传感器的坐标,还囊括了所有传感器的在充电半径下的相交圆的交点坐标。其次,定义状态定义为所有传感器的剩余能量,这样定义是因为可以有助于无线充电车根据所有传感器节点的剩余能量判断应为哪些传感器进行充电。最后,我们定义了一个奖励函数来代表每次执行动作后,环境反馈给智能体的一个信号量,奖励函数被形式化表示为如下:

其中K表示充电车停靠位置处充电范围内所包含的所有传感器节点的集合,而k表示集合中所属的第k个传感器节点。rek表示第k 个传感器节点的剩余寿命。而DN表示网络环境中死亡节点的数量。此外,α为一个参数因子,在实验中我们设置α为100。我们将死亡节点的数量作为惩罚值使得智能体会尽可能选择避免节点死亡的情况的行动策略。

3.3 基于RL的充电调度算法描述

我们基于RL 的Deep Q Network[6]来实现充电调度算法。学习算法采用双重网络结构来进行训练,即包含评估网络和现实网络两个网络。我们将智能体的状态信息作为评估网络的输入,网络的输出为传感器网络中所有的备选停靠点。网络输出值的大小衡量了选择该停靠点带来的收益,也即奖励值。现实网络具有与评估网络相同的网络结构,用于计算损失函数和神经网络权重的更新。采用双网络结构能够增加强化学习算法的稳定性。此外,我们定义损失函数为现实网络与评估网络输出值的均方差。通过不断地循环学习,最终达成无线充电车一轮的充电任务。具体算法过程如图2 所示。

图2 学习算法过程图

4 实验模拟

4.1 实验环境设置

在本节中,我们对所提出的算法进行仿真实验并对模拟结果进行对比。我们设置无线传感器网络的大小为100m×100m。在仿真模拟的网络环境中随机部署120-160 个传感器节点,并将基站(BS)设置在网络环境的中心,即无线充电车从网络中心出发为传感器节点提供能量补充服务。每一个传感器节点与充电车的最大电池容量bsensor和Bcar分别为6KJ 和10KJ。因传感器节点随机初始化,所以节点初始电量的范围是最大容量的0.2-0.9 倍之间,而传感器的能量消耗速率随机初始化为0.1J/s-0.2J/s。同时,无线充电车的充电半径被设置为10m,充电能量消耗和移动能量 消耗分别为15W 和50J/m。

我们将我们所提出的基于RL 的充电算法(RLC)与基于贪婪策略的充电算法(GC)进行了对比。在GC中,无线充电车仅能停在传感器节点上,并同时对充电半径范围内的所有节点进行充电。GC 的充电策略首先是寻找每个传感器节点的邻居节点,即以某节点为中心,充电半径范围内的所有节点都属于该节点的邻居节点,并将其划分到同一个邻居节点集合中。其次,再计算为每个邻居集合充电能获得的最大充电收益,充电收益的计算公式如下:

其中gi是在第i 个节点计算获得的收益,Gainj是在第j 个节点处获得的总收益,即邻居节点集合内所有节点收益的总和。rei是第i 个传感器节点的剩余电池电量。m表示在第j 节点处共有m 个数量的邻居节点。

由于GC 算法的目的在于实现获取收益的最大化,因此每次充电策略都是贪婪选择的选择邻居集合充电收益最大的所在传感器的位置。

4.2 结果与分析

我们从两个方面来衡量两个算法的性能,即死亡节点的数量(DN)和能量使用效率(EUR)。DN 表示当无线充电车完成运行一个充电周期后,所有电池耗尽的传感器节点的数量,即我们称为死亡节点数量。EUR 表示充电车真正用于为传感器传输的能量占总能量消耗的比例。能量比例的计算公式表示为:

其中Et为无线充电路径上消耗的能量,Ec为所有传感器实际接收到的能量,El为能量传输过程中的损耗量。同时,在仿真实验中设置损耗率λ为0.5。

图3 死亡节点数量变化情况

图4 能量利用效率变化情况

模拟结果如图3 和图4 所示。在图3 中,我们可以看到,RLC 的死亡传感器节点在网络环境部署120-160 个传感器的情况下皆少于GC 的数量。这是因为GC 每次都是行动策略都是贪婪的选择即刻能获得最大充电收益的传感器位置,并同时对范围内所有节点进行充电。这种算法仅考虑短期收益。而我们基于RL 的算法,由于RL 的特性,不仅会考虑当前充电步骤的充电收益,还会把对未来充电步骤的影响考虑在内。并且,我们将死亡节点的数量作为惩罚值加入到我们的奖励函数中,如公式(2),导致RLC 的充电策略会倾向于选择造成死亡节点更少的停靠点。此外,我们不仅仅能够选在在传感器坐标上停靠,而且能够根据圆的几何关系,将充电范围形成的相交圆之间的交点作为备选停靠点之一。

图4 表示了能量的利用效率情况。我们可以清楚的看到,RLC 的EUR 皆高于0.48,而GC 的EUR 却都低于0.46。这是由于RLC 策略下的充电车有更多的充电停靠点可以选择,使其有更多的机会选择到路径较少且充电覆盖范围内包含传感器节点数量更多的停靠点。因此,综上分析,我们的算法能够拥有更好的网络性能,带来更少的死亡节点和更高的能量使用效率。

5 结语

本文区别于传统的充电方法算法,采用基于RL 的充电策略为无线充电车构造充电路径,实现为传感器节点提供及时的充电服务。通过实验对比,在死亡节点数量和能量利用效率两个方面显示了我们算法的优越性和有效性。

猜你喜欢
定义节点收益
基于RSSI测距的最大似然估计的节点定位算法
以爱之名,定义成长
分区域的树型多链的无线传感器网络路由算法
一种基于能量和区域密度的LEACH算法的改进
严昊:不定义终点 一直在路上
定义“风格”
基于点权的混合K-shell关键节点识别方法
勵駿首季收3.5億跌3.7%
建设银行利增6.1% 日赚6.2亿
12