一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于蚁群优化的大规模自组网多点中继选择方法与流程

2023-02-04 12:15:10 来源:中国专利 TAG:


1.本发明涉及计算机领域的优化技术和移动通信领域的自组网技术领域,具体涉及一种基 于蚁群优化的大规模自组网多点中继选择方法。


背景技术:

2.近些年来,在民用领域和军用领域,移动自组网的发展变得越来越引人注目,其中无人 机(uav,unmanned aerial vehicle)凭借其体积小、成本低、便于部署等优势在实时监控、搜寻 救援、中继传输、战略打击等方面都得到了广泛的应用。然而无人机自组织网络具有节点移 动性强、网络拓扑变化快、数据交互频繁、能量消耗大等特点,传统的路由算法已经无法满足 其对网络传输延迟、丢包率、路由开销等方面上的要求。
3.最优链路状态路由(olsr,optimized link state routing)协议是一种经典的链路状态协 议,其通过在节点间广播hello分组来完成链路探测,邻居发现,以及多点中继 (mpr,multi-point relay)节点的选择。利用拓扑控制(tc,topology control)分组在获取mpr节 点信息后建立和维护网络的整个拓扑,并最终运用dijkrastra算法计算路径,生成路由。其中 mpr节点的选择至关重要,每个节点都只会将其tc分组发送至其对应的mpr节点,以减少网 络间的控制包数量。文献[8]提及,选择最优的mpr集是np难问题。传统方式对mpr集进行 选择往往采用贪心算法,优先选取覆盖源节点二跳邻居最多的一跳节点。这样会造成很大的 冗余,进而导致协议的开销增大,网络间的延迟上升。很多学者都从不同角度上对mpr的选 取算法进行了改进。有学者采用最小最大算法,以减少每个节点上的tc分组数量。有学者提 出一种基于集合的mpr选择算法,通过结合循环和集合操作,可以有效地消除无效的冗余节 点。还有学者提出了基于扩展为三跳的相邻节点的本地数据库的mpr选择,mpr的选择使用 olsr中现有的算法,结果表明其在tc数据包数量和能源效率方面优于标准olsr。
[0004]
蚁群算法(aco,ant colony optimization)是对现实世界中真实的蚁群觅食行为的抽象和 改进,是一种智能优化的启发式算法。蚂蚁通过在觅食过程中移动所留下的信息素来向其他 蚂蚁传递信息,其他蚂蚁根据不同路径信息素的浓度来决定其下一步路径。蚁群算法的优势 在于其搜索具有全局性,而传统的贪心算法无法考虑到全局的情况,往往陷入局部最优。蚁 群算法利用随机概率选择下一跳路径,当信息素积累,概率增加到1时,算法便会退化为贪 心算法。单一的蚁群算法虽然在贪心算法的基础上有所改进。但仍然存在迭代时间过长而陷 入局部最优的问题


技术实现要素:

[0005]
本发明目的是针对上述技术的不足,提供一种基于蚁群优化的大规模自组网多点中继选 择方法,该方法结合蚁群算法的全局搜索能力,考虑到无人机自组网的特性,将本地节点三 跳邻居数据库引入蚁群的路径选择函数中,同时考虑节点的速度,对aco算法原有的路径选 择以及状态更新机制进行了改进,将蚁群优化应用于求解mpr集合问题中,达
到了优化mpr 集合的目的,最后将其集成于qualnet网络仿真软件系统中,很好地验证了发明所提出算法 的性能。
[0006]
本发明解决其技术问题所采用的技术方案是:一种基于蚁群优化的大规模自组网多点中 继选择方法,该方法包括如下步骤:
[0007]
步骤1:初始化源节点一跳邻居集合s1,二跳邻居集合s2,三跳邻居集合s3,蚂蚁的数 目num_ants每只蚂蚁访问过的节点数组visit,当前未被覆盖的二跳邻居节点个数 uncover_s2,蚁群的总循环次数total_iteration;
[0008]
步骤2:当目前的迭代次数小于总循环次数时,做如下步骤:初始化每只蚂蚁的起始节点, 并将其记录入每只蚂蚁的visit数组中,初始化每只蚂蚁当前的一跳邻居集合cur_s1,当前二 跳集合cur_s2,当前三跳集合cur_s3;
[0009]
步骤3:对每只蚂蚁,当目前的uncover_s2》0时,做如下步骤:根据本发明提出的路径 概率选择公式计算出蚂蚁选择其他节点的概率,依据轮盘赌选择法选择出当前蚂蚁的下一跳 选择,更新visit数组,cur_s1,cur_s2,cur_s3数组,将已选择的节点对应的节点覆盖,对每只 蚂蚁根据当前visit数组情况,更新cur_solu和best_solu;
[0010]
步骤4:依据本发明提出的信息素更新方法,对当前路径进行更新。
[0011]
进一步地,本发明所述步骤3中,路径概率选择公式为:
[0012][0013]
其中,α表示信息素的启发式因子,β表示两跳权重的启发因子,γ表示三跳权重的启发 因子,ε表示节点相对速度的启发因子,τ(i)表示节点i上持有的信息素的浓度,μ(i)表示节 点i所覆盖源节点二跳邻居的权重,η(i)表示节点i所覆盖源节点三跳邻居的权重,ν(i)表示 目标节点i移动速度对概率选择的影响公式。
[0014]
进一步地,本发明所述步骤4中,信息素更新公式为:
[0015]
τi(t 1)=(1-ρ)
·
τi(t) δτi(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0016]
其中ρ为阶段性的信息素的挥发率,τi(t)为更新前节点i上的信息素增量,τi(t 1)为更新 后节点i上的信息素增量;
[0017][0018]
其中ite
cur
代表当前的迭代次数,ite
max
代表设置的最大迭代次数;
[0019][0020][0021]
其中代表蚂蚁k在迭代过程中释放在去往i节点路径的的信息素,cursek为
当前迭 代的解,q值为初始信息素常量。
[0022]
有益效果:
[0023]
1.本发明能够有效降低选取的mpr集合大小,进而降低网络丢包率,提升网络的吞吐量。 将蚁群算法引入mpr集合的选择过程中,将本地三跳邻居数据库以及速度考量加入节点的路 径选择决策中,对于信息素的更新,采取了全局信息素更新规则对路径上的信息素进行更新 以防止算法收敛于局部最优解。
[0024]
2.本发明克服了传统mpr选择算法容易产生冗余的问题,以及无法适应于现在的大规模 自组网的困难。
[0025]
3.本发明结合蚁群算法的全局搜索能力,考虑到无人机自组网的特性,将本地节点三跳 邻居数据库引入蚁群的路径选择函数中,同时考虑节点的速度,对aco算法原有的路径选择 以及状态更新机制进行了改进,将蚁群优化应用于求解mpr集合问题中,达到了优化mpr 集合的目的,最后将其集成于qualnet网络仿真软件系统中,很好地验证了发明所提出算法 的性能。
具体实施方式
[0026]
下面对本发明创造作进一步地的详细说明。
[0027]
实施例一
[0028]
本发明提供了一种基于蚁群优化的大规模自组网多点中继选择方法,该方法结合蚁群算 法的全局搜索能力,考虑到无人机自组网的特性,将本地节点三跳邻居数据库引入蚁群的路 径选择函数中,同时考虑节点的速度,对aco算法原有的路径选择以及状态更新机制进行了 改进,将蚁群优化应用于求解mpr集合问题中,达到了优化mpr集合的目的,最后将其集成 于qualnet网络仿真软件系统中,很好地验证了发明所提出算法的性能。具体包括:
[0029]
s1:目标函数
[0030]
在当前的mpr选取问题中,假设共有m个节点,其中源节点为a,定义源节点的一跳集合 s1,且|s1|=n,源节点的严格二跳邻居集合s2,源节点的严格三跳邻居集合s3,其中 |s1| |s2| |s3| 1=m。假设共有k只蚂蚁,resk代表第k只蚂蚁在当前迭代中所得到的mpr解集合 中的元素个数。targetj∈{0,1}(j=1,2...n)代表对当前蚂蚁是否将s1j选入mpr集合。对于每只蚂 蚁其最优解对于该问题,全局的最优解bestsolu=min|resk|。本算法的目标 是在考虑无人机网络节点移动性的同时,不断优化resk的取值,以使最后所得的bestsolu取得 理想的最小值,以适应当前复杂的无人机自组网的需要。
[0031]
s2:节点路径选择
[0032]
蚁群算法的全局搜索能力,就在于其下一跳路径的选择不是绝对的,蚂蚁在移动过程中, 会动态更新信息素、权值等关键信息,并依据这些因素选取最符合的路径。令表示蚂蚁k 选择节点i(i=1,2,...,n)作为下一个选入mpr集合的节点的概率,可得:
[0033][0034]
其中,α表示信息素的启发式因子,β表示两跳权重的启发因子,γ表示三跳权重的启 发因子,ε表示节点相对速度的启发因子。其中,α∈(0,1),β∈(0,1),γ∈(0,1),ε∈(0,1)。α 的值越大,当前蚂蚁收到其他蚂蚁遗留信息素的影响就越大。β、γ、ε代表了对应启发因 子的重要程度。当α为1,β、γ、ε为0,此时蚁群算法就退化成了传统的贪心算法。
[0035]
τ(i)表示节点i上持有的信息素的浓度,μ(i)表示节点i所覆盖源节点二跳邻居的权重。η(i) 表示节点i所覆盖源节点三跳邻居的权重。ν(i)表示目标节点i移动速度对概率选择的影响公 式。allowed(s1)k表示蚂蚁k允许加入其mpr集的节点集合。
[0036]
对于η(i)引入三跳邻居的本地数据库加入mpr的附加决策函数中,可以达到进一步优化 mpr的目的[10]。
[0037]
对于当speedi》0时,表示节点在向自身移动,当speedi《0时,表示节点在向 自身远离。对于无人机系统网络,我们希望节点间尽可能达到稳定的动态平衡。当一跳节点 与源节点达到理想上相对静止时,其作为mpr节点的概率就最大。当一跳节点相对源节点速 度过快时,不论是驶向或驶离源节点,都将此节点视为不稳定,其作为mpr节点的概率会随 移动速度的增大而减小。
[0038]
s3:信息素更新
[0039]
蚁群算法中,路径上的信息素会随着所经过蚂蚁的增加而不断累积,往往大量已走过的 非最优路径上的信息素浓度不断累积,而未被选择过的路径上信息素浓度不断降低,真正可 能的最优路径可能就存在于未被选择过的路径中,这时算法就陷入了局部最优解中。
[0040]
为防止算法收敛于局部最优解,抑或者收敛过慢。本文采取采取了全局信息素更新规则 对路径上的信息素进行更新。相较于传统aco算法对所有到达目的节点的蚂蚁所经过的路径 上的信息素进行更新,本文对当前迭代过程中的最优路径进行进一步的信息素积累,对最差 路径进行进一步的挥发来予以惩罚。这样有利于更快地排除相对较差的路径,同时突出较好 的路径,从而加快算法的收敛,减少算法陷入局部最优的概率。
[0041]
信息素的更新公式如下:
[0042][0043]
其中
·
为阶段性的信息素的挥发率,τi(t)为更新前节点i上的信息素增量,τi(t 1)为更新 后节点i上的信息素增量,具体定义如下:
[0044][0045]
其中itecur代表当前的迭代次数,itemax代表设置的最大迭代次数。
[0046][0047][0048]
其中代表蚂蚁k在迭代过程中释放在去往i节点路径的的信息素。cursek为当前迭代 的解。对于cursek来说,值越小越接近当前迭代的最优解,其所经过路径上的信息素沉积量 就越大,反之,对值越大的路径给予惩罚,其经过路径上的信息素沉积量显著降低了,这有 利于蚂蚁选择更小的mpr集合,获取最优解。
[0049]
由于每轮迭代的结果可能不同,这使得更多路径上的信息素将会得到积累,并且就阶段 性的信息素挥发系数来说,挥发率的初值较高,有利于蚂蚁对所有路径进行更加全面的搜索, 避免陷入局部最优。随着迭代次数的增多,挥发率不断降低,可以让蚂蚁逐渐汇集到最优路 径上。
[0050]
当信息素更新时,为防止某个最优节点被选取自身时信息素过小而难以被选取,或者某 个节点上的信息素浓度过大,导致路径搜索过程过早停滞,从而错过更优的路径。为每个节 点的信息素设置上限phe
max
,同时设置下限phe
min
,使得节点的信息素恒在[phe
min
,phe
max
] 之内。
[0051]
实施例二
[0052]
本发明为验证发明中所述算法的可行性,已使用qualnet网络仿真平台进行仿真。每个节 点都采用qualnet自带的random waypoint移动模型,整个场景规模为1500m*1500m,采用了 qualnet中olsr协议,并将本发明算法加入到mpr选择的过程中。在不同的网络拓扑和网络密 集度下将本算法比较了采用贪心策略的mpr算法,传统蚁群算法(aco)进行了对比,结果显 示本算法在大规模自组网情况下,对降低mpr集大小,减少网络的丢包率,提高网络的吞吐 量都表现较优。
[0053]
本发明整个算法的框架为:蚂蚁的数目num_ants,当前迭代次数ite,总的迭代次数 total_iteration,每只蚂蚁访问过的节点数组visit,当前未被覆盖的二跳邻居节点个数 uncover_s2,当前蚂蚁选择mpr集合大小cur_solu。历史最优的mpr集大小best_solu。
[0054]
初始化源节点一跳邻居集合s1,二跳邻居集合s2,三跳邻居集合s3等。
[0055]
初始化每只蚂蚁的起始节点,并将其记录入每只蚂蚁的visit数组中。初始化每只蚂蚁当 前的一跳邻居集合cur_s1,当前二跳集合cur_s2,当前三跳集合cur_s3。
[0056]
根据之前的路径概率选择公式(2)计算出蚂蚁选择其他节点的概率。
[0057]
依据轮盘赌选择法选择出当前蚂蚁的下一跳选择。
[0058]
更新visit数组,cur_s1,cur_s2,cur_s3数组,将已选择的节点对应的节点覆盖。
[0059]
对每只蚂蚁根据当前visit数组情况,更新cur_solu和best_solu。
[0060]
根据上述提出的更新信息素的方法对路径信息素进行更新。
[0061]
以上所述仅为本发明的较佳实施方式,本发明并不局限于上述实施方式,在实施过程中 可能存在局部微小的结构改动。如果对本发明的各种改动或变型不脱离本发明的精神和范围, 且属于本发明的权利要求和同等技术范围之内,则本发明也意图包含这写改动和变型。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献