一种基于加权粒子群算法的卫星计算资源分配方法

文档序号:33706103发布日期:2023-03-31 21:42阅读:87来源:国知局
一种基于加权粒子群算法的卫星计算资源分配方法

1.本发明涉及低轨卫星网络计算资源分配领域,适用于低轨卫星网络中多颗卫星协同处理计算任务的场景,具体涉及一种基于加权粒子群算法的卫星计算资源分配方法。


背景技术:

2.低轨卫星网络通常由多颗卫星和地面控制中心组成,传统低轨卫星网络中,一般由卫星将计算任务传输至地面控制中心进行处理。近年来,随着星载计算机的运算能力逐渐提升,在卫星上进行计算任务处理成为可能。由于单颗卫星处理能力有限,因此可以将计算任务拆解并通过业务带宽较大的星间链路进行分发,由多颗卫星组成协同计算网络进行处理。在以上过程中,为了在最短的时间内获得计算结果,需要研究如何将计算任务合理的分发至各卫星,即计算资源分配方法。
3.粒子群算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解,广泛应用于函数优化等领域。粒子群算法在可行解空间中初始化一群微粒,每个微粒都代表极值优化问题的一个潜在最优解,用位置、速度和适应度值三项指标表示该微粒特征,其中位置即最优解,速度为每次变化值,适应度为最优解对应的值。
4.目前,现有技术中的卫星计算资源分配方法效率较低,需要一种收敛速度更快的卫星计算资源分配方法。


技术实现要素:

5.有鉴于此,本发明针对低轨卫星网络中多颗卫星协同处理计算任务的场景,提出了通过加权粒子群算法获取最优计算资源分配的方法。该方法收敛速度快,可缩短卫星计算任务的处理时间。
6.为了实现上述目的,本发明采用了如下技术方案:
7.一种基于加权粒子群算法的卫星计算资源分配方法,包括以下步骤:
8.步骤1,综合星载计算机运算能力和星间链路传输带宽,定义协同计算网络的计算能力s=s0,s1,...,sn,卫星i的计算能力si为:
[0009][0010]
其中,ci为卫星i星载计算机的运算能力,为计算任务所在卫星至协同计算卫星的星间链路传输带宽;
[0011]
步骤2,设置协同计算网络权值为w=w0,w1,...,wn,其中wi代表卫星i的权值;w通过协同计算网络的计算能力得出:
[0012][0013]
其中,||||表示取模;
[0014]
步骤3,初始化粒子群中的微粒,包含随机位置和速度,并计算其适应度:
[0015][0016]
其中,pi是计算任务d分配至卫星i的百分比,ci为卫星i星载计算机的运算能力,为计算任务所在卫星至协同计算卫星的星间链路传输带宽,l
sisj
为卫星i到卫星j的传输时延;
[0017]
步骤4,更新每颗卫星中粒子群的微粒速度vi=v
i1
,v
i2
,...,v
in

[0018][0019]
其中,n为粒子群规模,rand为(0,1)范围内的随机数,xi=x
i1
,x
i2
,...,x
in
为微粒群当前位置,pi=p
i1
,p
i2
,...,p
in
为微粒群局部最优位置,gi=g
i1
,g
i2
,...,g
in
为微粒群全局最优位置,和为权重因子,k为收敛因子,计算方式如下:
[0020][0021]vi
最大为1,最小为-1,当vi》1时,vi=1;
[0022]
然后,根据卫星i的计算能力再次对vi进行更新:
[0023]vi
=wi*viꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0024]
步骤5,更新每颗卫星中粒子群的微粒位置:
[0025]
xi=xi+viꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0026]
限制xi的取值范围为0~1,若xi更新后超出此范围,则取相应的端点值;
[0027]
步骤6,根据更新后的微粒位置计算适应度,并记录此次迭代过程中的最优位置pi,如果pi结果优于当前全局最优位置gi,则更新gi为pi,否则gi不变;随后将适应度与用户可接受的计算时间进行比较,若满足用户要求则停止运算,此时xi即为最优解,否则对迭代次数进行判断,如果达到最大迭代次数则完成计算,未达到迭代次数则重复步骤4~5继续迭代。
[0028]
本发明与现有技术相比具有如下有益效果:
[0029]
1、本发明根据星载计算机运算能力和星间链路传输带宽计算权值,并将该权值用于微粒速度计算,优化搜索过程,从而在较短的时间求出模型最优解,达到缩短卫星计算任务处理时间的目的。
[0030]
2、本发明方法简单,易于实施,能够显著提升卫星计算资源分配效率。
附图说明
[0031]
图1为本发明实施例的流程图。
具体实施方式
[0032]
下面结合附图和具体实施方式对本发明做进一步的详细说明。
[0033]
一种基于加权粒子群算法的卫星计算资源分配方法,该方法基于星载计算机运算能力和星间链路传输带宽计算权值,优化粒子群算法搜索过程,从而在较短的时间求出模型最优解。该方法具体包含以下步骤:
[0034]
步骤1,综合星载计算机运算能力和星间链路传输带宽,定义协同计算网络的计算能力s=s0,s1,...,sn,卫星i的计算能力si为:
[0035][0036]
其中,ci为卫星i星载计算机的运算能力,为计算任务所在卫星至协同计算卫星的星间链路传输带宽;
[0037]
步骤2,设置协同计算网络权值为w=w0,w1,...,wn,其中wi代表卫星i的权值;w通过协同计算网络的计算能力得出:
[0038][0039]
其中,||||表示取模;
[0040]
步骤3,初始化粒子群中的微粒,包含随机位置和速度,计算任务处理时间,将其作为适应度:
[0041][0042]
其中,pi是计算任务d分配至卫星i的百分比,ci为卫星i星载计算机的运算能力,为计算任务所在卫星至协同计算卫星的星间链路传输带宽,l
sisj
为卫星i到卫星j的传输时延;
[0043]
步骤4,更新每颗卫星中粒子群的微粒速度vi=v
i1
,v
i2
,...,v
in

[0044][0045]
其中,n为粒子群规模,rand为(0,1)范围内的随机数,xi=x
i1
,x
i2
,...,x
in
为微粒群当前位置,pi=p
i1
,p
i2
,...,p
in
为微粒群局部最优位置,gi=g
i1
,g
i2
,...,g
in
为微粒群全局最优位置,和为权重因子,k为收敛因子,计算方式如下:
[0046][0047]
一般情况下,k取值为0.729,和分别取值为2.1和2。
[0048]
在获取微粒速度之后,若速度太快则粒子有可能越过极小点,若速度过慢则粒子不能在局部极小点之外进行足够的探索,因此,对速度最大值和最小值进行限制:vi最大为1,最小为-1,当vi》1时,vi=1;
[0049]
然后,根据卫星i的计算能力再次对vi进行更新:
[0050]vi
=wi*viꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0051]
步骤5,更新每颗卫星中粒子群的微粒位置:
[0052]
xi=xi+viꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0053]
微粒位置更新完成之后需要对结果进行判断,若更新之后的位置不在搜索范围内则需要对其进行限制。由于此处微粒位置xi即计算任务分配至卫星i的百分比pi,因此xi的取值范围为0~1,若更新后xi超出该范围,则取相应的端点值;
[0054]
步骤6,根据更新后的微粒位置计算适应度,并记录此次迭代过程中的最优位置pi,如果pi结果优于当前全局最优位置gi,则更新gi为pi,否则gi不变;随后将适应度与用户可接受的计算时间进行比较,若满足用户要求则停止运算,此时xi即为最优解,否则对迭代次数进行判断,如果达到最大迭代次数则完成计算,未达到迭代次数则重复步骤4~5继续迭代。
[0055]
下面为一个更具体的例子:
[0056]
如图1所示,一种基于加权粒子群算法的卫星计算资源分配方法,包括如下步骤:
[0057]
(1)综合星载计算机运算能力和星间链路传输带宽,定义协同计算网络的计算能力s=s0,s1,...,sn,每颗卫星的计算能力si可由以下公式所示:
[0058][0059]
其中,ci为卫星i星载计算机的运算能力,为计算任务所在卫星至协同计算卫星的星间链路传输带宽。
[0060]
协同计算网络中,计算任务由一颗卫星产生,该卫星将计算任务拆解并分配给协同计算卫星处理。决定任务处理时间的因素为各卫星的运算能力和各星间链路的传输时间,其中传输时间主要受星间链路传输带宽影响,因此可通过星载计算机运算能力和星间链路传输带宽评估每颗卫星的计算能力。
[0061]
(2)协同计算网络权值为w=w0,w1,...,wn,其中wi代表卫星i的权值。w可通过协同计算网络的计算能力得出,如以下公式所示:
[0062][0063]
其中,||||表示取模;
[0064]
协同计算网络中每颗卫星的权值由其计算能力决定,该权值代表在粒子群算法中迭代过程中的一种趋势,即计算能力越强,任务就尽可能多的分配给该卫星。
[0065]
(3)初始化粒子群中微粒,包含随机位置和速度,并计算其适应度:
[0066][0067]
(4)更新每颗卫星中粒子群的微粒速度,以vi=v
i1
,v
i2
,...,v
in
表示,首先按照以下公式进行初步更新:
[0068][0069]
其中n为微粒群规模,xi=x
i1
,x
i2
,...,x
in
为微粒群当前位置,pi=p
i1
,p
i2
,...,p
in
为微粒群局部最优位置,gi=g
i1
,g
i2
,...,g
in
为微粒群全局最优位置,和为权重因子,k为收敛因子,计算公式如下:
[0070][0071]
在获取微粒速度之后,若速度太快则粒子有可能越过极小点,若速度过慢则粒子
不能在局部极小点之外进行足够的探索,因此要对速度最大值和最小值进行限制,vi最大为1,最小为-1,当vi》1时,vi=1。
[0072]
在计算微粒速度时,每个微粒知道目前为止发现的最好位置pi,也知道整个群体中所有微粒发现的最好位置gi,微粒根据以上信息作为自己的经验和同伴的经验来决定下一步的运动。公式(4)中收敛因子由权重因子决定,其中为惯性因子,使微粒保持着运动的惯性,为学习因子,使微粒有能力探索新的区域。收敛因子决定收敛速度,若速度过快可能导致微粒越过最优解,若收敛速度过慢可能导致在最优解区域之外徘徊,一般情况下,k取值为0.729,和分别取值为2.1和2。
[0073]
当完成速度的初步更新后,根据卫星i的计算能力对vi赋权,按照如下公式完成速度的二次更新:
[0074]vi
=wi*viꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0075]
(5)更新每颗卫星中粒子群的微粒位置,如以下公式所示:
[0076]
xi=xi+viꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0077]
微粒位置更新完成之后需要对结果进行判断,若更新之后的位置不在搜索范围内则需要对其进行限制。
[0078]
(6)根据更新后的微粒位置计算适应度,并记录此次迭代过程中的最优位置为pi,如果pi结果优于当前全局最优位置gi,则更新gi为pi,否则gi不变。随后将适应度与期待结果进行比较,若满足阈值则停止运算,此时xi即为最优解,否则对迭代次数进行判断,如果达到最大迭代次数则完成计算,未达到最大迭代次数则执行步骤4。
[0079]
总之,本发明首先定义协同计算网络的计算能力,然后根据计算能力设置协同计算网络权值,接着初始化粒子群中微粒的位置和速度,并计算适应度,通过更新粒子群中微粒的位置和速度,得到最优解,从而完成卫星计算资源分配。本发明针对低轨卫星网络中多颗卫星协同处理计算任务的场景,提出了基于星载计算机运算能力和星间链路传输带宽计算权值,并将其用于优化粒子群算法搜索过程的方法,达到了缩短卫星计算任务处理时间的目的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1