正在加载图片...
第4期 梁俊斌,等:带时延约束的连通目标覆盖最大化生命周期问题 ·323· 盖所有的目标.算法首先给每个节点s赋予一个权 Sink的最小跳数. 值Profit(s): 算法28)~40)行,每个在仿Dijkstra算法运行 I P-PO P I 后仍然为“offtree'”状态的节点,启发式地寻找一条 Profit(s)=- 满足限高的最小加权路径到达Sik,并更改相应节 式中:IP.-P∩P1代表处于节点s的感知范围而没 点的路径权值.其中算法29)~36)行,“offtree”状态 有被覆盖的那些目标的集合,心,是节点s的权值,即 的节点寻找一条满足限高的最小加权路径,并将路 R(s,T)中所有边权值之和.然后算法始终选取用于 径上的节点push到一个堆栈中.算法37)~39)行, 最大权值的节点(13)来覆盖目标直到所有的目标 更改新路径上新加进节点的权值」 都已经被覆盖为止.当某个节点s被选中作为采样 节点后,那么R(s,T)上的节点将更新它们的路径权 3仿真实验与结果分析 值(算法16)行). 在仿真实验中,将HLCWGC算法与其他3种算 在第3阶段,算法将选中的叶子节点以及(s, 法CWGC、HLMSC-EWARE、HLMSC-SPT进行比较, T)加入树T中,同时根据能量模型更新这些节点的 CWGC不考虑延时的约束,与HLCWGC算法一样, 能量 采用贪婪策略选取节点,但是生成网络骨干的方法 2.2限高的最小权值树构造算法(HLSPT)描述 算法输入的是经过规则1处理的图G,输出的 与HLCWGC不同.HLMSC_SPT中源节点采样到数 是一棵最小权值树T.其中该树T是以Sik为根,以 据都通过最小路径传输到Sik,但是采取一种贪婪 图G中所有的有效传感器节点作为它的子孙 策略[)选取源节点.HLMSC-EWARE是考虑延时约 算法1)~4)行是算法的初始化过程,对每个节 束后的MSC算法,使用贪婪策略[)选取源节点,但 点u初始化了它在树T中的层次Level(u)、父亲节 是采取HLSPT算法生成的限高加权树传输数据.在 点dad(u)、节点的路径权值W(u)、节点的最小跳 网络最大时延和网络生命周期2个评价标准下评估 数hops(u)、节点在树中的状态Status(u)、节点在最 算法HLCWGC、CWGC、HLMSC-EWARE、HLMSC- 小跳数算法中的父亲dad1(u). SPT R 假设每个节点的能量初始为20J,各种参数设 置为e,=50n/bit、b=100pJ/m、a=4、e,= 150nJ/bit、e,=150nJ/bit;数据的采样频率为 10kB/s6].节点的感知半径为R,=20m,传输半径 为R。=40m.假设网络生命周期上界为Lp,其大小 可以采用枚举的方法来获取.所有节点随机地散布 在100mxl00m的区域内,Sink节点位于区域的中心. 图1限高树的示例 实验1测量HLCWGC算法与r的关系.固定 Fig.I Illustration of a height-limited tree 网络中传感器节点数为60,目标数为20,取r= 算法5)~l6)行仿照Dijkstra算法,构造一棵限 0.1%、0.2%、0.4%、0.6%、0.8%、1%Lp时,设置网络 高的最小权值树,但是这棵树并不是图G的生成 时延上限H为20和10时,得到的结果绘制成图2. 树,因为部分节点虽然在离Sik跳数比较近,但是 8x10 +-H=20 在仿Dijkstra算法中却不会被选中.比如:在图1中, *-H=10 节点d虽然可以两跳路径(d,r,R)到达R,但是它的 路径权值要大于路径〈d,S,…,S,R)的权值,所以 d不会被加入到路径〈d,r,R〉中.由于树高的限制, 可能(d,S,…,S,R)超过了高度限制,所以d也不 0.02 0.040.060.080.10 能加入到(S,…,S,R)构成路径(d,S,…,S,R) tLin 算法17)~27)行使用了一个数据结构队列Q 图2 HLCWGC算法生命周期与x的关系 来对图G进行层遍历,用dad1(u)表示在节点u在 Fig.2 The relationship of HLCWGC algorithm's life time with 层遍历中的父亲节点,hops(u)表示节点u距离盖所有的目标.算法首先给每个节点 s 赋予一个权 值 Profit(s): Profit(s) = | Ps - Ps ∩ P ' | ws . 式中: | Ps -Ps∩P ' |代表处于节点 s 的感知范围而没 有被覆盖的那些目标的集合,ws 是节点 s 的权值,即 R(s,T)中所有边权值之和.然后算法始终选取用于 最大权值的节点(13)来覆盖目标直到所有的目标 都已经被覆盖为止.当某个节点 s 被选中作为采样 节点后,那么 R - (s,T)上的节点将更新它们的路径权 值(算法 16)行). 在第 3 阶段,算法将选中的叶子节点以及 R - (s, T)加入树 T 中,同时根据能量模型更新这些节点的 能量. 2.2 限高的最小权值树构造算法(HLSPT)描述 算法输入的是经过规则 1 处理的图 G,输出的 是一棵最小权值树 T.其中该树 T 是以 Sink 为根,以 图 G 中所有的有效传感器节点作为它的子孙. 算法 1) ~4)行是算法的初始化过程,对每个节 点 u 初始化了它在树 T 中的层次 Level(u)、父亲节 点 dad(u)、节点的路径权值 W( u)、节点的最小跳 数 hops(u)、节点在树中的状态 Status(u)、节点在最 小跳数算法中的父亲 dad1(u). 图 1 限高树的示例 Fig.1 Illustration of a height⁃limited tree 算法 5) ~16)行仿照 Dijkstra 算法,构造一棵限 高的最小权值树,但是这棵树并不是图 G 的生成 树,因为部分节点虽然在离 Sink 跳数比较近,但是 在仿 Dijkstra 算法中却不会被选中.比如:在图 1 中, 节点 d 虽然可以两跳路径〈d,r,R〉到达 R,但是它的 路径权值要大于路径〈d,Sj,…,Si,R〉的权值,所以 d 不会被加入到路径〈 d,r,R〉中.由于树高的限制, 可能〈 d ,Sj,…,Si,R〉超过了高度限制,所以 d 也不 能加入到〈Sj,…,Si,R〉构成路径〈d,Sj,…,Si,R 〉. 算法 17) ~ 27) 行使用了一个数据结构队列 Q 来对图 G 进行层遍历,用 dad1( u)表示在节点 u 在 层遍历中的父亲节点, hops ( u) 表示节点 u 距离 Sink 的最小跳数. 算法 28) ~ 40) 行,每个在仿 Dijkstra 算法运行 后仍然为“ offtree” 状态的节点,启发式地寻找一条 满足限高的最小加权路径到达 Sink,并更改相应节 点的路径权值.其中算法 29) ~ 36)行,“ offtree”状态 的节点寻找一条满足限高的最小加权路径,并将路 径上的节点 push 到一个堆栈中.算法 37) ~ 39)行, 更改新路径上新加进节点的权值. 3 仿真实验与结果分析 在仿真实验中,将 HLCWGC 算法与其他 3 种算 法 CWGC、HLMSC⁃EWARE、HLMSC⁃SPT 进行比较. CWGC 不考虑延时的约束,与 HLCWGC 算法一样, 采用贪婪策略选取节点,但是生成网络骨干的方法 与 HLCWGC 不同.HLMSC_SPT 中源节点采样到数 据都通过最小路径传输到 Sink,但是采取一种贪婪 策略[5]选取源节点.HLMSC⁃EWARE 是考虑延时约 束后的 MSC 算法,使用贪婪策略[5] 选取源节点,但 是采取 HLSPT 算法生成的限高加权树传输数据.在 网络最大时延和网络生命周期 2 个评价标准下评估 算 法 HLCWGC、 CWGC、 HLMSC⁃EWARE、 HLMSC⁃ SPT. 假设每个节点的能量初始为 20 J, 各种参数设 置为 et = 50 nJ/ bit、 b = 100 pJ/ m 4 、 α = 4、 er = 150 nJ/ bit、 es = 150 nJ/ bit; 数 据 的 采 样 频 率 为 10 kB / s [ 16 ] .节点的感知半径为 Rs = 20 m,传输半径 为 Rc = 40 m.假设网络生命周期上界为 LLP ,其大小 可以采用枚举的方法来获取.所有节点随机地散布 在 100 m×100 m 的区域内,Sink 节点位于区域的中心. 实验 1 测量 HLCWGC 算法与 τ 的关系.固定 网络中传感器节点数为 60, 目标数为 20, 取 τ = 0.1%、0.2%、0.4%、0.6%、0.8%、1%LLP时,设置网络 时延上限 H 为 20 和 10 时,得到的结果绘制成图 2. 图 2 HLCWGC 算法生命周期与 τ 的关系 Fig.2 The relationship of HLCWGC algorithm’ s life⁃ time with τ 第 4 期 梁俊斌,等:带时延约束的连通目标覆盖最大化生命周期问题 ·323·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有