基于分簇结构和改进蚁群算法的分簇路由方法

文档序号:36005891发布日期:2023-11-16 21:14阅读:30来源:国知局
基于分簇结构和改进蚁群算法的分簇路由方法

本发明属于卫星通信领域,涉及一种基于分簇结构和改进蚁群算法的分簇路由方法。


背景技术:

1、小卫星组网应用非常广泛,在智能交通、环境检测、全球通信、gps导航、气象预测、环境与灾难检测、网络资源检测和军事应用等层面都有着非常好的优势。卫星组网的路由协议作为卫星组网通讯的核心,负担着星间数据传输的重任,影响着卫星组网的整体性能。因此,卫星组网路由技术的研究非常必要。

2、大规模小卫星组网利用足够多的小卫星,在地球表面形成一张通讯信息网,布置这种大规模小卫星组网费用昂贵。随着时间的推移,卫星硬件措施越来越发达,小卫星组网需要承载不同的功能和任务,因此现在已经趋向于多个小卫星组网协同工作的模式,由不同类型的小卫星组成不同的小卫星组网,分工合作,小卫星组网的规模由大型转向中小型。目前没有针对中小型规模小卫星组网的分簇路由方法。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种基于分簇结构和改进蚁群算法的分簇路由方法。

2、为达到上述目的,本发明提供如下技术方案:

3、一种基于分簇结构和改进蚁群算法的分簇路由方法,包括以下步骤:

4、s1:根据中小型规模小卫星组网的特点,建立单层覆盖模型;

5、s2:通过预分簇算法进行初始化分簇,将组网规划成若干个簇群;

6、s3:确定每个簇群的簇首;

7、s4:利用簇首的动态竞争半径,完成入簇过程;

8、s5:在簇间数据传输阶段,利用改进的蚁群算法寻找到最优路径。

9、进一步,步骤s1中,针对卫星组网中不同的四种任务模式:源卫星到目的卫星一对一任务模式、源卫星到目的区域一对多任务模式、源区域到目的区域多对多任务模式、源区域到目的卫星多对一任务模式,建立的单层覆盖模型有四种不同的信息传输机制,具体包括:

10、一对一任务模式:源卫星a发送数据到目的卫星b,小卫星组网划分为多个区域即分簇,簇内源卫星a将信息发送给簇首卫星a,簇首卫星a将信息发送给簇首卫星e,簇首卫星e将数据发送给簇首卫星c,通过簇首卫星c传输给簇首卫星b,最后交付给目的卫星所在簇群的簇首卫星b,由簇首卫星b交付给目的卫星b;

11、一对多任务模式:源卫星a所监控的地面信息,需要发送给簇群y中所有的卫星;小卫星组网划分为多个区域即分簇,源卫星a将信息发送给簇首卫星a,簇首卫星a将信息发送给簇首卫星e,簇首卫星e将数据发送给簇首卫星c,通过簇首卫星c传输给簇首卫星b,最后交付给簇群y的簇首卫星b,由簇首卫星b交付给区域内所有卫星;

12、多对一任务模式:簇群x中每个卫星所监控的地面信息,需要进行综合处理,处理完毕需要交付给簇群y中的目的卫星b;小卫星组网划分为多个区域即分簇,簇群x中每个卫星所掌控的信息都传输给簇群x的簇首卫星a,由簇首卫星a进行综合处理,然后通过其他簇首卫星进行数据传输,最后交付给簇群y的簇首卫星b,由卫星b交付给目的卫星b;

13、多对多任务模式:簇群x中每个卫星所监控的地面信息,需要进行综合处理,处理完毕需要交付给簇群y中的每个卫星;小卫星组网划分为多个区域即分簇,簇群x中每个卫星所掌控的信息都传输给簇群x的簇首卫星a,由簇首卫星a进行综合处理,然后通过其他簇首卫星进行数据传输,最后交付给簇群y的簇首卫星b,由卫星b交付给簇群中的每个卫星。

14、进一步,步骤s2中,根据卫星能量损耗模型得到最佳簇首数cbest:

15、

16、式中,n为组网的卫星数量;m为小卫星组网的规模边长;εfs表示自由模式传播模型能耗;εamp表示多路径衰减模式传播模型的能耗;dlm表示低轨卫星到地面接收端的距离;

17、通过最佳簇首数cbest,确定组网最合适的簇群数量,然后通过预分簇算法,将组网进行初始区域划分,避免出现簇首节点分布不均匀的问题。

18、进一步,所述预分簇算法步骤如下:

19、s21:将中小型规模的小卫星组网视作二维平面图,根据最佳簇首数量确定簇群数量,在图上划分出2cbest个大小相等的正方形区域,进行一个初始分区,所述正方形区域的对角线长度不超过卫星信息传输直径,同时通过设定簇内成员的最大数maxnum以及成员的最小数minnum来控制簇内成员的数量:

20、

21、

22、

23、式中,n为组网的卫星数量;cbest为小卫星组网的最佳簇首数量;a和b为加权因子;

24、s22:对初始簇群进行扩展,设定条件限制新形成的簇群,直到所有卫星都分区完成;

25、s23:将所有簇群放入到集合m={c1,c2,c3,c4…}中,然后对初始分簇后卫星节点数目进行调整。

26、进一步,步骤s23中所述对初始分簇后卫星节点数目进行调整,具体步骤如下:

27、s231:遍历集合m,找出簇内成员个数小于minnum的簇群,若找到ci中成员节点的个数小于minnum,则进行步骤s232并在m中删去ci;找不到则退出;

28、s232:从ci的邻居簇群集合k={ca,cb,cc,cd…}中,按照簇群内卫星数从大到小的顺序选择一个簇群cj;在k中删去cj,进行步骤s233;若k中没有集合,则回到步骤s231;

29、s233:检查cj的成员个数,若ci与cj的成员个数numi+numj>maxnum,进行步骤s232,若ci与cj的成员个数numi+numj<maxnum,进行步骤s234;

30、s234:检查簇群区域长度,如果ci与cj合并后边长不符合对于边长的限制条件,进行步骤s232,如果ci与cj合并后边长符合对于边长的限制条件,进行步骤s235;

31、s235:合并ci与cj,更新ci=ci+cj;在m中删去cj,若ci与cj的成员个数numi+numj<minnum,回到步骤s232;若ci簇群的成员个数与cj的成员个数numi+numj>minnum,则退回步骤s231。

32、进一步,步骤s3中,以每个簇群中的两条对角线作为该簇群的辅助线,两条对角线的交点f,选取离点f最近的卫星为簇首卫星,离簇首卫星物理距离最短的卫星作为备用簇首卫星,当簇首卫星能量耗尽时,由备用簇首卫星顶替簇首卫星工作。

33、进一步,步骤s4中所述利用簇首的动态竞争半径,完成入簇过程,具体包括以下步骤:

34、根据簇首卫星的初始能量和星间距离动态的设置竞争半径,采取卫星能量损耗模型设置动态竞争半径rtrends,公式如下:

35、

36、式中,eavg为组网卫星平均能量;eresi为簇首卫星初始能量;d为卫星能量损耗模型中的距离;rmax为簇首卫星最大通信距离;

37、通过自定义设置簇首的广播通讯范围,确定动态的广播半径,控制簇群内成员数量,等待簇首设置完成后,簇首根据动态通讯半径向全组网发送自己成为簇首的消息,普通卫星根据接收到的信息,选择适合的簇加入,成簇规则如下:

38、定义入簇选择函数为cond(i,j):

39、

40、式中,cond(i,j)为卫星i加入到簇首j的簇群的选择函数;nj表示当前加入簇首j的簇群的卫星数目;e(i,nj)表示当有nj个卫星加入簇首j的簇群后,卫星i能分配到的能量;dis(i,j)是卫星i与簇首j的距离;

41、卫星组网中非簇首卫星接收到簇首卫星发来的信息,找到自己能加入的簇群的簇首集合,根据入簇选择函数为cond(i,j),选择可被簇首卫星分配的最大能量以及距离最近的簇加入;若普通卫星没有接收到任何簇首卫星发来的信息,则自身独立成为簇头。

42、进一步,步骤s5中所述利用改进的蚁群算法寻找到最优路径,具体包括以下步骤:

43、s51:初始化每条路径,将信息素含量清零;

44、s52:将蚂蚁置为初始位置,通过计算转移概率函数确定下一跳路径,记录经过的节点信息和留下信息素,重复操作,直到蚂蚁到达目的地;在本方案中,一个蚂蚁代表一次从源节点到目的节点的路由,每经过一个路由器,蚂蚁都会留下信息素;

45、s53:蚂蚁进行返程,到达初始位置时,形成一条完整的有效路径后,进行信息素的更新;

46、s54:重复步骤s52和s53,直到所有蚂蚁都拥有完整的路线;

47、s55:一直循环迭代,当到达最大迭代数后,确定当前一条最优的路线;

48、s56:若未满足最大迭代数,则从步骤s52重新开始循环迭代。

49、在步骤s52所述的转移概率函数中,引入卫星之间星间距离参数、卫星的剩余能量参数以及卫星接发数据包的能耗参数,并引入修正因子ω,动态的控制组网,改进后的转移概率函数如下:

50、

51、

52、式中,ei是卫星i的能量;ej是卫星j的能量;etx是发送数据包的能耗;erx是接收数据包的能耗;ω是修正因子,取值在0-1之间;表示t轮循环,数据包k从卫星i选择跳到卫星j的概率;表示在卫星i和卫星j之间星间路径(i,j)上信息素的含量;α表示信息素启发因子,反映了数据包在从卫星i向卫星j移动时,这两个卫星之间路径上所累积的信息素在指导数据选择卫星j的相对重要程度;表示在卫星i和卫星j之间的可见度,反映了卫星i转移到卫星j的期望程度;β表示期望值启发因子,反映了数据在从卫星i向卫星j转移时候期望值ηij在指导数据选择卫星j的相对重要程度;allowedk表示个数据包k下一跳卫星的集合;s是卫星i的所有下一跳卫星;是卫星i到卫星s之间星间路径(i,s)上的信息素;表示卫星i到卫星s的期望程度;

53、在步骤s53的信息素更新阶段,基于蚁周系统的信息素更新方式,将卫星的剩余能量、星间距离、卫星组网的卫星平均剩余能量、初始能量融入信息素函数中,将路径较短与平均能量较高的路径定义为最佳路径,更新的具体公式如下:

54、τij(t+1)=(1-ρ)·τij(t)+δτij(t)

55、

56、

57、式中,ρ是信息素挥发系数,旧的信息素会挥发,防止信息素的无限积累,取值在0到1之间;δτij(t)是信息素在t时刻也就是t次循环时卫星i和卫星j之间星间路径(i,j)上信息素的增量;n为数据包数量;是数据包k在本次循环中在卫星i和卫星j之间星间路径(i,j)上留下的信息素的含量;τij(t+1)表示t+1次循环时卫星i和卫星j之间星间路径(i,j)上已经有的信息素含量;q是数据包k在本次循环中在卫星i和卫星j之间星间路径(i,j)上留下的信息素的总量;la是数据包k在本次循环中走出来的路径的总长度;μ是矫正系数,取值在0到1之间;eavg是卫星组网的卫星平均剩余能量;e0是卫星初始能量;emin是卫星失效的最小能量。

58、本发明的有益效果在于:本发明将簇结构进行了优化,减去了每次簇首卫星选举过程中的能量损耗,使簇首的位置分布更加合理,有效的延长了网络寿命。根据仿真结果可知,本发明提供的方法在时延方面明显低于现有算法,这是因为本方法的迭代过程是在传输数据时就已经完成了,当需要传输数据时,本方法可以直接确定一条从源卫星到目的卫星的最优路径。本方法能够在数据传输阶段有效的降低组网的传输时延。

59、本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

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