一种基于贪婪蚁群算法在移动自组网中进行广播的方法及系统与流程

文档序号:18562131发布日期:2019-08-30 23:26阅读:184来源:国知局
一种基于贪婪蚁群算法在移动自组网中进行广播的方法及系统与流程

本发明涉及数据通信技术领域,尤其涉及一种基于贪婪蚁群算法在移动自组网中进行广播的方法及系统。



背景技术:

移动自组网是一种适应于军事领域和民用领域的网络结构,由没有固定基础设施的可移动性节点构成的动态无线传感网络,网络中的每个节点都可以充当主机或路由器,具有无中心节点、独立自组网、多跳路由,网络拓扑结构变化快等特点。移动自组网最初应用于军事领域。上世纪70年代开始,美国军方资助研究在战场环境中使用分组无线网进行通信,直到1991年5月成立的ieee802.01标准委员会采用“adhoc网络”来描述这种特殊的可移动多跳的通信网络。近年来,移动自组网除军事领域外,还被广泛的应用于民用领域,比如紧急抢险救灾、野外通信、车载网、个人区域网等。由于路由节点的可移动性,资源有限性,导致移动自组网中存在许多传统网络中未曾出现的新问题和新挑战。

具体的:在移动自组网中主要通信方式分为单播路由,多播路由和广播。其中广播是一种将信息源处的特定信息传输给网络中其他节点的操作,是最基本的通信方式。常见的广播策略采用的是基于洪泛算法的信息传递方法,这种方法具有覆盖范围广,转发速度快,简单方便的特点。但是在洪泛算法的转发机制下,每个路由节点在接收到数据信息后都会转发给邻居节点,由于邻居节点之间的相互转发,会造成过量的冗余转播,占用过多的网络资源,搭建多余的通信链路,产生大量的重复数据包最终导致广播风暴问题。为解决广播风暴问题,研究学者提出多种应用于广播的算法,比如基于概率的广播算法、基于面积的广播算法、基于计算机的广播算法和基于位置的广播算法。这些算法均致力于减少转发节点的数量,降低广播风暴发生的概率。由于改进后的算法,依然采用邻居节点相互转发信息的方式,仍存在同一节点接收多条重复信息的情况,造成网络资源浪费。

也就是说,现有的技术均存在同一节点接收多条重复信息的情况进而导致网络资源浪费的问题。



技术实现要素:

基于此,为解决在移动自组网中广播通信时存在的同一节点接收多条重复信息的情况进而导致网络资源浪费的不足,特提出了一种基于贪婪蚁群算法在移动自组网中进行广播的方法。

一种基于贪婪蚁群算法在移动自组网中进行广播的方法,包括:

s1、确定信息源节点并进行广播初始化设置,该广播初始化设置至少包括调用移动自组网中其余节点的位置信息和状态信息、初始化广播所需的参数并设置广播结束条件;

s2、对时间间隔δt后当前节点的地理位置进行位移预测以获取对应的预测地理位置并计算出各节点间的距离;

s3、寻找广播过程中信息传输路径并基于所设定的目标函数确定出当前传输路径中的全局最优解,该传输路径是通过采用贪婪蚁群算法对各所述预测地理位置计算获得;

s4、在满足广播结束条件时,输出所述全局最优解对应的信息传输路径;

s5、标识并存储所述s4中的信息传输路径所包含的节点,转发节点根据所述路信息传输路径要求将信息转发给下一跳节点直至完成信息由源节点传输给移动自组织网中其余节点的过程。

可选的,在其中一个实施例中,在所述s1中,所述信息源节点在移动的过程中,通过网络中节点之间的信息交换获取到其余节点的位置信息和状态信息;所述广播所需的参数至少包括:启发信息因子α、信息素浓度因子β、信息挥发因子ρ、信息素增强系数q、跳点数影响因子θ、路径途经节点数激励量ξ、链路带宽bw、总迭代次数no、每次迭代的蚁群数m、蚁群中蚂蚁个数k和移动平台的通信距离r;设置算法结束条件即所述广播结束条件为本方法实际运行的迭代次数大于所设定的总迭代次数no时结束,运行自动停止。

可选的,在其中一个实施例中,在所述s2中,所述预测地理位置是根据当前节点的地理位置信息和状态信息预测时间间隔δt后的地理位置,并将预测后的位置信息即所述预测地理位置作为本方法所述算法的输入量,用于计算出各节点之间的距离,所述时间间隔δt为接收信息时到开始向下一跳节点进行信息广播时的时间间隔;同时设路由节点所处的待广播区域s为一个二维平面建立坐标系,每个节点在坐标系上都有自己对应的位置坐标,则作为路由节点的节点i对应的地理位置信息和状态信息可表示为其中uid为当前待预测位置的节点i的标识信息,(xi,yi)为该节点i的地理位置坐标,vi为该节点i的速度信息,ai为该节点i的加速度信息,为该节点i飞行时的偏转角。

根据下述预测公式获取信息预测时间间隔δt后该节点i的地理位置即所述预测地理位置(x′i,y′i),对应的预测公式如下:

可选的,在其中一个实施例中,在所述s3中,为整个蚁群设置一个禁忌列表:

tabuj,j∈{1,2…,m}(2)

其中,tabuj表示第j个蚁群的禁忌列表,m为每次迭代过程中总的蚁群数,且每个蚁群中有h只蚂蚁。

可选的,在其中一个实施例中,在所述s3中,为所述贪婪蚁群算法的设置约束条件,即设每条独立路径上的节点个数最大为n,其中,n≤n,整个的信息传输路径途经的节点数为m。

可选的,在其中一个实施例中,在所述s3中,通过比较总移动路由节点个数n与整个的信息传输路径途经的节点数确定每个蚁群的寻径方式,即当n=m时,当前蚁群的寻径方式为方式--一直接寻径,当n>m时为方式二--路径扩展寻径方式。

可选的,在其中一个实施例中,在所述s3中,所述路径扩展寻径方式为设总节点集合为v,所述路径扩展寻径方式包括:首先,通过将未规划的节点存放在集合von中,将已规划的节点存放在集合vy,且满足条件vy∪von=v;其次,分别计算所述集合von与集合vy中各个节点之间的距离;最后,分别自集合vy中确定出集合von中各个节点所对应的上一跳节点并建立对应通信链路,完成路径扩展过程,其中,自集合vy中确定出集合von中某一个节点所对应的上一跳节点是指自集合vy中确定出距离自己最近的节点,将该节点作为给自己传送信息的节点,使得两节点间建立通信链路以完成某一路径扩展过程。

可选的,在其中一个实施例中,在进行路径规划时蚁群中的蚂蚁需要对转移节点的选择即设定转移节点选择条件,所述转移节点选择条件至少包括:所选择的转移节点是某一路径上的某个蚂蚁当前所在节点的邻居节点即两者距离小于自身的通信距离以及所选择的转移节点是未被规划的节点即不存在禁忌列表tabui中,基于上述转移节点选择条件,则蚂蚁k在节点u向可选节点v的转移概率采用以下公式计算:

其中τuv为路径(u,v)上信息素浓度;ηuv为路径(u,v)上启发信息,duv为链路段(u,v)的长度;α和β为启发信息和信息素浓度在蚂蚁寻径过程中体现出的重要性程度参数,c为节点u的可通信节点集合。

可选的,在其中一个实施例中,在所述s3中,所述目标函数cost(ps)用于确定出当前传输路径中的全局最优解,其是结合了信息传输时间t、总链路条数nsum、链路带宽bw和蚁群规划路径途经的节点个数m建立而成,两种寻径方式对应的公式如下:

可选的,在其中一个实施例中,在所述s3中,在每次迭代结束选择全局最优后,需要对全局最优路径进行信息素浓度更新,为避免上述两种方式信息系浓度更新相互影响,设计下述两种不同的更新公式:

当蚁群通过方式一第一次完成路径规划时,重新初始化信息素浓度表,且不再使用方式二进行寻径,对应的信息素浓度更新方式如下:

当蚁群通过方式一第p次完成路径规划时,p大于1,对应的信息素浓度更新方式依然采用上式(5),即:

其中,δτuv为路径(u,v)上信息素浓度增量;为信息素浓度激励增量;ρ为信息素挥发因子;q为路径段(u,v)上信息素增强系数;δ为信息素激励因子;luv为节点u和节点v之间的欧式距离;t为迭代次数;

当蚁群通过方式二完成路径规划时,对应的信息素浓度更新方式如下:

其中γ为跳点系数,与路径上的跳点个数有关;θ为跳点个数影响因子,luv为节点u和节点v之间的欧式距离;当m>n时,γ=m·ξ,ξ>1;当m≤n时,γ=m。

s4、在满足广播结束条件时,输出所述全局最优解对应的信息传输路径;

s5、标识并存储所述s4中的信息传输路径所包含的节点,转发节点根据所述路信息传输路径要求将信息转发给下一跳节点直至完成信息由源节点传输给移动自组织网中其余节点的过程。

基于相同的发明构思,本发明还提出了一种基于贪婪蚁群算法在移动自组网中进行广播的系统,包括:

第一数据获取单元,其用于确定信息源节点并进行广播初始化设置,该广播初始化设置至少包括调用移动自组网中其余节点的位置信息和状态信息、初始化广播所需的参数并设置广播结束条件;

第二数据获取单元,其用于对时间间隔δt后当前节点进行位移预测以获取对应的预测地理位置并计算出各节点的距离;

第三数据获取单元,其用于寻找广播过程中信息传输路径并基于所设定的目标函数确定出当前传输路径中的全局最优解,该传输路径是通过采用贪婪蚁群算法对所述预测地理位置计算获得;

第四数据获取单元,其用于在满足广播结束条件时,输出所述全局最优解对应的信息传输路径;

第五数据获取单元,其用于标识并存储所述s4中的信息传输路径所包含的节点,转发节点根据所述路信息传输路径要求将信息转发给下一跳节点;直至完成信息由源节点传输给移动自组织网中其余节点的过程。

此外,还提出了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行所述的方法。

实施本发明实施例,将具有如下有益效果:

采用了本发明所述的将上述贪婪算法和蚁群算法相结合技术之后,解决了传统技术应用在移动自组网的信息广播问题上。本发明以结合了蚁群算法的动态寻优特性和贪婪算法的局部寻优特性的贪婪蚁群算法为技术核心,对移动自组网中源节点广播重要信息时的路由路径进行合理规划,并根据目标函数选择最优路径,达到将信息传输给全部节点的目的。具体的,其一方面利用贪婪算法求最优局部解的思想,缩小了蚁群算法中蚂蚁选择转移节点的范围,极大的减少了蚁群算法的计算量即在蚁群寻径过程中,将贪婪算法求局部最优解的思想应用在蚁群对转移节点的选择上,实现了每个节点在传输过程中只接收一次信息,以此避免同一节点多次接收相同信息的情况。另一方面通过改进蚁群算法信息素浓度更新方式,加快了蚁群的收敛速度,使得蚁群算法能够应用在信息广播问题中,使得贪婪蚁群算法能够适应于需要规划多个节点生成多条路径的信息广播中。相较于其他的广播算法,贪婪蚁群算法能够有效降低重复产生的数据包数量,减少冗余转发,避免网络中发生广播风暴,并且能够规划出最优的信息传输路径,有效降低信息在通信网络中总的传输距离,综上所述,在移动自组网,节点进行信息广播时,采用本发明所对应的广播策略,即可克服广播过程中转发冗余,浪费网络资源的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为一个实施例中实施技术对应的核心步骤流程图;

图2为一个实施例中具体步骤流程图;

图3为一个实施例中移动节点位移预测的运动学模型示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一元件称为第二元件,且类似地,可将第二元件为第一元件。第一元件和第二元件两者都是元件,但其不是同一元件。

解决在面对移动自组网中广播通信时存在的同一节点接收多条重复信息的情况进而导致网络资源浪费的不足,在本实施例中,特提出了一种基于贪婪蚁群算法在移动自组网中进行广播的方法,其主要设计思想为通过多个转移节点建立移动自组网,各个节点利用gps定位自己所处的位置和信息识别技术识别节点标识,使用无线链路采用信息交换的方式获知其余节点的位置信息和状态信息;当某个节点需要进行广播时,建立节点的运动模型,对其余节点进行移位预测,预测出广播发生时各个节点所处的地理位置;然后计算各个节点之间的距离;接着利用贪婪蚁群算法,根据节点间的距离信息规划信息的最优传输路径;最后将路径上途经的节点标识存放在数据包中,接收到数据包的节点根据标识信息转发数据包,由于是利用贪婪蚁群算法在进行路由路径规划时,每个节点只被规划一次在信息传输过程中,只有接收一个转发节点发送的信息,所以本发明可以避免节点接收重复信息的情况。

基于上述设计思想,如图1-图2所示,该贪婪蚁群算法在移动自组网中进行广播的方法具体包括:

s1、确定信息源节点并进行广播初始化设置,该广播初始化设置至少包括调用移动自组网中其余节点的位置信息和状态信息、初始化广播所需的参数并设置广播结束条件;在一些具体的实施例中,假设待广播区域s中存在n个可移动节点,各个节点之间可以通过移动自组网进行通信;同时确定n个节点中的某个节点作为信息源节点并进行信息广播,由于本发明的发明点不在于如何实现自组网以及如何确定信息源节点,因此本例对此并不进行限定。在一些具体的实施例中,所述信息源节点在移动的过程中,通过网络中节点之间的信息交换获取到其余节点的位置信息和状态信息;所述广播所需的参数至少包括:启发信息因子α、信息素浓度因子β、信息挥发因子ρ、信息素增强系数q、跳点数影响因子θ、路径途经节点数激励量ξ、链路带宽bw、总迭代次数no、每次迭代的蚁群数m、蚁群中蚂蚁个数k和移动平台的通信距离r;设置算法结束条件即所述广播结束条件为本方法实际运行的迭代次数大于所设定的总迭代次数no时结束,运行自动停止。

s2、对时间间隔δt后当前节点进行位移预测以获取对应的预测地理位置并计算出各节点的距离;在一些具体的实施例中,所述预测地理位置是根据当前节点的地理位置信息和状态信息预测时间间隔δt后的地理位置,并将预测后的位置信息即所述预测地理位置作为本方法所述算法的输入量,用于计算出各节点之间的距离,所述时间间隔δt为接收信息时到开始向下一跳节点进行信息广播时的时间间隔;进一步,在一些具体的实施例中,当信息源节点需要广播时,调用其余节点的位置和状态信息,进行位移预测,并将预测后的位置信息作为算法输入,用于判断节点距离;具体的,如图3所示,对于每个移动节点,都可以通过它们的移动规律和状态信息在较短的时间间隔δt内预测下一时刻所处的地理位置;但是由于网络中路由节点分布不均匀,需要统一规范,建立统一的全局坐标,设路由节点所处的待广播区域s为一个二维平面建立坐标系,每个节点在坐标系上都有自己对应的位置坐标,则作为路由节点的节点i对应的地理位置信息和状态信息可表示为其中uid为当前待预测位置的节点i的标识信息,(xi,yi)为该节点i的地理位置坐标,vi为该节点i的速度信息,ai为该节点i的加速度信息,为该节点i飞行时的偏转角。

根据下述预测公式获取信息预测时间间隔δt后该节点i的地理位置即所述预测地理位置(x′i,y′i),对应的预测公式如下:

s3、寻找广播过程中信息传输路径并基于所设定的目标函数确定出当前传输路径中的全局最优解,该传输路径是通过采用贪婪蚁群算法对所述预测地理位置计算获得,本步骤的核心是通过所述贪婪蚁群算法中的多只蚂蚁协同完成寻径任务,每次蚁群进行寻径时,蚁群中的蚂蚁根据信息素的高低对道路进行概率选择,多只蚂蚁的寻径结果共同构成一个完整的问题解,同时根据设定的约束条件,使得算法中蚁群的寻径方式分为直接寻径和路径扩展两种并在每次迭代后利用目标函数选择当前的全局最优解,在最优路径上释放信息素,之所以贪婪蚁群算法是因为采用其来缩小下一跳节点的选择范围,因为通常在蚁群算法中,如果不规定选择范围,转发节点可以选择除自身以外的所有节点作为下一跳节点,这样就增加的算法解的范围,而且存在大量不可行解。

进一步,在一些具体的实施例中,由于贪婪蚁群算法是需要蚂蚁之间相互协作完成一次路径规划过程,所以为整个蚁群设置一个禁忌列表:

tabuj,j∈{1,2…,m}(2)

其中,tabuj表示第j个蚁群的禁忌列表,m为每次迭代过程中总的蚁群数,且每个蚁群中有h只蚂蚁,设置禁忌列表的作用是将每只蚂蚁经过的节点放在所述禁忌列表中以限制接下来寻径的蚂蚁对转移节点的选择,则在源节点处没有节点可以选择的蚂蚁会被自动舍弃。进一步,在一些具体的实施例中,由于蚁群规划的完整信息传输路径为多只蚂蚁寻径完成的单独路径组合而成的,为所述贪婪蚁群算法的设置约束条件,即设每条独立路径上的节点个数最大为n,其中,n≤n,整个的信息传输路径途经的节点数为m。进一步,在一些具体的实施例中,通过比较总移动路由节点个数n与整个的信息传输路径途经的节点数确定每个蚁群的寻径方式,即当n=m时,当前蚁群的寻径方式为方式--一直接寻径,当n>m时为方式二--路径扩展寻径方式。进一步,在一些具体的实施例中,之所以在上述贪婪蚁群算法设置两种不同的寻径方式,即除了直接寻径外,添加路径扩展寻径方式是为了将未规划到的节点扩展到蚁群规划的路径上,具体的,设总节点集合为v,所述路径扩展寻径方式包括:首先,通过将未规划的节点存放在集合von中,将已规划的节点存放在集合vy,且满足条件vy∪von=v;其次,分别计算所述集合von与集合vy中各个节点之间的距离;最后,分别自集合vy中确定出集合von中各个节点所对应的上一跳节点并建立对应通信链路,完成路径扩展过程,其中,自集合vy中确定出集合von中某一个节点所对应的上一跳节点是指自集合vy中确定出距离自己最近的节点,将该节点作为给自己传送信息的节点,使得两节点间建立通信链路以完成某一路径扩展过程。进一步,在一些具体的实施例中,在进行路径规划时蚁群中的蚂蚁需要对转移节点的选择,本发明采用采用贪婪算法求解局部最优解的思想,缩小转移节点的选取范围;具体的,设定转移节点选择条件,所述转移节点选择条件至少包括:所选择的转移节点是某一路径上的某个蚂蚁当前所在节点的邻居节点即两者距离小于自身的通信距离以及所选择的转移节点是未被规划的节点即不存在禁忌列表tabui中,基于上述转移节点选择条件,则蚂蚁k在节点u向可选节点v的转移概率采用以下公式计算:

其中τuv为路径(u,v)上信息素浓度;ηuv为路径(u,v)上启发信息,duv为链路段(u,v)的长度;α和β为启发信息和信息素浓度在蚂蚁寻径过程中体现出的重要性程度参数,c为节点u的可通信节点集合。

进一步,在一些具体的实施例中,在所述s3中,所述目标函数cost(ps)用于确定出当前传输路径中的全局最优解,其是结合了信息传输时间t、总链路条数nsum、链路带宽bw和蚁群规划路径途经的节点个数m建立而成,两种寻径方式对应的公式如下:

进一步,在一些具体的实施例中,在每次迭代结束选择全局最优后,需要对全局最优路径进行信息素浓度更新,为避免上述两种方式信息系浓度更新相互影响,设计了两种不同的更新公式:

当蚁群通过方式一第一次完成路径规划时,重新初始化信息素浓度表,且不再使用方式二进行寻径,对应的信息素浓度更新方式如下:

当蚁群通过方式一第p次完成路径规划时,p大于1,对应的信息素浓度更新方式依然采用上式(5),即:

其中,δτuv为路径(u,v)上信息素浓度增量;为信息素浓度激励增量;ρ为信息素挥发因子;q为路径段(u,v)上信息素增强系数;δ为信息素激励因子;luv为节点u和节点v之间的欧式距离;t为迭代次数;

当蚁群通过方式二完成路径规划时,对应的信息素浓度更新方式如下:

其中γ为跳点系数,与路径上的跳点个数有关;θ为跳点个数影响因子,luv为节点u和节点v之间的欧式距离;当m>n时,γ=m·ξ,ξ>1;当m≤n时,γ=m。

s4、在满足广播结束条件时,输出所述全局最优解对应的信息传输路径;

s5、标识并存储所述s4中的信息传输路径所包含的节点,转发节点根据所述路信息传输路径要求将信息转发给下一跳节点(收到信息的节点需要先判断自身通讯范围内能够通讯的所有未收到信息的节点,然后选取距离自己最近的一个作为接收信息的节点)直至完成信息由源节点传输给移动自组织网中其余节点的过程。

基于相同的发明构思,本发明还提出了一种基于贪婪蚁群算法在移动自组网中进行广播的系统,包括:

第一数据获取单元,其用于确定信息源节点并进行广播初始化设置,该广播初始化设置至少包括调用移动自组网中其余节点的位置信息和状态信息、初始化广播所需的参数并设置广播结束条件;在一些具体的实施例中,假设待广播区域s中存在n个可移动节点,各个节点之间可以通过移动自组网进行通信;同时确定n个节点中的某个节点作为信息源节点并进行信息广播,由于本发明的发明点不在于如何实现自组网以及如何确定信息源节点,因此本例对此并不进行限定。在一些具体的实施例中,所述信息源节点在移动的过程中,通过网络中节点之间的信息交换获取到其余节点的位置信息和状态信息;所述广播所需的参数至少包括:启发信息因子α、信息素浓度因子β、信息挥发因子ρ、信息素增强系数q、跳点数影响因子θ、路径途经节点数激励量ξ、链路带宽bw、总迭代次数no、每次迭代的蚁群数m、蚁群中蚂蚁个数k和移动平台的通信距离r;设置算法结束条件即所述广播结束条件为本方法实际运行的迭代次数大于所设定的总迭代次数no时结束,运行自动停止。

第二数据获取单元,其用于对时间间隔δt后当前节点进行位移预测以获取对应的预测地理位置并计算出各节点的距离;在一些具体的实施例中,所述预测地理位置是根据当前节点的地理位置信息和状态信息预测时间间隔δt后的地理位置,并将预测后的位置信息即所述预测地理位置作为本方法所述算法的输入量,用于计算出各节点之间的距离,所述时间间隔δt为接收信息时到开始向下一跳节点进行信息广播时的时间间隔;进一步,在一些具体的实施例中,当信息源节点需要广播时,调用其余节点的位置和状态信息,进行位移预测,并将预测后的位置信息作为算法输入,用于判断节点距离;具体的,如图2所示,对于每个移动节点,都可以通过它们的移动规律和状态信息在较短的时间间隔δt内预测下一时刻所处的地理位置;但是由于网络中路由节点分布不均匀,需要统一规范,建立统一的全局坐标,设路由节点所处的待广播区域s为一个二维平面建立坐标系,每个节点在坐标系上都有自己对应的位置坐标,则作为路由节点的节点i对应的地理位置信息和状态信息可表示为其中uid为当前待预测位置的节点i的标识信息,(xi,yi)为该节点i的地理位置坐标,vi为该节点i的速度信息,ai为该节点i的加速度信息,为该节点i飞行时的偏转角。

根据下述预测公式获取信息预测时间间隔δt后该节点i的地理位置即所述预测地理位置(x′i,y′i),对应的预测公式如下:

第三数据获取单元,其用于寻找广播过程中信息传输路径并基于所设定的目标函数确定出当前传输路径中的全局最优解,该传输路径是通过采用贪婪蚁群算法对所述预测地理位置计算获得,本步骤的核心是通过所述贪婪蚁群算法中的多只蚂蚁协同完成寻径任务,每次蚁群进行寻径时,蚁群中的蚂蚁根据信息素的高低对道路进行概率选择,多只蚂蚁的寻径结果共同构成一个完整的问题解,同时根据设定的约束条件,使得算法中蚁群的寻径方式分为直接寻径和路径扩展两种并在每次迭代后利用目标函数选择当前的全局最优解,在最优路径上释放信息素,之所以贪婪蚁群算法是因为采用其来缩小下一跳节点的选择范围,因为通常在蚁群算法中,如果不规定选择范围,转发节点可以选择除自身以外的所有节点作为下一跳节点,这样就增加的算法解的范围,而且存在大量不可行解。进一步,在一些具体的实施例中,由于贪婪蚁群算法是需要蚂蚁之间相互协作完成一次路径规划过程,所以为整个蚁群设置一个禁忌列表:

tabuj,j∈{1,2…,m}(2)

其中,tabuj表示第j个蚁群的禁忌列表,m为每次迭代过程中总的蚁群数,且每个蚁群中有h只蚂蚁,设置禁忌列表的作用是将每只蚂蚁经过的节点放在所述禁忌列表中以限制接下来寻径的蚂蚁对转移节点的选择,则在源节点处没有节点可以选择的蚂蚁会被自动舍弃。进一步,在一些具体的实施例中,由于蚁群规划的完整信息传输路径为多只蚂蚁寻径完成的单独路径组合而成的,为所述贪婪蚁群算法的设置约束条件,即设每条独立路径上的节点个数最大为n,其中,n≤n,整个的信息传输路径途经的节点数为m。进一步,在一些具体的实施例中,通过比较总移动路由节点个数n与整个的信息传输路径途经的节点数确定每个蚁群的寻径方式,即当n=m时,当前蚁群的寻径方式为方式--一直接寻径,当n>m时为方式二--路径扩展寻径方式。进一步,在一些具体的实施例中,之所以在上述贪婪蚁群算法设置两种不同的寻径方式,即除了直接寻径外,添加路径扩展寻径方式是为了将未规划到的节点扩展到蚁群规划的路径上,具体的,设总节点集合为v,所述路径扩展寻径方式包括:首先,通过将未规划的节点存放在集合von中,将已规划的节点存放在集合vy,且满足条件vy∪von=v;其次,分别计算所述集合von与集合vy中各个节点之间的距离;最后,分别自集合vy中确定出集合von中各个节点所对应的上一跳节点并建立对应通信链路,完成路径扩展过程,其中,自集合vy中确定出集合von中某一个节点所对应的上一跳节点是指自集合vy中确定出距离自己最近的节点,将该节点作为给自己传送信息的节点,使得两节点间建立通信链路以完成某一路径扩展过程。进一步,在一些具体的实施例中,在进行路径规划时蚁群中的蚂蚁需要对转移节点的选择,本发明采用采用贪婪算法求解局部最优解的思想,缩小转移节点的选取范围;具体的,设定转移节点选择条件,在进行路径规划时蚁群中的蚂蚁需要对转移节点的选择即设定转移节点选择条件,所述转移节点选择条件至少包括:所选择的转移节点是某一路径上的某个蚂蚁当前所在节点的邻居节点即两者距离小于自身的通信距离以及所选择的转移节点是未被规划的节点即不存在禁忌列表tabui中,基于上述转移节点选择条件,则蚂蚁k在节点u向可选节点v的转移概率采用以下公式计算:

其中τuv为路径(u,v)上信息素浓度;ηuv为路径(u,v)上启发信息,duv为链路段(u,v)的长度;α和β为启发信息和信息素浓度在蚂蚁寻径过程中体现出的重要性程度参数,c为节点u的可通信节点集合。

进一步,在一些具体的实施例中,在所述s3中,所述目标函数cost(ps)用于确定出当前传输路径中的全局最优解,其是结合了信息传输时间t、总链路条数nsum、链路带宽bw和蚁群规划路径途经的节点个数m建立而成,两种寻径方式对应的公式如下:

进一步,在一些具体的实施例中,在每次迭代结束选择全局最优后,需要对全局最优路径进行信息素浓度更新,为避免上述两种方式信息系浓度更新相互影响,设计了两种不同的更新公式:

当蚁群通过方式一第一次完成路径规划时,重新初始化信息素浓度表,且不再使用方式二进行寻径,对应的信息素浓度更新方式如下:

当蚁群通过方式一第p次完成路径规划时,p大于1,对应的信息素浓度更新方式依然采用上式(5),即:

其中,δτuv为路径(u,v)上信息素浓度增量;为信息素浓度激励增量;ρ为信息素挥发因子;q为路径段(u,v)上信息素增强系数;δ为信息素激励因子;luv为节点u和节点v之间的欧式距离;t为迭代次数;

当蚁群通过方式二完成路径规划时,对应的信息素浓度更新方式如下:

其中γ为跳点系数,与路径上的跳点个数有关;θ为跳点个数影响因子,luv为节点u和节点v之间的欧式距离;当m>n时,γ=m·ξ,ξ>1;当m≤n时,γ=m。

第四数据获取单元,其用于在满足广播结束条件时,输出所述全局最优解对应的信息传输路径;

第五数据获取单元,其用于标识并存储所述s4中的信息传输路径所包含的节点,转发节点根据所述路信息传输路径要求将信息转发给下一跳节点(收到信息的节点需要先判断自身通讯范围内能够通讯的所有未收到信息的节点,然后选取距离自己最近的一个作为接收信息的节点)直至完成信息由源节点传输给移动自组织网中其余节点的过程。

基于相同的发明构思,本发明还提出了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行所述的方法。

实施本发明实施例,将具有如下有益效果:

采用了上述技术之后,解决了传统技术应用在移动自组网的信息广播问题上。本发明以结合了蚁群算法的动态寻优特性和贪婪算法的局部寻优特性的贪婪蚁群算法为技术核心,对移动自组网中源节点广播重要信息时的路由路径进行合理规划,并根据目标函数选择最优路径,达到将信息传输给全部节点的目的。具体的,其一方面利用贪婪算法求最优局部解的思想,缩小了蚁群算法中蚂蚁选择转移节点的范围,极大的减少了蚁群算法的计算量即在蚁群寻径过程中,将贪婪算法求局部最优解的思想应用在蚁群对转移节点的选择上,实现了每个节点在传输过程中只接收一次信息,以此避免同一节点多次接收相同信息的情况。另一方面通过改进蚁群算法信息素浓度更新方式,加快了蚁群的收敛速度,使得蚁群算法能够应用在信息广播问题中,使得贪婪蚁群算法能够适应于需要规划多个节点生成多条路径的信息广播中。相较于其他的广播算法,贪婪蚁群算法能够有效降低重复产生的数据包数量,减少冗余转发,避免网络中发生广播风暴,并且能够规划出最优的信息传输路径,有效降低信息在通信网络中总的传输距离,综上所述,在移动自组网,节点进行信息广播时,采用本发明所对应的广播策略,即可克服广播过程中转发冗余,浪费网络资源的问题。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1