一种基于滚动时域优化的舰载机动态保障调度方法和装置

文档序号:24876964发布日期:2021-04-30 12:52阅读:195来源:国知局
一种基于滚动时域优化的舰载机动态保障调度方法和装置

本申请涉及舰载机飞行甲板保障调度技术领域,特别是涉及一种基于滚动时域优化的舰载机动态保障调度方法和装置。



背景技术:

航空母舰是海军舰队中最重要的组成部分,舰载机为航母编队决战外海提供海上空中战略打击力量。航母舰载机甲板调度作业是一个高度复杂的系统工程,包含优化理论、调度原理与算法、运筹学知识以及智能决策分析等相关领域的研究,涉及多项关键技术,是实现舰载机高效出动回收的基础和保证。

针对舰载机甲板保障主要包括舰载机飞行前进行的机械、航电、特设专业等检修,以及加油、加氮、加氧、充电、液压、挂弹等保障活动,通常由甲板上不同保障组和保障站位资源共同完成。舰载机甲板保障作业问题属于资源受限多项目优化保障问题,具有资源数量约束、作业优先级约束、作业时间约束等特点,属于大规模的np-hard难问题。如何基于舰载机甲板保障作业的上述特点、根据舰载机保障任务需求合理规划保障调度工序,是确保舰载机的出动回收能力,进而确保其作战效果的前提和关键。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够优化舰载机保障工序调度方案的一种基于滚动时域优化的舰载机动态保障调度方法和装置。

一种基于滚动时域优化的舰载机动态保障调度方法,包括:

使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件。工序执行限制条件包括,工序执行时间限制条件和工序执行空间限制条件。

根据工序时间参数、工序资源需求参数和工序执行限制条件,构建描述保障工序的执行时序的保障工序调度模型,以及构建保障工序调度模型的保障工序时间函数和保障工序资源函数。

在预设的工序资源约束条件下求解保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序。工序资源约束条件是根据对应的工序资源数量的时间函数确定的。

根据最短工序执行时序得到滚动时间窗口中的保障工序调度数据。

其中一个实施例中,使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件的步骤之前,还包括:

获取待保障舰载机集合对应的保障任务的集合,得到保障任务对应的任务执行时间参数和任务资源需求参数。

根据任务执行时间参数,构建描述保障任务的执行时序的保障任务调度模型,以及构建保障任务调度模型的保障任务时间函数和保障任务资源函数。

在预设的任务资源约束条件下求解保障任务调度模型,得到使保障任务时间函数的值最小的保障任务的最短任务执行时序。

根据最短任务执行时序,得到待保障舰载机集合对应的保障任务调度数据。

其中一个实施例中,使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件的步骤之前,还包括:

根据预设的保障需求频率数据、环境变化频率数据和任务执行时间参数,得到滚动时间窗口的时间长度值。保障任务时段的时间长度值为滚动时间窗口的时间长度值的两倍以上。

以保障任务时段的开始时间为起点,依次设置互不重叠的滚动时间窗口,使设置的滚动时间窗口完全覆盖保障任务时段。

其中一个实施例中,根据所述最短工序执行时序得到所述滚动时间窗口中的保障工序调度数据的步骤之后,还包括:

根据任务执行时间参数对应的滚动时间窗口对应的保障工序调度数据,生成对应的保障任务工序调度数据,根据保障任务工序调度数据对待保障舰载机集合进行保障。

其中一个实施例中,根据任务执行时间参数对应的滚动时间窗口对应的保障工序调度数据,生成对应的保障任务工序调度数据,根据保障任务工序调度数据对待保障舰载机集合进行保障的步骤之后,还包括:

当收到工序调整信号时,获取当前的滚动时间窗口中未执行的保障工序的集合,以及获取当前的可用保障资源。

根据可用保障资源得到当前工序资源约束条件,在当前工序资源约束条件下求解保障工序调度模型,得到未执行的保障工序的集合对应的调整后工序执行时序。

获取最短工序执行时序和调整后工序执行时序中对应的保障工序的开始时间差,根据开始时间差构建目标函数。

根据使目标函数的值最小的调整后执行时序,得到调整后保障工序调度数据。

其中一个实施例中,在预设的工序资源约束条件下求解所述保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序的步骤,其实现方式包括:

在预设的工序资源约束条件下求解保障工序调度模型,得到对应的工序执行时序。

以工序执行时序为个体,使用双种群遗传算法得到使保障工序时间函数的值最小的最短工序执行时序。

其中一个实施例中,工序资源约束条件包括,总量约束条件和使用方式约束条件。

一种基于滚动时域优化的舰载机动态保障调度装置,包括:

保障工序集合获取模块,用于使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件。工序执行限制条件包括,工序执行时间限制条件和工序执行空间限制条件。

保障工序调度模型构建模块,用于根据工序时间参数、工序资源需求参数和工序执行限制条件,构建描述保障工序的执行时序的保障工序调度模型,以及构建保障工序调度模型的保障工序时间函数和保障工序资源函数。

最短工序执行时序计算模块,用于在预设的工序资源约束条件下求解保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序。工序资源约束条件是根据对应的工序资源数量的时间函数确定的。

保障工序调度数据生成模块,用于根据最短工序执行时序得到滚动时间窗口中的保障工序调度数据。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件。工序执行限制条件包括,工序执行时间限制条件和工序执行空间限制条件。

根据工序时间参数、工序资源需求参数和工序执行限制条件,构建描述保障工序的执行时序的保障工序调度模型,以及构建保障工序调度模型的保障工序时间函数和保障工序资源函数。

在预设的工序资源约束条件下求解保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序。工序资源约束条件是根据对应的工序资源数量的时间函数确定的。

根据最短工序执行时序得到滚动时间窗口中的保障工序调度数据。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件。工序执行限制条件包括,工序执行时间限制条件和工序执行空间限制条件。

根据工序时间参数、工序资源需求参数和工序执行限制条件,构建描述保障工序的执行时序的保障工序调度模型,以及构建保障工序调度模型的保障工序时间函数和保障工序资源函数。

在预设的工序资源约束条件下求解保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序。工序资源约束条件是根据对应的工序资源数量的时间函数确定的。

根据最短工序执行时序得到滚动时间窗口中的保障工序调度数据。

与现有技术相比,上述一种基于滚动时域优化的舰载机动态保障调度方法、装置、计算机设备和存储介质,从待保障舰载机的保障任务调度数据中获取在预设的时间窗口内的保障工序,根据获取到的保障工序的时间参数、资源需求、工序执行限制,建立该时间窗口内的保障工序调度模型,以描述获取到的保障工序的执行时序;再根据对该时间窗口的资源约束条件求解模型,得到资源占用量和消耗量满足资源约束条件、且执行全部保障工序的时间最短的解。根据这一解(即最短工序执行时序)得到在该窗口中的保障工序调度数据,据此进行该滚动时间窗口中的保障任务。本申请根据舰载机保障工作的特点设定了保障工序进行时的空间限制条件,考虑了由于舰载机/甲板空间限制而无法同时执行的保障工序,能够给出更加合理的保障调度方案;并且通过将舰载机集合的保障任务拆解到多个滚动时间窗口,可以根据当前时间窗口中的资源约束条件对模型进行求解,能够所小计算规模、提高保障调度过程的响应速度和灵活性。

附图说明

图1为一个实施例中一种基于滚动时域优化的舰载机动态保障调度方法的步骤图;

图2为一个实施例中一种基于滚动时域优化的舰载机动态保障调度方法的流程示意图;

图3为一个实施例中单架舰载机的保障工序执行时序图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

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

在一个实施例中,如图1所示,提供了一种基于滚动时域优化的舰载机动态保障调度方法,包括以下步骤:

步骤102,使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件。工序执行限制条件包括,工序执行时间限制条件和工序执行空间限制条件。

在一次保障任务中可能包括对多个批次的舰载机的保障,需要根据架舰载机的数量、类型、到达时间和保障需求等生成整个保障任务的保障任务调度数据,根据航母的保障能力指定对各架舰载机的保障任务的执行时间要求,如执行时段、时间偏差容限等。然而,由于保障任务的执行情况受到舰载机执行任务情况的影响,也受到航母上可用保障资源的影响,而这二者都具有较高的不确定性。因此如果对整个保障任务进行工序优化,得到的工序调度方案灵活度、适应性均不高。

考虑到上述问题,本实施例以预先生成的保障任务调度数据为基础,从中获取一个时段的待执行的保障任务及对应的待保障舰载机集合,对其中包括的保障工序进行调度方案优化,一方面可以减少调度优化的数据量,另一方面可以在不同时段考虑不同的不确定性因素影响,使保障工序的调度方案的优化结果更加合理。其中,工序时间参数是指工序的执行时间长度(或长度的变化范围),可以采用估计的最大执行时间长度,或根据人员、设备情况估计的执行时间长度等表示。工序资源需求参数是指执行该项保障工序所需的各种资源,包括非消耗性资源,如机械、航电、军械、特设等专业保障人员数量,加油站、液压站、氧气站、氮气站、供电站等集中式保障站位资源数量,保障站位的保障能力,需占用甲板空间等;还包括消耗性资源,如燃油、液压油、氧气、氮气、电能等。工序执行限制条件是指执行该项保障工序时,需要满足的条件,具体包括工序执行时间限制条件和工序执行空间限制条件。其中工序执行时间限制条件包括:与其他工序之间的执行关系,如该工序与特定工序是紧前/紧后关系(包括执行顺序),与特定工序之间需要有指定的时间间隔等;还包括该工序执行的时间长度限制。工序执行空间限制条件是指,由于舰载机本身空间的限制,只能允许同时进行特定的一组或多组保障工序。

本实施例中,使用滚动时间窗口获取到的保障工序定义为:保障工序的开始时刻在该滚动时间窗口内的保障工序。

步骤104,根据工序时间参数、工序资源需求参数和工序执行限制条件,构建描述保障工序的执行时序的保障工序调度模型,以及构建保障工序调度模型的保障工序时间函数和保障工序资源函数。

具体地,根据各保障工序的工序时间参数和对应的工序执行限制条件,可以建立对应的保障工序调度模型,用于描述各保障工序的执行顺序(包括并行、紧前紧后、前后等关系),也能够得到对应的保障工序时间函数,其值为在此执行顺序下的工序执行时间。根据各保障工序的工序资源需求参数,还可以得到在当前的执行顺序下在每一个时刻的资源需求数量,包括非消耗性资源和消耗性资源。

步骤106,在预设的工序资源约束条件下求解保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序。工序资源约束条件是根据对应的工序资源数量的时间函数确定的。

具体地,根据航母的保障资源提供能力,且考虑其随时间变化和受不确定性因素影响的概率,可以得到对应的工序资源数量的时间函数,描述每个时刻的可用于保障工序的资源的数量。考虑的不确定性和风险因素包括:保障资源到达时间、供应量的不确定性。根据每个时刻可用的工序资源数量,可以对应描述每个时刻的工序资源约束条件。通过对模型求解可以得到满足工序资源约束条件的、使工序执行时间最短的工序执行时序。

进一步地,为了简化计算过程,可以使用滚动时间窗口中某一时刻(如开始时刻)的工序资源约束条件,或根据工序资源约束函数的统计均值等对保障工序调度模型进行求解。

进一步地,还可以根据执行任务的不同,指定各类舰载机的保障资源需求的弹性范围,根据弹性范围定义工序资源约束条件。

步骤108,根据最短工序执行时序得到滚动时间窗口中的保障工序调度数据。

本实施例根据舰载机保障工作的特点设定了保障工序进行时的空间限制条件,考虑了由于舰载机/甲板空间限制而无法同时执行的保障工序,能够给出更加合理的保障调度方案。并且通过对滚动时间窗口中的保障工序进行调度规划,能够提高保障调度过程的灵活性。

其中一个实施例中,在步骤108之后还包括以下步骤:

步骤110,当收到工序调整信号时,获取当前的滚动时间窗口中未执行的保障工序的集合,以及获取当前的可用保障资源。

具体地,步骤106中的工序资源约束条件在生成时,可以根据对舰载机保障过程中涉及的多种不确定性和风险因素进行统计性估计,根据统计性估计结果得到对应的工序资源约束条件。但是,基于统计性估计结果的工序资源约束条件,在面临与统计性估计结果偏差过大的不确定性因素时,其对应的工序资源约束条件可能和实际情况不符,造成在此约束条件下得到的工序执行时序不合理甚至无法实施。

对此,本实施例在可用保障资源的变化、舰载机的保障任务执行要求超出对其的统计性估计的一定范围时,产生工序调整信号,根据当前的可用保障资源对当前滚动时间窗口尚未进行的保障工序重新进行调度。这里判断是否生成工序调整信号的标准可以考虑保障资源到达时间、供应量的不确定性,天气或者作战任务原因造成的任务延期现象等,包括以下方式及其组合:当前可用保障资源数量和(根据工序资源数量的时间函数得到的)计划可用非消耗性保障资源数量的偏差门限值、计划可用消耗性保障资源数量的偏差门限值、舰载机实际返航的时间和保障任务调度数据中的计划舰载机返航时间的偏差门限值等。

步骤112,根据可用保障资源得到当前工序资源约束条件,在当前工序资源约束条件下求解保障工序调度模型,得到未执行的保障工序的集合对应的调整后工序执行时序。

具体地,与步骤106中相对应,根据获取到的当前可用保障资源数据得到调整后的工序资源数量的时间函数,进而重新确定当前的工序资源约束条件,在新的工序资源约束条件下,基于未执行的保障工序,求解保障工序调度模型。这一过程中,模型结构及其保障工序时间函数和保障工序在资源函数的形式不变,模型中的保障工序由整个滚动时间窗口中的保障工序变为该滚动时间窗口中截止收到工序调整信号时尚未执行的保障工序。

步骤113,获取最短工序执行时序和调整后工序执行时序中对应的保障工序的开始时间差,根据开始时间差构建目标函数。

具体地,在获得调整后的工序执行时序时,目标是使各项工序的总的执行偏差最小,因此未执行工序在调整前后的执行时段的偏差定义目标函数。可以采用开始时间差来定义一个未执行的保障工序在调整前后的偏差程度。

步骤114,根据使目标函数的值最小的调整后执行时序,得到调整后保障工序调度数据。

根据定义的目标函数,在当前的可用保障资源约束条件的限制下,得到对各项未执行的保障工序的总的调整程度最小的工序执行时序,根据这一工序执行时序对当前滚动时间窗口内的未执行的保障工序进行调度。

本实施例在开始进行保障工作之后,根据调整工序信号实时修改保障工序调度数据,能够在出现超出数据统计范围的突发情况时及时得到合理的舰载机保障调度方案,确保对其的保障能力。

其中一个实施例中,如图2所示,提供了一种基于滚动时域优化的舰载机动态保障调度方法,包括以下步骤:

步骤202,获取待保障舰载机集合对应的保障任务的集合,得到保障任务对应的任务执行时间参数和任务资源需求参数。根据任务执行时间参数,构建描述保障任务的执行时序的保障任务调度模型,以及构建保障任务调度模型的保障任务时间函数和保障任务资源函数。在预设的任务资源约束条件下求解保障任务调度模型,得到使保障任务时间函数的值最小的保障任务的最短任务执行时序。根据最短任务执行时序,得到待保障舰载机集合对应的保障任务调度数据。

具体地,对于待保障的舰载机集合,根据其执行任务的计划得到对应的保障任务计划,并获取对于上述待保障舰载机集合的可用的消耗性资源和非消耗性资源的数量及其随时间的变化情况(如补给情况)。根据舰载机的保障任务的保障任务资源需求和保障任务执行时间需求,对所有舰载机的保障任务建立保障任务调度模型。考虑甲板空间、保障资源总量等限制等约束条件,对保障任务调度模型进行求解,求解方式可以采用含局部搜索策略的双种群遗传算法,得到最优保障任务调度方案数据m1,对应的保障任务执行时段为[0,c1]。

需要指出的是,步骤202是以单架舰载机的保障任务为最小的调度单位,对整个舰载机集合在执行任务期间的保障任务调度方案进行整体的优化,为后续在滚动时间窗口中对具体的保障工序进行执行时序优化提供优化的起点和基础。

步骤204,根据预设的保障需求频率数据、环境变化频率数据和任务执行时间参数,得到滚动时间窗口的时间长度值。保障任务时段的时间长度值为滚动时间窗口的时间长度值的两倍以上。以保障任务时段的开始时间为起点,依次设置互不重叠的滚动时间窗口,使设置的滚动时间窗口完全覆盖保障任务时段。

具体地,对于得到的最优保障任务调度方案数据m1,在其对应的保障任务执行时段为[0,c1]中设置长度为rh的滚动时间窗口,滚动时间窗口和保障任务执行时段的起始时间点重合,且滚动时间窗口首尾相接地覆盖保障任务执行时段。确定滚动时间窗口的长度rh时,应考虑到:窗口长度过大则会是后续的模型求解的规模增大,不能及时响应保障过程的动态扰动;长度过小则保障调度过于频繁,使得舰载机保障过程中的全局最优性降低同时影响系统的稳定性。

进一步地,根据舰载机执行的任务情况,滚动时间窗口之间也可以设置一定间隔,或者根据任务中舰载机的保障需求的时间密度变化,对应改变滚动时间窗口的长度,以进一步优化得到的保障调度方案的高效性和稳定性。

步骤206,使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件。工序执行限制条件包括,工序执行时间限制条件和工序执行空间限制条件。

本实施例中,各保障工序在工序执行限制条件中,指定了与其他保障保障工序之间的紧前紧后关系(即必须遵循指定的执行顺序,且工序间可以无间隔时间),以及可并行执行关系(即与指定的工序执行之间可以全部或部分同时进行)。

步骤208,根据工序时间参数、工序资源需求参数和工序执行限制条件,构建描述保障工序的执行时序的保障工序调度模型,以及构建保障工序调度模型的保障工序时间函数和保障工序资源函数。

具体地,对于每一个滚动时间窗口建立对应的保障工序调度模型,并建立对应的保障工序时间函数。以保障工序时间函数的值最小为优化目标:

minf=min(cmax)(1)

其中,f=min(cmax)代表保障工序时间函数,cmax为工序的执行时序的最大完工时间。

步骤210,在预设的工序资源约束条件下求解保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序。工序资源约束条件是根据对应的工序资源数量的时间函数确定的。

具体地,将舰载机保障调度问题抽象为资源受限保障调度问题,根据保障工序的紧前紧后约束关系,以及非消耗性资源和消耗性资源的保障供给情况,建立当前滚动时间窗口内保障资源所满足的多个约束条件,优化分配当前滚动时间窗口内的保障空虚所需的工序资源需满足多个保障约束条件,如保障工序约束、保障工时约束、保障资源供应量约束、保障资源保障范围约束。详见式(2)至式(12)。

式(2)建立保障开始时间约束关系,即舰载机第一道保障工序开始时间需其在飞行甲板系留完成之后。

其中:sxi表示为舰载机i入场系留完毕时间,si1表示为舰载机i的第一道保障工序开始时间,i为舰载机的集合。

式(3)为任一工序保障开始时间和结束时间的约束关系:

其中sij为第i架舰载机第j个工序的保障开始时间,eij为舰载机i工序j的保障结束时间,dij为舰载机i工序j的保障工时,ji为舰载机i的工序的集合。

式(4)为各舰载机的保障工序需满足一定的紧前紧后约束关系,即任意工序的开始时间需晚于其紧前工序的最大完工时间:

其中pij表示第i架舰载机第j个工序的前驱任务集合。

式(5)为各舰载机保障工序保障过程中只需执行一次的约束关系。

其中,tall为舰载机所有保障工序全部执行一次的最大完工时间。

式(6)为舰载机保障空间资源约束,对同一舰载机站位空间的不同工序不能同时进行保障作业。

其中,rsijk表示为第i架舰载机第j个工序所需第k(k∈ks)类空间站位的数量,ks为保障站位空间种类集合。

式(7)为舰载机保障人员约束,即同一时刻正在进行的保障工序某类专业人员需小于该专业保障人员总数。

其中,rpijk为第i架舰载机第j个工序所需第k(k∈kp)类专业保障人员的数量,kp为保障人员专业种类集合,lpk为第k(k∈kp)类保障专业人员集合。

式(8)为舰载机的保障设备资源站约束,任意时刻对某一保障设备资源的需求不应超过该类资源站的保障总数。

其中,reijk为第i架舰载机第j个工序所需第k(k∈kr)种保障设备的数量,kr为保障设备资源站种类集合,lrk为第k(k∈kr)种设备保障单元集合。

式(9)为舰载机保障过程中消耗性资源约束,任意时刻保障工序对某种消耗性资源的需求小于等于其最大供给量;

其中,rwijk为第i架舰载机第j个工序所需第k(k∈kw)类消耗性资源的数量,kw为保障工序的消耗性资源种类集合,为第k(k∈kw)种消耗性资源在第t时刻的供应量。

式(10)为舰载机保障设备需求量约束,保障过程中某种设备的被分配数量应等于工序需求量。

其中,xeijkl表示若第i架舰载机第j个工序分配给第k(k∈kr)类保障设备第l(l∈lrk)个保障设备则为1,否则为0

式(11)为舰载保障工序的人员需求量约束,保障过程中某类保障人员的被分配数量应等于工序需求量。

其中,xpijkl表示若第i架舰载机第j个工序分配给第k(k∈kp)类专业人员第l(l∈lpk)个保障人员则为1,否则为0

式(12)为舰载机保障资源站设备及各专业保障人员的保障范围约束,集中式保障过程保障设备及保障人员只针对保障范围之内的舰载机进行保障。

对模型进行求解时,以工序执行时序为个体,使用双种群遗传算法得到使保障工序时间函数的值最小的最短工序执行时序。具体地,根据待保障舰载机的保障资源需求,在上述资源约束条件下根据模型执行含局部搜索策略的双种群遗传算法,生成当前滚动时间窗口内的保障工序执行时序。含局部搜索策略的双种群遗传算法采用基于工序编码的机制和自适应交叉变异方案加快算法收敛速度,采用局部搜索策略和左右种群双向对齐迭代技术优化求解以提高求解结果的全局最优性。算法的执行过程具体包括:编码与解码、交叉与变异、局部搜索与双种群调度,算法执行的具体步骤如下:

初始化种群,初始化设置双种群遗传算法迭代次数以及种群规模。以当前滚动时间窗口中待保障舰载机的保障工序执行时序为染色体个体,对其进行编码,染色体个体采用二元数组表示其中xi表示为(i,j),i表示第i架舰载机,j表示第i架舰载机的第j个工序,nk表示第k个滚动时间窗口中的保障工序的总数量,xi(i=1,2,…,nk)。初始种群采用随机方式生成,且每架舰载机的保障工序必须满足保障过程中的紧前紧后约束关系。

(2)解码操作,对编码种群采用解码操作实现种群染色体编码向保障工序执行时序分配,在保障调度过程中采用串行调度生成机制和并行调度生成机制相结合的解码策略。在考虑式(2)到式(12)约束条件下,针对保障完成时间采用串行调度生成机制,对保障人员分配实施累积作业时间最小优先的分配规则,即从空闲保障人员集合中选取保障工时最少的人员对该工序进行保障,对保障设备采用设备覆盖范围剩余工序作业时间最少优先的分配规则,即对集中式保障设备覆盖范围内剩余保障工序工时最少优先规则。

(3)种群交叉策略,所述交叉策略即对保障工序执行时序种群按照一定的适应度值和选择算子,针对种群中的染色体所代表舰载机各个保障工序的紧前紧后约束关系采用带修正策略的单点交叉策略避免产生非法解生成新的交叉种群。具体地,按照交叉概率pc选取进行交叉操作的个体对xp和xq,并随机生成交叉位pos∈[1,nm]。首先将父染色体xp和xq的前pos位基因交叉互换得到x′p和xq′,然后取出xq的后nm-pos位基因,按照其在xp中的顺序进行重排,并将所得序列替换x′p的后nm-pos位基因得到子染色体yp,同理取出xp的后nm-pos位基因,按其在xq中的顺序重排并替换xq′的后nm-pos位基因得到子染色体yq。

(4)个体变异策略,按照给定的变异概率对编码的不同部分执行变异操作。所述变异操作即舰载机保障过程中采用自适应交叉变异策略,使得优化过程中增加保障工序执行时序种群多样性,避免陷入局部最优。针对变异生成的新个体采用相同的解码策略求得对应的目标函数。

令变异概率为其中,分别为变异概率的最小最大边界。种群多样性因子定义为其中为第i个体的当前最大保障时间,为当前种群平均最大保障时间,多样性因子最大值dmax=max{di,i=1,2,…,g},其中g表示当前种群进化代数。

(5)执行局部搜索策略,局部搜索策略即采用保障工序执行时序种群在执行交叉变异和全局搜索之后,选取种群中部分比例最优个体进行局部搜索,引导优化算法在多局部极值个体解空间中进行进一步深度搜索,进而增强优化算法的全局寻优能力。

采用双种群遗传算法重复迭代以达到给定的迭代次数,输出最优保障方案。双种群调度策略即采用左右种群遗传进化求解,融入双向对齐技术分别对左右种群交替迭代。对初始左种群右向对齐解码并对其进行交叉变异和局部搜索优化求解,生成右向保障工序执行时序,以解码所得保障工序执行时序的结束时间修正原编码,得到新的右种群,并保留右种群精英解。对右种群左向对齐解码并对其进行交叉变异和局部搜索优化求解,生成左向保障工序执行时序,以解码所得保障工序执行时序的结束时间修正原编码,得到新的左种群,并保留左种群精英解。将左右种群双向对齐迭代求解加快收敛速度提高求解结果的全局最优性。

步骤212,根据最短工序执行时序得到滚动时间窗口中的保障工序调度数据m2i。

步骤214,根据任务执行时间参数对应的滚动时间窗口对应的保障工序调度数据,生成对应的保障任务工序调度数据,根据保障任务工序调度数据对待保障舰载机集合进行保障。

具体地,保障任务工序调度数据其中n为滚动时间窗口的总数量。根据各个滚动时间窗口中的最短工序执行时序得到对应时段的保障工序调度数据,拼接各个时段的保障工序调度数据得到对整个保障任务的保障任务工序调度数据,可以在此基础上得到对应的保障调度方案,对待保障的舰载机集合执行相应的保障任务。

步骤216,当收到工序调整信号时,获取当前的滚动时间窗口中未执行的保障工序的集合,以及获取当前的可用保障资源。

步骤218,根据可用保障资源得到当前工序资源约束条件,在当前工序资源约束条件下求解保障工序调度模型,得到未执行的保障工序的集合对应的调整后工序执行时序。

步骤220,获取最短工序执行时序和调整后工序执行时序中对应的保障工序的开始时间差,根据开始时间差构建目标函数。

步骤222,根据使目标函数的值最小的调整后执行时序,得到调整后保障工序调度数据。

具体地,根据保障工序调整前后的开始时间差建立的目标函数为:

其中,δ为调整后方案的总时间偏差,代表调整后第i架舰载机的第j道保障工序的开始时间;dij代表调整前第i架舰载机的第j道保障工序的开始时间,ji*为收到调整信号的时刻的未完成保障工序。步骤216至222定义了工序调整时间差目标函数,根据目标函数对模型求解过程进行优化,得到使调整后保障工序调度数据变化最小的解,最大程度确保调度过程的平稳性。

应该理解的是,虽然图1-2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以下列舰载机保障任务为例,说明本申请提供的方法的效果。某任务中共出动13架不同型号舰载机,包括救援直升机,预警机,反潜机,攻击机,加油机五种机型。每架舰载机的保障工序执行时序如图3所示,每个保障工序上方标注了对应的专业人员、资源站设备类型等工序资源需求参数。用无箭头虚线连接的多个工序之间受座舱空间约束,只能同时执行一项。保障空间资源为ks=[座舱空间],各类别保障专业人员的上限为kp=[8,6,8,6],各类保障资源站设备的上限为kr=[8,6,5,5,5],各类消耗性保障资源的上限为kw=[6,5,2,4,2]。设置种群规模为50,双种群遗传算法迭代次数gmax=100,计算各个滚动时间窗口中的最短工序执行时序。同时,考察工序调整信号导致的三类工序调整方式对本实施例中方法性能的影响:即需要对单机的单工序进行调整,对单机的多工序进行调整,以及需要对多机的多工序进行调整。

表1工序调整后保障调度方法性能对比

表1将本申请提供的方法和传统的反应式调度方法的性能进行了对比,其中m表示保障总工时,tt表示算法执行时间,δ表示工序调整前后的时间偏差。可见本申请提供的方法由于分多个时段进行计算,算法执行时间随舰载机数量的变化不明显,且工序调整方案复杂时,其调整程度也明显小于传统的反应式调度。

在一个实施例中,提供了一种基于滚动时域优化的舰载机动态保障调度装置,包括:

保障工序集合获取模块,用于使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件。工序执行限制条件包括,工序执行时间限制条件和工序执行空间限制条件。

保障工序调度模型构建模块,用于根据工序时间参数、工序资源需求参数和工序执行限制条件,构建描述保障工序的执行时序的保障工序调度模型,以及构建保障工序调度模型的保障工序时间函数和保障工序资源函数。

最短工序执行时序计算模块,用于在预设的工序资源约束条件下求解保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序。工序资源约束条件是根据对应的工序资源数量的时间函数确定的。

保障工序调度数据生成模块,用于根据最短工序执行时序得到滚动时间窗口中的保障工序调度数据。

其中一个实施例中还包括保障任务调度数据生成模块,用于获取待保障舰载机集合对应的保障任务的集合,得到保障任务对应的任务执行时间参数和任务资源需求参数。根据任务执行时间参数,构建描述保障任务的执行时序的保障任务调度模型,以及构建保障任务调度模型的保障任务时间函数和保障任务资源函数。在预设的任务资源约束条件下求解保障任务调度模型,得到使保障任务时间函数的值最小的保障任务的最短任务执行时序。根据最短任务执行时序,得到待保障舰载机集合对应的保障任务调度数据。

其中一个实施例中还包括滚动时间窗口设置模块,用于根据预设的保障需求频率数据、环境变化频率数据和任务执行时间参数,得到滚动时间窗口的时间长度值。保障任务时段的时间长度值为滚动时间窗口的时间长度值的两倍以上。以保障任务时段的开始时间为起点,依次设置互不重叠的滚动时间窗口,使设置的滚动时间窗口完全覆盖保障任务时段。

其中一个实施例中还包括保障任务工序调度数据生成模块,用于根据任务执行时间参数对应的滚动时间窗口对应的保障工序调度数据,生成对应的保障任务工序调度数据,根据保障任务工序调度数据对待保障舰载机集合进行保障。

其中一个实施例中还包括工序调整模块,用于当收到工序调整信号时,获取当前的滚动时间窗口中未执行的保障工序的集合,以及获取当前的可用保障资源。根据可用保障资源得到当前工序资源约束条件,在当前工序资源约束条件下求解保障工序调度模型,得到未执行的保障工序的集合对应的调整后工序执行时序。获取最短工序执行时序和调整后工序执行时序中对应的保障工序的开始时间差,根据开始时间差构建目标函数。根据使目标函数的值最小的调整后执行时序,得到调整后保障工序调度数据。

其中一个实施例中,最短工序执行时序计算模块用于:在预设的工序资源约束条件下求解保障工序调度模型,得到对应的工序执行时序。以工序执行时序为个体,使用双种群遗传算法得到使保障工序时间函数的值最小的最短工序执行时序。

关于基于滚动时域优化的舰载机动态保障调度装置的具体限定可以参见上文中对于基于滚动时域优化的舰载机动态保障调度装置方法的限定,在此不再赘述。上述基于滚动时域优化的舰载机动态保障调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储保障任务数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于滚动时域优化的舰载机动态保障调度方法。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件。工序执行限制条件包括,工序执行时间限制条件和工序执行空间限制条件。

根据工序时间参数、工序资源需求参数和工序执行限制条件,构建描述保障工序的执行时序的保障工序调度模型,以及构建保障工序调度模型的保障工序时间函数和保障工序资源函数。

在预设的工序资源约束条件下求解保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序。工序资源约束条件是根据对应的工序资源数量的时间函数确定的。

根据最短工序执行时序得到滚动时间窗口中的保障工序调度数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取待保障舰载机集合对应的保障任务的集合,得到保障任务对应的任务执行时间参数和任务资源需求参数。根据任务执行时间参数,构建描述保障任务的执行时序的保障任务调度模型,以及构建保障任务调度模型的保障任务时间函数和保障任务资源函数。在预设的任务资源约束条件下求解保障任务调度模型,得到使保障任务时间函数的值最小的保障任务的最短任务执行时序。根据最短任务执行时序,得到待保障舰载机集合对应的保障任务调度数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据预设的保障需求频率数据、环境变化频率数据和任务执行时间参数,得到滚动时间窗口的时间长度值。保障任务时段的时间长度值为滚动时间窗口的时间长度值的两倍以上。以保障任务时段的开始时间为起点,依次设置互不重叠的滚动时间窗口,使设置的滚动时间窗口完全覆盖保障任务时段。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据任务执行时间参数对应的滚动时间窗口对应的保障工序调度数据,生成对应的保障任务工序调度数据,根据保障任务工序调度数据对待保障舰载机集合进行保障。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当收到工序调整信号时,获取当前的滚动时间窗口中未执行的保障工序的集合,以及获取当前的可用保障资源。根据可用保障资源得到当前工序资源约束条件,在当前工序资源约束条件下求解保障工序调度模型,得到未执行的保障工序的集合对应的调整后工序执行时序。获取最短工序执行时序和调整后工序执行时序中对应的保障工序的开始时间差,根据开始时间差构建目标函数。根据使目标函数的值最小的调整后执行时序,得到调整后保障工序调度数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:在预设的工序资源约束条件下求解保障工序调度模型,得到对应的工序执行时序。以工序执行时序为个体,使用双种群遗传算法得到使保障工序时间函数的值最小的最短工序执行时序。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

使用预设的滚动时间窗口,从预设的保障任务调度数据中获取待保障舰载机集合对应的保障工序的集合,得到保障工序对应的工序时间参数、工序资源需求参数和工序执行限制条件。工序执行限制条件包括,工序执行时间限制条件和工序执行空间限制条件。

根据工序时间参数、工序资源需求参数和工序执行限制条件,构建描述保障工序的执行时序的保障工序调度模型,以及构建保障工序调度模型的保障工序时间函数和保障工序资源函数。

在预设的工序资源约束条件下求解保障工序调度模型,得到使保障工序时间函数的值最小的最短工序执行时序。工序资源约束条件是根据对应的工序资源数量的时间函数确定的。

根据最短工序执行时序得到滚动时间窗口中的保障工序调度数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取待保障舰载机集合对应的保障任务的集合,得到保障任务对应的任务执行时间参数和任务资源需求参数。根据任务执行时间参数,构建描述保障任务的执行时序的保障任务调度模型,以及构建保障任务调度模型的保障任务时间函数和保障任务资源函数。在预设的任务资源约束条件下求解保障任务调度模型,得到使保障任务时间函数的值最小的保障任务的最短任务执行时序。根据最短任务执行时序,得到待保障舰载机集合对应的保障任务调度数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据预设的保障需求频率数据、环境变化频率数据和任务执行时间参数,得到滚动时间窗口的时间长度值。保障任务时段的时间长度值为滚动时间窗口的时间长度值的两倍以上。以保障任务时段的开始时间为起点,依次设置互不重叠的滚动时间窗口,使设置的滚动时间窗口完全覆盖保障任务时段。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据任务执行时间参数对应的滚动时间窗口对应的保障工序调度数据,生成对应的保障任务工序调度数据,根据保障任务工序调度数据对待保障舰载机集合进行保障。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当收到工序调整信号时,获取当前的滚动时间窗口中未执行的保障工序的集合,以及获取当前的可用保障资源。根据可用保障资源得到当前工序资源约束条件,在当前工序资源约束条件下求解保障工序调度模型,得到未执行的保障工序的集合对应的调整后工序执行时序。获取最短工序执行时序和调整后工序执行时序中对应的保障工序的开始时间差,根据开始时间差构建目标函数。根据使目标函数的值最小的调整后执行时序,得到调整后保障工序调度数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在预设的工序资源约束条件下求解保障工序调度模型,得到对应的工序执行时序。以工序执行时序为个体,使用双种群遗传算法得到使保障工序时间函数的值最小的最短工序执行时序。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

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

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