本发明属于物联网感知,具体涉及基于物联网应用的wsn分簇路由方法及路由系统。
背景技术:
1、物联网自上而下可以分为应用层、传输层和感知层,其中感知层主要由无线传感器网络(wireless sensor networks,wsn)组成,负责感知物理世界中的状态信息即感知数据。由于传感器节点在部署位置、通信方式以及资源等方面的局限性,wsn中传感器节点的能量有限且无法进行能量补充,因此提高能量利用率,延长网络生存期是wsn中亟待解决的问题。
2、在现有的路由协议中,基于分簇的层次路由被证明是平衡网络负载、延长网络生存期的有效技术。层次路由通过将传感器节点分组,有效减少网络能量的消耗,提高网络的可扩展性,从而实现更长的网络寿命,提高wsn的性能。大多数分簇路由算法都借鉴了leach( low-energy adaptive clustering hierarchy) 算法的思想,通过周期性轮换簇首,从而均衡网络能耗,延长网络生存期。但leach协议在选举簇首时没有考虑节点的剩余能量和位置信息,每个节点以相同的概率当选簇首。若剩余能量不足、地理位置不合理的节点当选簇首时,将加速这部分节点的能量耗损,缩短网络生存期。此外,簇间通信阶段没有使用任何路由算法,降低了网络性能。为解决leach协议中存在的问题,一些研究人员考虑针对剩余能量、距离因子等因素的改进型leach协议,但是受leach协议机制本身的局限性,使这些改进的路由协议只能解决单一性问题,对多元问题进行综合性分析及优化是困难的。
3、由于元启发式算法不局限于优化问题的类型,受初始值影响较小,只要有所需求解的函数即可逐步优化问题的解,现已被广泛应用于各领域的复杂问题优化处理上。如采用模拟退火算法、遗传算法、蚁群算法、人工神经网络等算法在诸多网络路由策略中寻找满足约束条件的最优解。模拟退火算法受温度冷却速率影响大,冷却速率慢则搜索时间长,冷却速率快则容易跳过最优解,故参数难于选取和控制,遗传算法的编程实现比较复杂、人工神经网络逻辑运算复杂,需要消耗大量算力和电能,不适合传感器网络环境,蚁群算法中信息素初值相同,选择下一个节点时倾向于随机选择,导致算法初期收敛速度慢,且由于正反馈的特性,容易陷入局部最优问题。
技术实现思路
1、为解决现有的wsn分簇路由技术存在上述诸多问题,本发明提供一种基于物联网应用的wsn分簇路由方法,利用人工蜂群算法具有参数少、全局搜索能力强的特性,对分簇策略进行优化,获得最优分簇决策,能够完全适用于资源量有限的wsn应用环境。
2、为了实现上述目的,本发明提供的一种基于物联网应用的wsn分簇路由方法,该方法具体包括:
3、利用人工蜂群算法对分簇决策进行优化,获得最优分簇决策;
4、根据最优分簇决策建立源节点到汇聚节点之间的初始路由路径;
5、计算每个初始路由路径在执行单位数据转发时所消耗的总能量,选择能耗最低的部分初始路由路径作为候选路由路径;
6、获取每个候选路由路径上各节点的剩余能量,选择最低剩余能量作为候选路由路径的通道能量宽度,进一步计算候选路由路径关于节点剩余能量的离散度,以通道能量宽度和离散度作为约束条件从候选路由路径选择数据转发路径。
7、进一步优选地,所述最优分簇决策的生成过程为:
8、步骤1)建立以簇头节点能量和位置因素为约束条件的适应度函数;
9、步骤2)设置蜂群的个体数量、食物源空间维数、算法最大迭代次数及最大搜索次数,每个食物源与唯一的分簇决策对应;
10、步骤3)将蜂群划分为雇佣蜂和观察蜂,初始化雇佣蜂的食物源;
11、步骤4)每个雇佣蜂在其邻域内进行新食物源搜索,根据适应度函数计算新旧食物源的适应度,选择适应度高的食物源进行位置更新;
12、步骤5)计算雇佣蜂的食物源被选取的概率,利用轮盘赌算法确定观察蜂需要搜索的雇佣蜂食物源;
13、步骤6)每个观察蜂在选中的雇佣蜂食物源领域内进行新食物源搜索,根据适应度函数计算新旧食物源的适应度,选择适应度高的食物源进行位置更新;
14、步骤7)判断如果观察蜂在最大搜索次数后仍没找到更优的食物源,则放弃当前雇佣蜂的食物源,并执行步骤8),否则进一步判断如果达到算法最大迭代次数,则执行步骤9),否则继续执行步骤6);
15、步骤8)将雇佣蜂转化侦察蜂后进行随机搜索,将随机食物源替换雇佣蜂的旧食物源,进一步判断如果达到算法最大迭代次数,则执行步骤9),否则继续执行步骤4);
16、步骤9)输出适应度最高的食物源对应的分簇决策。
17、进一步优选地,所述的步骤6)还包括:
18、对观察蜂进行一次个体复制,以其中一只相同的观察蜂对选中的雇佣蜂食物源进行搜索,然后以雇佣蜂食物源为中心,对另一只相同的观察蜂的搜索位置实施镜像更新;
19、比较雇佣蜂的食物源、两只相同的观察蜂搜索的食物源之间的适应度,选择适应度高的食物源进行位置更新。
20、进一步优选地,所述的总能量包括初始路由路径上各节点的节点耗能总和,所述的节点耗能包括节点接收和转发数据所消耗的能量。
21、进一步优选地,所述的离散度采用标准差法生成,生成过程包括:
22、统计候选路由路径上所有节点的节点剩余能量均值;
23、计算各节点剩余能量与其均值离差平方的平均数,对方差求平方根,将获得的标准差作为候选路由路径关于节点剩余能量的离散度。
24、进一步优选地,所述的数据转发路径生成过程包括:为通道能量宽度与离散度设定权重系数,对通道能量宽度的倒数与离散度进行加权,选择权值最低的候选路由路径作为最终的数据转发路径。
25、在另一方面,本发明还提供了一种基于物联网应用的wsn分簇路由系统,所述的路由系统设置于wsn控制中心,所述的wsn控制中心与汇聚节点连接,通过汇聚节点采集簇头节点发送的感知数据,所述的感知数据包括簇头节点管辖的簇成员的状态数据和监测数据,所述的路由系统包括:
26、分簇决策优化模块:利用人工蜂群算法对分簇决策进行优化,获得最优分簇决策;
27、初始路由生成模块:根据最优分簇决策建立源节点到汇聚节点之间的初始路由路径;
28、候选路由生成模块:计算每个初始路由路径在执行单位数据转发时所消耗的总能量,选择能耗最低的部分初始路由路径作为候选路由路径;
29、转发路径选择模块:获取每个候选路由路径上各节点的剩余能量,选择最低剩余能量作为候选路由路径的通道能量宽度,进一步计算候选路由路径关于节点剩余能量的离散度,以通道能量宽度和离散度作为约束条件从候选路由路径选择数据转发路径。
30、本发明提供的wsn分簇路由方法及路由系统的有益效果:
31、利用人工蜂群算法解决wsn分簇优化问题,相比于遗传、人工神经网络等元启发式算法,人工蜂群算法使用了较少的控制参数,对算力要求不高,极大地降低了数据处理延迟和能耗,特别适用于对感知数据时效性要求高、传感器有限储能的苛刻环境,通过雇佣蜂与观察蜂分工合作以及侦察蜂之间的转换,使得算法在每次迭代过程中都会进行全局和局部的最优解搜索,找到最优解的概率大大增加,相比于蚁群算法具有较强地跳出局部最优的能力。
32、实施改进的蜂群优化算法,对观察蜂个体实施克隆,在同一个位置获得两只相同的侦察蜂个体,然后以雇佣蜂的食物源为中心,控制两只侦察蜂个体在镜像位置上寻觅新食物源,再比较前后三个食物源的适应度,选择适应度最高的食物源进行位置更新,通过在雇佣蜂食物源附近双向寻优,进一步增强了算法跳出局部最优的能力,同时提高了算法的收敛速度。
33、在路由发现阶段,从初始路由路径中选择总能耗相对较低的路径作为候选路由路径,考虑到路由路径中各节点的剩余能量存在差异,计算候选路由路径关于节点剩余能量的离散度,从通道能量宽度高的路径集中择优选择离散度较低的路径作为最终的数据转发路径,离散度越低则路径中节点间的剩余能量差异越小,也就使得能量消耗分布越均匀,减少因部分节点电能过快耗尽使其周围区域仍存活的节点形成孤岛现象,提高wsn节点资源利用率。