掌桥专利:专业的专利平台
掌桥专利
首页

基于聚类的卫星测控调度方法及系统

文献发布时间:2023-06-19 16:06:26



技术领域

本发明属于卫星任务规划领域,尤其是涉及一种基于聚类的卫星测控调度方法及系统。

背景技术

近些年来,随着太空技术的快速发展,卫星作为一种可以在很多领域具有应用价值的太空平台愈发扮演着一个不可或缺的角色。卫星被用来完成目标观测、导航定位、通信传输等多种类型的任务,这取决于用户任务要求。无论卫星需要执行什么样的任务,都需要由卫星地面站以直接或者间接(先传输到中继卫星)的方式将任务以指令的形式由上行链路传输。地面站给卫星上传任务、动作指令并获取卫星运行状态的过程被称为卫星测控。卫星测控调度系统通过使用高效率的调度算法实现对卫星和地面站资源的有效管理。随着在轨运行卫星数量快速增加和卫星管理控制的需要,卫星测控调度问题的有效任务调度变得更加具有挑战性。

卫星测控调度描述的是合理安排卫星和地面站的通信以实现卫星状态监测和指令上注的过程,也可简单描述为:为一系列卫星和一系列卫星地面站在相互可见的时间窗内找到合适的执行测控任务组合。卫星测控调度问题难以解决的主要原因在于,序列依赖和超额订购的特征。序列依赖是指一个任务的调度结果会影响到后续任务。这使得找到可行方案存在困难。超额订购是指地面站时间窗即便完全被使用也会有一部分任务没有被成功执行。这两个特征的同时存在使得测控调度问题变得尤为困难。卫星测控调度问题已经被证明复杂度为NP-complete。

发明内容

本发明要解决的技术问题是怎样快速给出大规模卫星测控方案,提出了一种基于聚类的卫星测控调度方法及系统。

为解决上述技术问题,本发明所采用的技术方案是:

一种基于聚类的卫星测控调度方法,包括以下步骤:

步骤1:获取可调度的卫星资源、地面站资源、任务集以及可见时间窗集合;

步骤2:根据步骤1中所获取的内容构建混合整数规划模型;

步骤3:对所述混合整数规划模型进行求解;

步骤4:将求解得到的测控方案输出。

进一步地,所述混合整数规划模型是:

目标函数为:

其中,p

约束条件是:

式2表明任务需要在允许的开始时间之后开始执行任务;

式3表明任务需要在允许的结束时间之前完成任务;

式4表明任务最多可以执行一次;

式5表明任务实际执行时间应当与要求时间相同;

式6表明任务执行过程需要在一个地面站时间范围内;

式7表明每个任务只能由一个天线服务;

式8表明每个任务只能在一个可见的时间窗口内执行;

式9表明每个任务在全部天线上最多执行一次;

式10表明每个任务在全部时间窗内最多执行一次;

式11表明任务在规划周期内最多被执行一次;

式12表明两个任务要满足任务转换时间的间隔要求;γ表示任务之间的转换时间。

进一步地,步骤3中对所述混合整数规划模型进行求解的方法是基于聚类的遗传算法。

进一步地,所述基于聚类的遗传算法是:

步骤3.1:初始化遗传算法参数、聚类K-means方法参数;

步骤3.2:生成初始化种群,种群中的每一个个体为任务集中的所有任务进行编码后的编码序列;

步骤3.3:当迭代代数没有达到最大迭代代数时,执行步骤3.3.1;否则,执行步骤3.4;

步骤3.3.1:对种群内每一个个体生成测控方案初始解并计算目标函数值;

步骤3.3.2:如果当代种群中的最大目标函数值大于最优目标函数值,则更新最优目标函数值并计数count

如果当代种群中最大目标函数值大于上一代种群中最大目标函数值,则更新计数count

如果当代种群中最大目标函数值小于上一代种群中最大函数值乘以比例per,则更新计数count

步骤3.3.3:根据目标函数值使用轮盘赌选择个体生成新的种群;

步骤3.3.4:对新的种群使用基于聚类的交叉和变异方法进行更新;

步骤3.3.5:如果count

如果count

如果count

步骤3.3.6:将新的种群中最大目标函数值记录为上一代种群最大目标函数值;

步骤3.4:将最优目标函数值对应的个体作为测控方案输出。

进一步地,步骤3.3.1中:对种群内每一个个体生成测控方案初始解的方法是任务安排算法,具体为:

对任务集中的所有任务按照编码序列依次按照可见时间窗顺序尝试安排给每个任务,如果全部时间窗都已经尝试且安排成功,则输出安排成功的结果作为初始解,否则,继续尝试安排;对每一个任务的具体安排方法为:

1):计算任务t最早实际可用时间eat

2):如果任务t在天线a的第i个时间窗长度大于任务t要求的测控时间长度,即

3):将任务t最早实际可用时间eat

4):将任务t安排在天线a上第i个可见时间窗

5):将任务t安排在天线a上第i个可见时间窗

进一步地,步骤3.2中生成初始化种群的方法是使用多种启发式初始化方法生成初始化种群,所述初始化种群中存在各种启发式初始化方法生成的个体。

进一步地,步骤3.3.4中使用基于聚类的交叉方法是指:

将所有任务按照任务属性使用k-means聚类方法划分成K类任务;

交叉时,分别从属于两组不同类别的任务中选择相等长度的基因片段进行交叉,任务的类别根据目标函数值使用轮盘赌进行选择。

进一步地,步骤3.3.4中使用基于聚类的变异方法包括两种,一种是同一类别中的变异,另一种是不同类别中变异,在每一次变异操作中随机选择两种变异方式中的一种执行变异操作;

同一类别中的变异是指将个体内处在同一个类别内的两个任务进行位置交换。

不同类别中的变异是指将个体内处在不同类别中的两个任务交换位置。

进一步地,步骤3.1中基于聚类的方法是基于任务的属性进行聚类,所述任务的属性包括任务的最早允许开始时间、最晚允许结束时间、收益、任务要求测控时间长度,当K值更新重新进行聚类时,增加任务是否被成功安排这个特征。。

本发明还提供了一种基于聚类的卫星测控调度系统,包括以下模块:

输入模块:用于获取可调度的卫星资源、地面站资源、任务集以及卫星看见地面站的时间窗集合;

模型构建模块:用于根据步骤1中所获取的内容构建混合整数规划模型;

求解模块:用于对所述混合整数规划模型进行求解;

方案输出模块:用于将求解得到的测控方案输出。

采用上述技术方案,本发明具有如下有益效果:

本发明一种基于聚类的卫星测控调度方法及系统,使用基于聚类的遗传算法C-BGA(Cluster-based genetic algorithm)求解卫星测控调度问题SRSP(satellite rangescheduling problem)问题。根据任务特征将任务分为K类,评估了任务与任务之间的相近关系,让相似的任务尽可能距离近而不同的任务尽可能远,在种群进行交叉和变异时,选择两个不同类别也就是不相似的两个任务类别中的个体进行交叉变异,实现了全局搜索和局部搜索的平衡,使得可以得到更高质量的解,很好的解决了序列依赖问题。通过任务安排算法对种群内每一个个体生成测控方案初始解,判断任务执行可行性,并进行有效安排。在初始化种群时,使用多种启发式初始化方法生成初始化种群,并不局限于一种策略来进行生成,使得解多样化。实验表明,使用本发明的C-BGA方法只需要KBGA大概三分之一的时间即可达到相同的优化效果。

附图说明

图1为本发明系统流程图;

图2为聚类方法中K值的变化曲线;

图3为L_L-5和L-H-5例子箱线图;

图4为中等规模测试集结果;

图5为大规模测试集结果。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种基于聚类的卫星测控调度方法,如图1所示,包括以下步骤:

步骤1:获取可调度的卫星资源、地面站资源、任务集以及卫星看见地面站的时间窗集合;

步骤2:根据步骤1中所获取的内容构建混合整数规划模型。

本实施例中,混合整数规划模型是:

目标函数为:

其中,p

约束条件是:

式2表明任务需要在允许的开始时间之后开始执行任务;

式3表明任务需要在允许的结束时间之前完成任务;

式4表明任务最多可以执行一次;

式5表明任务实际执行时间应当与要求时间相同;

式6表明任务执行过程需要在一个地面站时间范围内;

式7表明每个任务只能由一个天线服务;

式8表明每个任务只能在一个可见的时间窗口内执行;

式9表明每个任务在全部天线上最多执行一次;

式10表明每个任务在全部时间窗内最多执行一次;

式11表明任务在规划周期内最多被执行一次;

式12表明两个任务要满足任务转换时间的间隔要求;γ表示任务之间的转换时间。

步骤3:对所述混合整数规划模型进行求解。

本实施例中,对所述混合整数规划模型进行求解的方法是基于聚类的遗传算法。

基于聚类的遗传算法是:

步骤3.1:初始化遗传算法参数、聚类K-means方法参数;

步骤3.2:生成初始化种群,种群中的每一个个体为任务集中的所有任务进行编码后的编码序列;

本实施例中,生成初始化种群的方法是使用多种启发式初始化方法生成初始化种群,所述初始化种群中存在各种启发式初始化方法生成的个体。

在本实施例中,使用的多种启发式初始化方法包括四种启发式种群初始化方式和一种随机初始化种群方式。

四种启发式种群初始化分别被称为基于最早允许开始时间排序的初始化方法、基于最晚允许结束时间排序的初始化方式、基于任务收益排序的初始化方式和基于任务持续时间排序的初始化方式。

基于最早允许开始时间排序的初始化(EST):按照测控任务的最早允许开始时间从前至后的顺序依次排序,根据排序后的顺序生成个体。

基于最晚允许结束时间排序的初始化(LET):按照测控任务的最晚允许结束时间从前至后的顺序依次排序,根据排序后的顺序生成个体。

基于任务收益排序的初始化(TP):按照测控任务的任务收益从大到小的顺序降序排序,根据排序后的顺序生成个体。

基于任务持续时间排序的初始化(TD):按照测控任务的任务持续时间从小到大的顺序升序排序,根据排序后的顺序生成个体。

在采取每一种启发式规则生成种群个体后,需要通过个体部分序列调整的方式让个体更具有多样性。将启发式和局部随机的方式结合,可以让每一个个体更容易找到一个好的搜索起始位置。四种启发式方法和随机方法分别占据种群全部个体的各20%。当然,四种启发式方法和随机方法分别占据种群全部个体的比例也可以根据需要进行调整,为了增加解的多样性,启发式初始化方法还可以包括别的不限于上面提到的四种启发式方法。

步骤3.3:当迭代代数没有达到最大迭代代数时,执行步骤3.3.1;否则,执行步骤3.4;

步骤3.3.1:对种群内每一个个体生成测控方案初始解并计算目标函数值。

本实施例中,步骤3.3.1中:对种群内每一个个体生成测控方案初始解的方法是任务安排算法,具体为:

对任务集中的所有任务按照编码序列依次按照可见时间窗顺序尝试安排给每个任务,如果全部时间窗都已经尝试且安排成功,则输出安排成功的结果作为初始解,否则,继续尝试安排;对每一个任务的具体安排方法为:

1):计算任务t最早实际可用时间eat

2):如果任务t在天线a的第i个时间窗长度大于任务t要求的测控时间长度,即

3):将任务t最早实际可用时间eat

4):将任务t安排在天线a上第i个可见时间窗

5):将任务t安排在天线a上第i个可见时间窗

本实施例中,对任务集中的所有任务依次判断每一个时间窗是否能够执行任务。如果时间窗长度超过测控任务要求的时间则尝试安排任务。本发明采用一种快速判断方法确定任务是否具有被安排的可能,首先需要引入两个新的变量eat

步骤3.3.2:如果当代种群中的最大目标函数值大于最优目标函数值,则更新最优目标函数值并计数count

如果当代种群中最大目标函数值大于上一代种群中最大目标函数值,则更新计数count

如果当代种群中最大目标函数值小于上一代种群中最大函数值乘以比例per,则更新计数count

步骤3.3.3:根据目标函数值使用轮盘赌选择个体生成新的种群;

本实施例中,使用轮盘赌方法选择出个体生成新的种群,然后对该新种群进行交叉和变异。

使用轮盘赌选择过程需要更好地反映出种群内个体之间的表现差异,本发明根据个体的目标函数值利用轮盘赌的方法进行个体和任务类别的选择,让具有更好表现的个体和所处的类别更容易被选择。利用轮盘赌选择个体的概率公式如下所示:

其中,

步骤3.3.4:对新的种群使用基于聚类的交叉和变异方法进行更新。

本实施例中,基于聚类的交叉方法是指:

将所有任务按照任务属性使用k-means聚类方法划分成K类任务;

交叉时,分别从属于两组不同类别的任务中选择相等长度的基因片段进行交叉。具体是根据轮盘赌选择一个类别,在该类别中随机选择一个任务,以随机选择的这个任务作为基因片段的开始。然后根据轮盘赌选择另外一个类别,选择时,去除当前已选的任务类别。根据轮盘赌选择类别的概率公式为:

其中,

基于聚类的变异方法包括两种,一种是同一类别中的变异,另一种是不同类别中变异,在每一次变异操作中随机选择两种变异方式中的一种执行变异操作;

同一类别中的变异是指将个体内处在同一个类别内的两个任务进行位置交换。

不同类别中的变异是指将个体内处在不同类别中的两个任务交换位置。

采用这两种变异方式既可以实现具有相似数据特征任务之间的执行位置交换,也可以让被选中任务与特征差异性较大任务之间完成对换。采用两种变异方式可以增加变异的多样性,让算法更有机会找到更好的任务执行顺序。通过基于聚类的交叉和变异更新种群中的个体,从两个不同类别也就是不相似的两个任务类别中的个体进行交叉变异,实现了全局搜索和局部搜索的平衡,使得可以得到更高质量的解,很好的解决了序列依赖问题。

步骤3.3.5:如果count

如果count

如果count

步骤3.3.6:将新的种群中最大目标函数值记录为上一代种群最大目标函数值;

聚类方法目标是将样本集合根据数据特征分割成多个子集合。这种方法根据数据特征的相似度,将数据分成多组离散或者层次结构的方法。分类最终要达到的效果是在一个组内的各个样本之间尽可能接近,不是一个组的样本差异明显。本发明选择聚类算法的原因一方面是想要充分利用卫星任务数据,利用数据驱动优化过程,另一方面是卫星任务数据在规划调度方面存在难以确定的分类标准,采用聚类方法可以更好地实现任务根据特征分类。为了防止由于部分特征由于量纲过大导致计算聚类结果存在偏差,需要先对特征数据进行归一化(normalization)。通过归一化可以让数据不受量纲和单位的影响,更加凸显数据特征本身的内容。归一化的计算公式如下:

其中,y是特征值,y

本实施例中聚类方法的步骤为:

输入:任务特征矩阵(每一列表示一种特征),特征数量,分类的数量K

输出:聚类结果

1):随机从特征集合中选择K个样本作为聚类中心(1,2,…,K);

2):计算数据到各个中心点的欧式距离,选择最近的中心点作为数据的类别;

3):对每一类重新计算得到新的中心点,根据公式

4):如果中心点发生变化,转至步骤2;否则,转至步骤5;

5):输出聚类结果。

本实施例中,基于聚类的方法是基于任务的特征进行聚类,所述任务的特征包括任务的最早允许开始时间、最晚允许结束时间、收益、任务要求测控时间长度,任务特征矩阵每一列表示一种任务特征,构成矩阵,当发生重新计算聚类时,将从开始优化至今最优方案的任务执行结果加入到特征矩阵最右侧一列,即在达到某个条件需要重新进行聚类时,增加任务是否被成功安排这个特征,已安排的任务标记为1,未安排的标记为0。本发明的聚类方法根据任务特征将任务数据分成K个类别,评估了任务与任务之间的相近关系,让相似的任务尽可能距离近而不同的任务尽可能远,在种群进行交叉和变异时,从两个不同类别也就是不相似的两个任务类别中的个体进行交叉变异,使得可以得到更高质量的解,改进了遗传算法的优化过程。聚类方法的类别数随着优化过程发生改变,下面也将通过实验来证明聚类为遗传算法提供的信息更有价值。

对于SRSP问题而言,聚类分成的簇的数量K应该随着优化过程发生改变,固定的一个值容易在优化过程进行到一定阶段后由于分类不够准确而产生无效搜索。为了提升搜索效率和搜索效果,本实施例中K值更新是当count

步骤3.4:将最优目标函数值对应的个体作为测控方案输出。

本发明基于聚类的遗传算法改善了遗传算法全局搜索较好而局部搜索性能力差的情况,提升了遗传算法的局部搜索表现。

步骤4:将求解得到的测控方案输出。

实验验证

1)不同任务规模下规划结果

不同密度的30个instances被用来验证算法的规划表现。结果如表1所示,算例规模的增长伴随而来的是得到收益值的增多,表1中最左列的场景编号表达式中,最左边的三个符号S表示小规模,M表示中规模,L表示大规模;中间的两个符号L表示低密度,H表示高密度;最右边的数字表示序号。当任务规模增加到中等后,收益的增长幅度开始放缓。这是由于有限的卫星和地面站资源在众多的任务中找到一个更好的任务执行方案变得格外困难。C-BGA算法在30个场景中均取得了很好的规划结果。在小规模和中等场景中,规划结果由好到差依次由C-BGA、烟花算法FWA(Fireworks algorithm)、带禁忌策略的自适应大邻域搜索算法ALNS/TPF(Tabu-based adaptive large neighborhood search)、基于知识的遗传算法KBGA(Knowledge based genetic algorithm)算法。大规模场景中,KBGA和ALNS/TPF算法介于C-BGA和FWA算法之间。从整体趋势上可以看出,C-BGA算法在较大规模场景中更容易获得超过其他对比算法的表现。

表1 30个场景不同任务规模下的收益对比表

2)算法稳定性分析

大规模instances更容易反映算法的稳定性表现,L-L-5和L-H-5例子箱线图如图3所示。C-BGA算法的稳定性是最好的,在1000个任务的instance下保持着较小的波动性。表现最差的是ALNS/TPF,最为容易获得离平均值偏差比较大的结果。FWA算法和KBGA算法处在C-BGA算法和ALNS/TPF算法之间。

3)优化时间分析

本文对比了基于聚类的遗传算法C_BGA算法达到KBGA相同平均优化结果所需要的时间,结果如图4和图5所示,图4和图5分别表示的是中等规模和大规模的优化结果,但是通过实验,得出的结果是一致的,图中100%的柱表示KBGA算法达到每一个实例平均表现所用的时间,黑色的柱表示本发明基于聚类的遗传算法C-BGA算法占参考算法时间的百分比。从结果可以看出,C-BGA算法只需要KBGA大概三分之一的时间即可达到相同的优化效果。也就是说,在种群初始化之后的很短时间便可以找到一个质量很好的解。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 基于聚类的卫星测控调度方法及系统
  • 基于极大团模型的卫星测控资源调度方法和系统
技术分类

06120114700492