一、人工蜂群算法求解无线网络传感覆盖优化问题简介
1 WSN覆盖模型 1.1 问题描述 在WSN中, 要实现较高的无线网络传感器节点覆盖率从而减少监测盲点的出现, 就必须加大无线网络传感器节点的分布密度。但是一旦无线网络传感器节点的分布密度太大, 势必产生冗余节点, 甚至导致数据传输发送冲突, 使节点能量过多消耗, 最终使得WSN的生存周期过短。就单个传感器节点来说, 如果该节点的监测区域可以被其他传感器节点覆盖, 那么这个节点就被视为冗余节点, 当其他传感器节点工作时, 该节点可以处于休眠状态。通过相应的算法判断出冗余节点, 在保证网络覆盖率的条件下, 使WSN中的工作节点最少, 降低整体网络的能量消耗。因此, 在WSN的初始化阶段, 工作节点的数目和节点能量的消耗需要结合考虑, 这就出现了工作节点数目和网络覆盖率之间的矛盾。
1.2 覆盖模型 网络覆盖率f1和节点休眠率函数f2分别定义为 式中, |S|为部署传感器节点总数, |Si|为工作传感器节点数。
考虑到网络的能耗均衡, 引入区域能量Ek和能量均衡系数Ea两个定义具体为 式中, Eki表示第k个网格中节点i的剩余能量, mk表示第k个网格中的节点个数。 Ea反应网络能耗均衡度, 其值越大表示能耗越不均匀, 反之能耗越均匀[8]。
由于无线传感器网络覆盖优化与网络能耗密切相关, 为此增加一个能量均衡系数子函数, 即令f3=Ea。因此, WSN覆盖优化为综合工作节点数、覆盖率和能量均衡, 使网络覆盖率在满足实际应用需求的基础上, 尽可能多的冗余节点进入休眠状态, 从而节省能量消耗。因此, WSN覆盖优化目标数学模型为 式中, w1、w2和w3为权值w1+w2+w3=1。为了找到最优WSN覆盖方案, 采用人工鱼群算法进行求解。
2 无线传感器网络覆盖优化算法 2.1 混沌人工蜂群算法 人工蜂群算法 (Artificial Bee Colony Algorithm, ABC) 属于一种元启发式智能算法, 是一种非数值计算的组合优化算法。人工蜂群算法虽然算法简单, 但易陷入局部极值点, 优化的后期收敛速率慢。由于混沌运动具有遍历性、对初始条件的敏感性、随机性等特点, 为了提高蜂群搜索的遍历性和种群的多样性, 本文将混沌思想加入人工蜂群算法中, 从而提高人工蜂群算法的收敛速度和精度, 改善算法摆脱局部极值点的能力。由于Logistic映射较其他混沌迭代映射计算量小、使用方便, 用其来产生混沌序列如: 式中, δ为控制参量, 取δ=4, 设0≤z0≤1, 式 (6) 完全处于混沌状态, 并可由此迭代出一个确定的时间序列。
本文混沌融入人工蜂群算法, 基本思想主要体现在以下两方面:
(1) 蜂群的位置采用混沌序列初始化, 既不改变初始化时位置所具有的随机性, 又提高了搜索的遍历性和蜂群的多样性, 以初始群体为样本, 从中择优生成初始群体。
(2) 在当前每个观察蜂和采蜜蜂搜索到的最优位置的基础上产生混沌序列, 从而实现领域小范围的随机搜索, 并且在迭代中产生局部最优解的众多领域点, 由此促进最优解的搜寻。
2.2 基于CABC的WSN覆盖优化步骤 基于混沌人工蜂群算法的的WSN覆盖优化流程如图1所示。根据式 (5) 得到优化后的目标函数, 结合改进的混沌人工蜂群算法, 具体优化步骤如下: (1) 参数初始化, 如维数、种群数、最高循环代数、阈值等。其中观察蜂和采蜜蜂各占一半, 侦查蜂设为1个; (2) 产生n个初始解, 从而形成初始蜂群; (3) 计算起始覆盖率; (4) 更新节点 (蜜源) 位置; (5) 计算更新后节点的覆盖率 (适度值) , 与当前值比较保留相对优质节点值; (6) 以当前蜜源为局部最优解, 并记忆; (7) 循环次数加1; (8) 如果终止条件满足 (一般为达到目标适应度值或最大循环代数) 则终止, 进而返回最佳适应度值, 则返回步骤 (2) 继续进行。 图1 基于混沌人工蜂群算法的覆盖优化流程图
二、部分源代码
%% 初始化
clear
close all
clc
三、运行结果
四、matlab版本及参考文献
1 matlab版本 2014a
2 参考文献 [1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016. [2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017. [3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013. [4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013. [5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018. [6]文政颖,翟红生.基于混沌人工蜂群算法的无线传感器网络覆盖优化[J].计算机测量与控制. 2014,22(05)
|