孙海文,谢晓方,孙 涛,王诚成
(海军航空大学 兵器科学与技术系, 山东 烟台 264001)
随着各种高新技术在兵器研制中的广泛应用,空中目标的技术性能和空袭战术发生了重大变化:在技术性能方面,目标的速度、射程、机动能力、抗干扰能力以及隐身性能都得到较大提高;在空袭战术方面:目标更多地实施多批次、超低空攻击,实施饱和攻击以及防区外攻击,电子侦察、干扰与压制相结合。这就要求现代舰艇防空要从单型号单平台防空武器系统控制逐渐向多型号多平台武器系统综合控制发展,同时,要求舰艇防空武器综合控制系统对连续多批次目标任务具备快速实时性和动态持续性的拦截能力[1]。
目前,国内外绝大多研究是从运筹学的角度,将整个防空过程看作是火力-目标分配问题,即多项式复杂程度的非确定性(NP)问题。火力-目标分配有两种类型:一种是静态火力-目标分配,在其分配过程中,所有参数都是已知的,并且在一个阶段中将所有武器分配给所有的目标,该问题大多采用匈牙利算法[2]、粒子群算法[3-6]、蚁群算法[7]以及遗传算法[8]等方法进行求解;另一种是动态火力-目标分配,所有武器都是分阶段分配的,当前阶段的火力分配,要结合前一阶段的目标毁伤结果进行分配,文献[9]将遗传算法与anytime算法相结合来解决动态火力-目标分配,并取得了较好的结果;文献[10]提出一种禁忌搜索算法来求解动态火力-目标分配问题,仿真结果验证了该方法的有效性。文献[11]将马尔科夫模型与近似动态规划法有效结合,在时间序列上对动态火力资源进行分配。
通过分析这些文献发现:很少有从任务规划和资源调度的角度对整个防空过程进行分析研究,使得防空过程缺乏系统性和动态连续性;随着人工智能技术的发展,大多数文献都采用智能算法对问题进行求解,而没有从知识表示和推理的角度,对防空过程进行智能决策研究。
针对上述问题,本文提出了一种基于PROLOG语言的智能在线任务规划及火力资源调度方法。该方法可实现探测跟踪、威胁评估、火力分配方案制定、火力分配方案执行、毁伤评估等多个行动同时执行。将整个防空过程放在时间轴上,连续多批次目标看作拦截任务,将编队防空作战中各平台上的火力节点、制导节点以及探测节点看作调度资源,对可重复性资源,在其空闲时间窗内可进行多次调度。利用PROLOG语言[12]根据当前目标状态信息、火力资源状态信息以及各控制参数等信息,结合Prolog自身的推理机制,自动推理出处理目标任务的可行行动;在防空目标任务规划过程中,传统的火力资源调度方式是一旦开始对目标任务进行火力资源分配时,绝不会因为任何原因中断对当前目标任务的火力资源分配方案的制定和执行。由于来袭目标往往是连续多批次出现的,传统的火力资源调度模式不能达到最佳的拦截状态。因此,在基于Prolog的任务规划基础上,引入抢占式火力资源调度思想,即当新的优先级更高的目标出现时,在方案执行时间之前,对已制定的拦截方案进行武器释放,生成更优的拦截方案。通过仿真分析,验证了该方法的有效性和优越性。
Petri网[13]是一种可用图形表示的组合模型,其不仅可以用于静态结构分析,也可用于动态行为分析。随着Petri网理论及应用的不断扩展,近年来,Petri网在知识表示及推理领域被广泛应用。本文结合舰空武器智能综合控制系统的功能特点,利用Petri网构建了综合防空目标任务的处理流程。如图1所示。图1中的库所及变迁含义如表1所示。
图1 基于Petri网的目标任务处理流程
库所含义变迁含义P1来袭目标t1发现并跟踪目标P2已被发现并跟踪的目标t2威胁判断P3等待被分配火力通道的目标t3火力分配方案制定P4已分得火力通道的目标t4分配方案开始执行P5正在被拦截的目标t5拦截评估P6等待再次拦截的目标t6同一火力通道进行二次拦截t7更换火力通道进行二次拦截
系统任务处理的具体行动如下:
1) 发现并跟踪目标
输入:来袭目标状态 (雷达探测并跟踪)
输出:目标类型、位置信息、运动特征、目标攻击意图以及目标状态转到已被发现并跟踪的目标状态。
2) 威胁判断
输入:目标类型特征(目标类型、干扰能力量化值)、位置信息(目标高度、目标方位角、目标距离)、运动特征(目标径向速度、航路捷径)、目标攻击意图量化值等。
输出:各目标的威胁值,并且目标状态转到等待被分配火力通道的目标状态。
3) 火力分配方案制定
输入:目标的威胁值、目标的类型、目标的位置信息、目标的运动特征、火力资源的状态信息、战技指标、作战空域信息。
输出:目标状态转到已分得火力通道的目标状态和非分得火力通道的目标状态(即生成拦截方案),将未分得火力通道的目标转转到已发现并跟踪的目标状态。
4) 分配方案开始执行
输入:当前时间(到达方案执行时刻)
输出:目标状态转到正在被拦截的目标状态。
5) 拦截评估
输入:当前时间(到达目标与导弹遭遇的时刻)。
输出:目标是否被拦截成功,若成功拦截,则该目标任务结束;否则转到待再次拦截目标状态。
6) 同一火力通道进行二次拦截
输入:目标位置信息、该火力通道作战空域信息(目标处于该火力打击范围内)。
输出:目标状态转到正在被拦截的目标状态。
7) 更换火力通道进行二次拦截
输入:目标位置信息、该火力通道作战空域信息(目标不处于该火力打击范围内)。
输出:目标状态转到已发现并跟踪的目标状态。
根据7个任务行动和6个目标任务状态来进行相关知识的获取、表示和推理,完成不同目标状态下的行动规划,并调用相应的行动功能模块进行目标任务处理。
Programming in logic(Prolog)[14]是一种具有知识表达及逻辑推理能力的程序设计语言,其具有模式匹配、递归、回溯、事实库和谓词库等强大功能,其在求解问题时,只需描述问题中的对象和对象关系等已知的事实和规则,计算机就能自动得出结果。将其应用到综合防空任务行动规划问题上,可快速有效地推理出要执行的下一行动。
这里采用Prolog进行防空目标任务的行动规划,根据目标状态信息和火力资源状态信息,通过相应的行动规则以及Prolog的推理机制,对防空目标任务进行规划处理,具体行动规划过程如下:
1) 分析综合防空过程中需要用到的相关领域概念以及相互关系;
2) 定义相关域和属性。域:string、integer、float以及boolean等;属性包括目标状态、目标类型、目标位置以及火力资源状态等属性;
3) 采用面向对象进行事实库的构建,包括目标事实库和舰船事实库。事实库的结构形式如表2和表3所示;
4) 采用逻辑及产生式规则进行规则库构建,这里构建在线任务规划规则,如表4所示;
5) 对规则进行语法和完备性检查,并通过Prolog的深度优先搜索进行推理。
表2 目标知识表示
表3 舰艇知识表示
续表3
火力资源调度是整个在线任务规划中最为关键的一个行动。如何高效有序地进行火力资源调度提高舰艇的生存能力是防空作战过程中重要的一部分。在此采用抢占式火力资源调度方式,即,方案执行之前,当新的目标任务出现,可对已分配好的火力资源进行释放,重新进行资源分配。
抢占式调度主要原则有:
1) 威胁度优先权原则。当威胁度高的目标出现时,将威胁度低的目标任务的火力资源释放,重新对威胁度高的目标任务进行资源分配;
2) 飞临时间优先权原则。当新出现的目标飞临时间明显比当前目标短,则释放飞临时间长的目标任务的火力资源,并优先对飞临时间短的目标任务进行火力资源分配。
3) 时间原则。抢占式调度只能在方案执行之前进行,一旦方案开始执行,则不能进行抢占式调度,只能进行下一阶段的资源调度方案的制定。
表4 在线任务规划规则表示
假设某一次防空作战中,m个空袭目标编号为Tj(j=1,2,…,m),n个火力单元的编号为Fi(i=1,2,…,n)。令xij为决策变量,若第i个火力单元被分配拦截第j个目标,则xij=1,否则xij=0;令pij为第i个火力单元对第j个目标的毁伤概率。设Pj为所分配火力对第j个目标的联合毁伤概率,则:
(1)
(2)
式(2)中,tij为目标j到火力单元i的飞临时间。
引入预先毁伤概率阀值和飞临时间的火力-目标分配模型:
(3)
(4)
(5)
式(5)表示一个火力单元至多只能分配给一个目标。
某一来袭目标的出现时间为tT,离舰艇的距离为dT,并以速度vT向舰艇逼近,拦截导弹的飞行速度为vF,武器的最大拦截距离为dmax,最小拦截距离为dmin,对来袭目标的锁定耗时为tlock,准备武器耗时为ta,拦截方案执行的开始时间为tp,拦截点离舰船的距离为dinter,拦截发生的时间为tinter,针对某一个来袭目标的拦截,某一拦截方案对可重复占用/释放武器F的时间窗口占用记为tF={nameF,[ts,te]},其中ts表示武器实施协同拦截的开始时间,te表示武器实施协同拦截的结束时间。
导弹占用时间窗口:
tfire={fire,[tp,tp+tlock+ta]}
(6)
对于中近程导弹需要照射器照射引导,计算照射器占用时间窗口:
dinter∈[dmin,dmax]
(7)
tinter=tp+tlock+ta+dinter/vT
(8)
tguidance={guidance,[tp,tinter]}
(9)
如图2所示,表示执行一个任务的动作序列为{o1,o2,o3,o4},任一行动o的起止时间记作st(o)和et(o)。其中需要火力单元F1和F3分别执行o2和o4,制导节点G2执行o1和o3。
图2 执行目标任务的甘特图
为了有效调度火力资源,避免占用时间窗口上的资源调度冲突,将火力资源的时间窗口进行以下分类:
定义1:工作时间窗口WTW(Working time window)。表示该时间窗口内,无人平台被调度去执行某一行动。
定义2:临时空闲时间窗口TATW(Temporarily avaible time window)。无人平台在时间窗口处于临时空闲状态,经过一定的时间段将去执行某一行动。
定义3:持续空闲时间窗口PATW(Persisitently avaible time window)。表示无人平台在该时间窗口内未被分配任务行动,处于持续空闲状态。
以上3类时间窗口可有效地表示各火力资源某时刻的时间窗口状况。当在t1时刻,各火力资源的时间窗口集合为:
当到达t2时刻,各火力资源没有接受到新的执行动作,则各火力资源的时间窗口集合为
各火力资源在满足时间约束的情况下,在其临时和持续空闲时间窗口内均可被调度。
步骤1:按照发现时间上先到先服务的算法思想进行任务排序。假设在时间tNi发现第i批次的目标集合Ni。
步骤2:限定算法分配时间Δt以及各目标的预期毁伤门限,目标数量较少时可采用遍历搜索算法,较多时采用智能算法(布谷鸟算法,由于这不是本文的研究重点,因此不详细介绍),结合式(3),在满足毁伤概率门限的条件下,优先对威胁度高,飞临时间短的目标任务进行火力分配。
步骤3:选择方案执行时间。按照方案中飞临时间最短的目标任务的时间状态,来选方案执行时间。执行时间的选择范围为[tearly,tlast]。其中,tearly为最早执行时间,即保证导弹在杀伤区远界与目标相遇的拦截方案执行时间;tlast为最晚执行时间,即保证导弹在杀伤区近界与目标相遇的拦截方案执行时间。
步骤4:当出现新的目标任务,比较威胁程度以及飞临时间,要是优先级高于已分配目标任务,则释放优先级低的目标任务的火力资源,重新对待分配目标进行资源调度分配。若抢占式拦截方案在原方案执行时间之前生成,则采用重新生成的方案;否则,按原定方案执行,新到目标任务进入下一轮的火力资源调度中,即返回步骤1。
步骤5:确定好拦截方案后,计算该拦截方案所需火力资源的时间占用窗口集合,更新各火力资源的时间窗口集合。返回步骤1。
综上所述,采用Petri网表示火力资源调度的运行过程,如图3所示。
图3 火力资源调度的运行过程
图3中竖杠代表规则,圆圈代表目标任务和资源状态。当目标任务和资源状态满足规则条件时,则执行相应规则,得到新的目标任务和资源状态。
假设某舰艇配有10个火力通道,每个火力通道拥有6枚导弹,各火力通道转火时间为10 s,来袭目标数目分别为4、8、12和16,目标在时间区域0~10 s,0~30 s,0~50 s,0~70 s上均匀出现,所有目标出现时离舰艇50 km。仿真过程中当时间等于目标出现时间,则视为目标出现;当时间等于方案执行时间,则该方案被执行。当观测到某一目标任务拦截失败,则将该目标视为新目标任务,拦截发生时间视为新目标的出现时间,重新进行方案制定;当在方案执行时间之前出现新的目标,比较威胁度以及飞临时间优先级,进行抢占式资源调度。舰艇的生存概率为毁伤所有目标任务的概率。分别采用本文的抢占式火力资源调度方法与传统的先到先服务的非抢占式调度方法进行对比仿真。4个算例的仿真结果如图4、图5、图6、图7所示。
由图4、图5、图6、图7可见,在目标数量较少,火力资源相对充足的情况下,抢占式调度和非抢占式调度对舰艇生存能力影响基本相同;在目标数量较大、目标出现时间平均分配区间较小、火力资源相对匮乏时,抢占式调度的优势就显现出来,明显提高了舰艇的生存概率。
图4 来袭目标数量为4时抢占式和非抢占式调度效果
图5 来袭目标数量为8时抢占式和非抢占式调度效果
图6 来袭目标数量为12时抢占式和非抢占式调度效果
图7 来袭目标数量为16时抢占式和非抢占式调度效果
本文针对连续、多批次来袭目标任务的舰艇综合火力优化分配问题展开研究。提出了一种基于PROLOG语言的智能在线任务规划及资源调度的综合防空火力优化分配方法。该方法有别于传统运筹学中单纯的火力-目标分配方法,本文尝试将具备知识表示及推理能力的PROLOG智能规划语言用于防空作战的任务规划中;在资源调度中通过分析细化火力资源时间窗口状态,有效地避免资源调度中的冲突,并按照威胁度以及飞临时间优先权引入抢占式调度策略。通过仿真比较分析,该方法能有效地对连续、多批次目标进行持续地拦截;同时,在目标数量相对较多以及出现时间较集中的情况下,抢占式调度策略的引入能相比于非抢占式调度能有效地提高舰艇地生存概率。