(陆军工程大学指挥控制工程学院 南京 210007)
关键字 作战任务;任务分解;元任务
作战任务是一系列军事行动开展的依据,在作战过程中,兵力资源、物质资源的调动都要根据具体的作战任务来开展。在联合作战的背景下,参谋人员需要将上级下达给本级的作战任务分配给下级作战力量。因此,作战任务分解是作战计划制定过程中必要的基础工作。
目前,对作战任务的分解建模都是基于参谋人员的经验,采用类似于美军DoDAF[1]和英军MODAF[2]中的使命任务模型来表示。Eduardo Sil⁃va等[3~4]设计了基于KAOS的使命分解建模方法,但在使命分解时未考虑使命的相关属性。文献[5]从使命属性的角度研究了使命任务分解时需要遵循的相关原则,但该研究方法主要针对于指挥控制系统的需求建模阶段。研究作战计划制定过程中的作战任务分解时,需要考虑新的相关要素。针对上述问题,本文提出了一种基于属性提取的作战任务分解建模方法。
作战任务是指指挥员在本级作战单位中需要完成的各种任务的统称,包括进攻、防御、后勤保障等一系列任务[6]。根据指挥级别的不同,某一级别的作战任务可以在本级进行分解细化,将分解后的作战任务下发给下级。被分解的作战任务成为下级作战单位的上级作战任务,需要所有作战单位共同保障完成。由于上级作战任务过于概略,作战单位无法得知自己在作战过程中需要做什么,为了使各个作战单位明确自己的作战任务,需要将上级作战任务进行分解细化为更加详细的作战任务,这个过程称之为作战任务分解[7~8]。在使命任务分解过程中得到的更加细化的任务,称之为子任务。
元任务指作战任务分解过程中分解得到的最小任务单元[9]。元任务是相互独立的、不重叠的、不可再分解的,通常以装备单元为分解的最小粒度,以便由作战任务得到对应的装备从而形成体系作战。
根据作战过程中的相关要素,将作战任务定义为以下多元组:
定义1:作战任务定义为多元组Task=
1)name表示该作战任务的名称;
2)what:描述了作战任务是什么,即对任务的基本描述;
3)who:任务执行的主体,包括军兵种、兵力数量等,属性描述为(A_Name,A_Amount);
4)when:任务执行时间,包括任务执行的开始时间以及完成时间限制,属性描述为(T_Begin,T_Last),T_Last属性的制定需要考虑到为后续任务留下准备时间;
5)where:任务执行的区域(包括作战区域、区域坐标、作战目标主体所在区域),在下发到作战部队之后,需要在属性中添加我方部队所在位置的信息;
6)aim:作战指向的目标。
根据已有的历史作战经验、案例以及专家经验知识,得到作战活动的任务清单、能力清单和专家知识库,将得到的作战任务进行继续分解,最终得到符合作战任务定义的元任务清单,根据元任务清单来构建元任务库。
作战任务可以帮助作战单位了解并明确自己的作战行动[10],是建立完整作战体系的重要环节之一。作战任务可以分解为更加详细的子任务,直到元任务[11~12];相反的,元任务、子任务也可以合成更高层的作战任务。通过一系列原则的制定以及在分解过程中对这些原则的遵守,可以进一步得到更加明确的作战任务分解步骤。
根据作战过程中涉及的要素,作战任务分解时,要保证分解后的字任务不能与上级作战任务在这些要素上矛盾,因此制定了以下分解原则。
1)原则一:属性集原则
上级作战任务分解得到的所有子任务的属性的集合为上级作战任务的集合。如果高级使命任务的属性(attribute)集合为Task_Father={A1,A2,A3,A4},从而分解任务可以得到Task_1={A1}、Task_2={A2,A3}、Task_3={A4}。如图1所示。
图1 作战任务分解属性集原则
2)原则二:统一目标原则
作战任务分解过程中,分解要按照目标不变的原则,即所有作战任务分解都是对目标的打击、抢占等为依据。
3)原则三:划分阶段原则
不同的作战阶段有不同的作战任务,以时间顺序、事件因果顺序或者任务优先级顺序分解得到子任务。例如:对于时间顺序,拦截导弹需要先进行预警探测,得到地方导弹的信息后才能进行火力拦截;对于事件因果顺序,若前方有障碍物时需要清除才能进行机动;对于时间优先级顺序,进行海岛占领作战时,需要登陆之后才能继续之后的作战。
4)原则四:可合成原则
分解得到的子任务或元任务,其属性的集合是上级任务属性的子集,且子任务属性集合的并集为上级任务的属性集。
5)原则五:可执行原则
作战任务分解过程中得到的子任务必须是依据我军已有的武器作战部队可以执行的任务,即必须是元任务。
作战任务在分解过程中,因各自属性之间的关系,使得作战任务之间也存在某种关系,这些关系是作战任务分解过程中必须要考虑的。
1)关系一:与或关系
高级作战任务需要达到的作战指标有多个,分解得到的子任务有不同的属性,图2中分解得到的子任务有 Task_1、Task_2、Task_3、Task_4,这些子任务中如果完成一个子任务Task_2就可以省略另一个子任务Task_3,则称Task_2与Task_3是“或”关系;如果完成Task_1后也必须完成Task_4则称Task_1与Task_4是“与”关系。与任务之间是相互独立的任务,且不能被其他任务所代替;或任务中可以选择任务进行完成。
图2 子任务的与或关系
在元任务库中可以找到在作战任务分解中得到的元任务,查找属性之后可以得到属性的集合,对属性集合进行比较,得到以下三种情况。
(1)属性无重合
这样的两个或多个任务之间的关系为“与”关系,即完成一个任务不能代替其他任务的完成。
(2)属性部分重合
执行任务的两个或多个作战单位在某些的情况下可以进行一定的支援,以提高任务完成的成功率。
(3)属性完全重合
这样的另个或多个任务之间的关系为“或”关系,即完成一个任务可以任务完成了其他同一事件、地点的任务,或可以使用相同的武器装备进行任务的完成,任务之间可以相互补充,作为设立预备方案等的依据。
2)关系二:依赖关系
在作战任务执行的过程中,一部分任务的执行需要的条件由其他任务提供,或例如:当任务A完成之后,另外的任务B才能开始进行,这样可以将描述为:任务B依赖于任务A。
3)关系三:冲突关系
在实际作战当中,由于作战资源的数量等问题下,有许多计划中需要同时进行的任务在实际中不能同时进行,例如:任务A、任务B需要用到防空导弹,但是防空导弹同一时间只能发射一颗,当任务A在进行时,任务B不能进行,称任务A与任务B冲突。
作战任务分解后最终得到一个作战任务分解树,具体分解算法如下。
输入:本级的最高作战任务
输出:作战任务分解树
算法过程:
步骤一:获取最高作战任务。根据作战想定,获取最高作战任务。
步骤二:分析作战方式。作战方式包括进攻作战和防御作战。
步骤三:提取属性。分析最高作战任务,提取任务的属性,其中,任务的属性集必须包含作战任务的基本属性。
步骤四:任务对照检查。对照元任务库,检查子任务的属性集,若不符合作战任务分解原则,则放入一个集合“Finish”中,后续重新进行分解;若符合,放入另一个集合“Continue”中,后续不需要在进行检查和分解;检查“Continue”集合。若集合为空,则执行步骤六;若集合不为空,则执行下一步骤,若集合为空,执行步骤五。
步骤五:任务属性拆分。对任务的属性进行拆分,拆分部分分为两种,一种是保持属性的值,拆分属性集中的元素成为新的子任务的属性集;另一种是对属性的值进行拆分,这些任务的完成通常无法由单个作战单元完成,通过属性值的拆分,使其可以交由两个或多个作战单元执行。属性拆分之后对属性集进行检查,使其符合作战任务分解原则;执行步骤四。
步骤六:任务完善。检查、补充和完善任务的各个基本属性,返回作战任务分解树。
作战任务分解算法流程图如图3所示。
图3 作战任务分解流程图
作战双方设定为红蓝双方,红方为进攻方,执行抢占高地任务,蓝方为目标方,执行防御任务。首先,红方已经完成了高地附近主要区域的封锁,目标占领蓝方的两个目标(目标一为175高地,目标二为185高地),目标地形示意图如图4所示。
图4 占领高地态势图
图中有两个目标点,目标一有两个进攻方向。
目标一的进攻方向A在途中布有地雷,进攻方向B有蓝军哨所;目标后方有蓝军增援部队,但是目标一后方增援部队增援要经过一处山谷,且增援的两条道路上都有桥梁;目标一附近有高地火力点威胁,以及导弹发射车队。
目标二有一个进攻方向。途中布有地雷,以及哨所的看守,目标路途中有增援部队,且附近有装甲车部队,可以对蓝军高地进行增援;目标二附近有一处导弹阵地,在后方有一处蓝军驻地,有一处机场,驻有蓝军战机。
由于作战涉及到进攻和防御两种作战方式,且作战目标为抢占高地;涉及到地方布有雷区,所以有雷区和医疗相关的元任务;查找元任务库,收集到的元任务库如下:
案例涉及如下作战资源:
1)工兵连;
2)步兵连;
3)医疗救援直升机分队;
4)特种作战分队;
5)侦察卫星。
依照上文的作战任务分解步骤,对作战想定的描述进行作战任务的获取和分解
1)上级作战任务的获取
根据作战想定,顶层作战任务为“抢占高地作战”。
2)分析作战方式
对于抢占练出高地目标的作战为“进攻作战”,防御导弹车和固定导弹阵地的作战为“防御作战”。
3)提取属性
“进攻作战”基本属性集为
{
WHAT=“进攻作战”
WHO=“作战部队”
WHERE=(0-60,20-70)
WHEN=(2000/01/01 10:00,47h)
AIM=“占领高地”,“阻击、消灭敌方增援部队”
};
“防御作战”基本属性集为
{
WHAT=“防御作战”
WHO=“作战部队”
WHERE=(0-60,70-100)
WHEN(2000/01/01 10:00,全时)
AIM=“防御来自陆地、空中攻击”
}。
4)任务对照检查
“进攻作战”和“防御作战”都不符合元任务库种的元任务,将两个子任务放入“Continue”集合中,此时“Finish”集合为空;检查“Continue”集合。集合不为空,执行下一步骤。
5)任务属性拆分
将“进攻作战”任务属性集中的WHAT属性进行拆分,可以分为“占领175高地”、“占领185高地”、等子任务;“防御作战”可以分为“北区防御”、和“南区防御”,再执行算法步骤4)。
6)任务对照检查
对照元任务库,检查子任务的属性集,其中,“清除地雷”任务符合元任务库中的元任务,放入“Finish”集合中,其他子任务放入“Continue”集合中,此时集合“Continue”不为空,执行下一步。
7)根据WHERE属性,对“进攻作战”进行属性拆分,可以分为“北路进攻”、“南路进攻”,“防御作战”可以分为“北区防御”、“南区防御”。
8)对照检查,分解得到的子任务不符合元任务库中的元任务描述,需要进一步分解。“占领175高地”可以分解为“清除地雷”、“炸毁桥梁”、“进攻高地”、“占领高地”、“部队机动”、“进攻高地”、“占领高地”、“摧毁导弹车部队”;“占领185高地”可以分解为“清除地雷”、“部队机动”、“摧毁导弹阵地”、“进攻高地”、“进攻哨所”、“占领高地”;针对可能出现的伤亡,在“占领175高地”和“占领185高地”任务中需要有“医疗救护”任务;针对可能出现的敌军增援情况,在“占领175高地”和“占领185高地”任务中需要添加“遭遇战”任务。“北区防御作战”可以分为“北区陆地防御”、“北区空中防御”;“南区防御作战”可分为“南区陆地防御”、“南区空中防御”。
9)检查所有子任务,得到的子任务都是元任务集中的元素,放入“Finish”集合,此时“Continue”集合为空,执行步骤六检查、补充和完善任务的属性。
最终构建的作战任务分解树如图5所示。
图5 作战任务分解任务树
本文建立了作战任务分解的相关概念、制定了作战任务分解的原则以及设计了作战任务分解的相关算法。其中,作战任务的相关概念是作战计划的基础。在战争计划的制定中,程序化、标准化是制定计划必不可缺的要求。本文的主旨是尝试在作战任务的分解的基础下,按照作战任务分解步骤、依照作战任务分解原则,依托元任务库进行作战任务的分解。