本发明属于通信技术领域,具体地说是一种无线网络路径优化方法及系统。
背景技术:
无线传感器网络(wirelesssensornetworks,wsn)综合了嵌入式技术、无线通信技术、传感器技术和分布式信息处理技术等,由大量能量有限传感器节点以多跳自组织方式形成一个无线网络,其在工业生产、生物医疗、环境监测、军事国防等领域具有十分广阔的应用前景。
相对于传统无线网络,无线传感器网络上节点能量有限,且不能更换,因此保证网络能稳定的运行是无线传感器网络的一个非常重要的问题,即找到一条源节点到目标节点数据传输最优路径成为重要,使无线传感器网络生命周期最大化。由于传感器节点能量有限,路径优化设计不仅考虑数据传输路径的长度,还要考虑节省能量和网络能量均衡等问题,因此无线传感器网络路径优化是一个典型多目标优化问题。
工业现场能耗数据采集环境复杂,能源网关设备的数量、安置位置和传输方式呈现多样不确定性,由网关组成的网络节点和通讯链路构成整个实时变化的拓扑网络系统,而实际应用中由于应用环境复杂性、网络传输不确定性、多节点带宽共享等问题的存在,可能导致某一通信链路的时延突然增大、数据丢失,甚至是链路中断等问题。
技术实现要素:
为解决上述技术问题,本发明提供了一种无线网络路径优化方法和系统。
为了解决上述技术问题,本发明采取以下技术方案:
一种无线网络路径优化方法,包括以下步骤:
s11,获取网络的源节点与目标节点;
s12,从源节点出发,通过遗传算法找到适应度值大于预设值的若干个优节点;
s13,将若干个优节点作为初始节点,通过a*算法找出各个初始节点到目标节点的最短路径;
s14,计算各条最短路径的长度并进行比较,从中选取长度最小的最短路径,提取出该长度最小的最短路径的初始节点,并保存;
s15,判断步骤s14中提取得到的初始节点是否为目标节点,若是,则按顺序输出所有已经保存的节点,得到最优网络路径,否则返回到步骤s12中重新进行计算和判断。
所述步骤s12具体包括:
s12.1,对数据进行编码,生成初始父代群体,编码公式为
其中,x表示区间内的变量,[a,b]表示这个数据的区间,l表示这个区间的长度,[s]2表示二进制串;
s12.2,计算所有的父代群体中的各个个体的适应度值,保存适应度值大于预设值的节点。
所述步骤s12.2具体为:
计算适应度值时,采用适应度值函数:
f(p)=α1m1(p)+α2m2(p)+α3m3(p)
其中,f(p)为总的权值和,α1、α2、α3分别为路径长度、能量消耗和网络能量均衡在适应度函数中的权重,m1(p)、m2(p)、m3(p)分别代表路径长度、能量消耗和网络能量均衡;
通过公式
m2(p)为路径能量消耗,与节点的发射功率、能量消耗和路径长度的平方成正比;
m3(p)为网络能量均衡消耗,可通过公式:
所述步骤s12.2中,若计算得到的各个个体的适应度值都小于预设值,则对父代群体进行选择、交叉、变异处理,具体为:首先在父代群体中的个体编码串中随机设定一个变异节点,随后计算该变异节点的自适应变异概率,最后用自适应变异概率对父代个体变异基因进行非均匀变异,产生一个服从非均匀变异的随机值,用来替换变异节点上的原有值,以产生新的个体,然后再重新计算该新的个体的适应度值,直到产生适应度值大于预设值的节点。
所述对父代群体进行选择处理时,具体采用轮盘赌选择法:通过各个个体的累计概率
采用单点交叉方法对父代群体交叉处理,对两个父代群体中的个体中某节点之后的编码进行互换操作;
最后用非均匀变异概率方法对群体进行变异处理。
所述进行非均匀变异概率方法进行变异处理时,非均匀变异概率的计算公式具体为:
其中,pm为变异概率,pmax和pmin分别为最大和最小变异概率,fmax和favg分别为当前群体中的最大适应度值和平均适应度值,f为该个体的适应度值。
所述步骤s13中采用的a*算法,具体公式为:
f(n)=g(n)+h(n)
其中,f(n)是从初始状节点经由节点n到目标节点的距离估值,g(n)是在从初始节点到节点n的距离的实际值,h(n)是从状态n到目标节点的距离估值;
具体包括以下步骤:
s13.1,确定初始节点与目标节点,将初始节点放入open表,close表置空;
s13.2,将open表中的表头点放入close表中,将初始节点的所有后继点展开,也就是与初始节点直接关联的后继点放入open表,同时计算每一个后继节点的距离估值f(n),并按f(n)升序排列;
s13.3,重复步骤s13.2,直至最后将目标节点放入close表中,这群节点的排列就是该初始节点开始到目标节点的最短路径。
一种无线网络的优化系统,所述系统包括:
获取单元,用于获取网络的源节点与目标节点;
寻找单元,用于从源节点出发,通过遗传算法找到大于预设值的若干个优节点;
最短路径计算单元,用于通过a*算法找出若干个优节点到目标节点的最短路径;
比较单元,用于比较得到的各条最短路径的长短;
判断单元,用于判断当前节点是否为目标节点,若是,则按顺序输出所有已经保存的节点,否则返回到寻找单元搜寻新的优节点。
本发明采用了遗传算法与a*算法的结合,融合了两种算法的优点,使寻找到的路径为最优路径,从而确保系统稳定、可靠以及高效运行,延长了网络的使用寿命。
附图说明
附图1为本发明流程示意图;
附图2为本发明遗传算法的流程图示意图
附图3为本发明带权有向示意图;
附图4为本发明中a*算法示意图。
具体实施方式
为能进一步了解本发明的特征、技术手段以及所达到的具体目的、功能,下面结合附图与具体实施方式对本发明作进一步详细描述。
如附图1所示,本发明揭示了一种无线网络路径优化方法,包括以下步骤:
s11,获取网络的源节点与目标节点。
s12,从源节点出发,通过遗传算法找到适应度值大于预设值的若干个优节点。从源节点开始,将每一个节点都计算得到相应的适应度值,与适应度值的预设值比较,大于预设值的就选取出来。
s13,将若干个优节点作为初始节点,通过a*算法找出各个初始节点到目标节点的最短路径。每一个优节点到目标节点具有多条路径,其中距离最短的为最短路径。有多少个优节点,相应的具有多少个最短路径。
s14,计算各条最短路径的长度并进行比较,从中选取长度最小的最短路径,提取出该长度最小的最短路径的初始节点,并保存。
s15,判断步骤s14中提取得到的初始节点是否为目标节点,若是,则按顺序输出所有已经保存的节点,得到最优网络路径,否则返回到步骤s12中重新进行计算和判断。
所述步骤s12具体包括:
s12.1,对数据进行编码,生成初始父代群体,编码公式为
其中,x表示区间内的变量,[a,b]表示这个数据的区间,l表示这个区间的长度,[s]2表示二进制串。
s12.2,计算所有的父代群体中的各个个体的适应度值,保存适应度值大于预设值的节点。可行路径适应度值的计算需要考虑路径长度、能量消耗和网络能量均衡等因素。由于其他因素对网络的影响比较小,因此只考虑这三个因素,舍弃其他因素,本发明优化的目的是尽量避免能量较少的节点,以达到对网络的均衡消耗,延长网络寿命的目的,因此本发明定义了一个n节点可行路径适应度函数:
f(p)=α1m1(p)+α2m2(p)+α3m3(p)+...+αnmn
其中,α1、α2、α3、...、αn分别为路径选择所需要考虑的影响属性在适应度函数中所占的权重,如距离、能量消耗和网络能量均衡消耗等这些属性在适应度函数中的权重,且α1+α2+α3+...+αn=1;由于其他因素对网络的影响比较小,因此本发明的可行路径适应度值的计算只考虑路径长度、能量消耗和网络能量均衡这三个因素,舍弃其他因素,则适度值函数公式简化为:
f(p)=α1m1(p)+α2m2(p)+α3m3(p)
其中,f(p)为总的权值和,α1、α2、α3分别为路径长度、能量消耗和网络能量均衡在适应度函数中的权重,m1(p)、m2(p)、m3(p)分别代表路径长度、能量消耗和网络能量均衡。
通过公式
m2(p)为路径能量消耗,与节点的发射功率、能量消耗和路径长度的平方成正比。
m3(p)为网络能量均衡消耗,可通过公式:
所述步骤s12.2中,若计算得到的各个个体的适应度值都小于预设值,则对父代群体进行选择、交叉、变异处理,具体为:首先在父代群体中的个体编码串中随机设定一个变异节点,随后计算该变异节点的自适应变异概率,最后用自适应变异概率对父代个体变异基因进行非均匀变异,产生一个服从非均匀变异的随机值,用来替换变异节点上的原有值,以产生新的个体,然后再重新计算该新的个体的适应度值,直到产生适应度值大于预设值的节点。
所述对父代群体进行选择处理时,具体采用轮盘赌选择法:通过各个个体的累计概率
采用单点交叉方法对父代群体交叉处理,对两个父代群体中的个体中某节点之后的编码进行互换操作。
最后用非均匀变异概率方法对群体进行变异处理。
所述进行非均匀变异概率方法进行变异处理时,非均匀变异概率的计算公式具体为:
其中,pm为变异概率,pmax和pmin分别为最大和最小变异概率,fmax和favg分别为当前群体中的最大适应度值和平均适应度值,f为该个体的适应度值。
所述步骤s13中采用的a*算法,具体公式为:
f(n)=g(n)+h(n)
其中,f(n)是从初始状节点经由节点n到目标节点的距离估值,g(n)是在从初始节点到节点n的距离的实际值,h(n)是从状态n到目标节点的距离估值。
具体包括以下步骤:
s13.1,确定初始节点与目标节点,将初始节点放入open表,close表置空。
s13.2,将open表中的表头点放入close表中,将初始节点的所有后继点展开,也就是与初始节点直接关联的后继点放入open表,同时计算每一个后继节点的距离估值f(n),并按f(n)升序排列,{如:(n3,50)(n1,80)(n4,90)}。
s13.3,重复步骤s13.2,直至最后将目标节点放入close表中,这群节点的排列就是该初始节点开始到目标节点的最短路径,{如:(n0,0)(n3,50)(n4,70)(n6,50)(n1,80)(n7,70)}。
另外,本发明还揭示了一种无线网络的优化系统,所述系统包括:
获取单元,用于获取网络的源节点与目标节点;寻找单元,用于从源节点出发,通过遗传算法找到大于预设值的若干个优节点;最短路径计算单元,用于通过a*算法找出若干个优节点到目标节点的最短路径;比较单元,用于比较得到的各条最短路径的长短;判断单元,用于判断当前节点是否为目标节点,若是,则按顺序输出所有已经保存的节点,否则返回到寻找单元搜寻新的优节点。
需要说明的是,以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但是凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。