一种针对联合作战计划生成的方法

文档序号:30749824发布日期:2022-07-13 08:39阅读:247来源:国知局
一种针对联合作战计划生成的方法

1.本发明属于联合作战计划生成技术方法的技术领域,特别是涉及一种针对联合作战计划生成的方法。


背景技术:

2.根据遗传算法实现联合作战计划的自动生成,主要是利用种群搜索技术,将种群作为一组问题的解,然后通过对当前种群进行一系列类似生物遗传与进化的操作,包括选择、交叉、变异等来产生新的种群,逐渐优化得到近似最优解。具体而言,第一步首先对火力方案数据进行编码,生成初始种群。紧接着根据适应度函数来计算每一个个体的适应度,对每一个个体在种群中的相对优劣情况进行评价。然后根据个体的适应度,选择较优的个体保留至下一代种群。对选择后的种群,随机挑选两个个体进行单点交叉操作,生成新的种群,接着对新的种群根据变异概率进行变异操作。如此往复迭代操作,直至满足终止准则,得到最优的解决方案。此方案编程比较复杂,且对于参数的选择较为困难,因此算法的搜索速度较慢,无法满足作战方案的及时生成。


技术实现要素:

3.技术方案:为了解决上述的技术问题,本发明是针对多目标多方案作战计划生成的方法,以解决现有方法编码复杂且参数较难选择,导致搜索速度较慢,无法及时生成作战方案的问题,本发明提供的针对联合作战计划生成的方法,步骤包括:
4.101、初始化变量数据,包括三类:第一类是每一个目标的打击方案集合,打击方案包括军种、部队、平台、弹药、成爆弹量。第二类是限制条件,包括禁用的弹药及平台。第三类是基础数据,包括弹药的价格、平台发射弹药量、平台发射间隔;
5.102、设置约束条件,约束条件为每一个目标只能从其对应的可选打击方案中选择一个打击方案,所有的目标选择完毕后确定最终的联合打击方案;
6.103、构建最优化目标函数,其中最优化目标是通过102的约束条件下,获得最后的所有联合打击方案所花费的弹药价格最低的打击方案;
7.104、创建模型,初始化模型,将约束条件及最优化目标函数添加到模型中,对优化问题进行建模;
8.105、使用ortools中带有的cp-sat求解器构建约束规划求解器;
9.106、调用105中求解器进行求解,获得104中构建模型在约束条件下的最优解;
10.107、对101至106步骤中得到的求解模型进行测试推论,获得求解器得到的变量值和目标函数值。
11.作为改进,步骤101-102中具体的方法:通过采集多目标联合打击的作战场景中,多个目标,每个目标有多个打击方案,通过设定的约束条件,获得每个目标对应的一个打击方案,这打击方案下满足最优化下条件,其中打击方案采用矩阵表示的方案。
12.作为改进,步骤103-104中,建立的模型优化的目标为所有联合打击方案所花费的
弹药价格最低,表达为打击方案矩阵与武器价格矩阵对应元素相乘后加和得到的值,计算出最小值为最优解。
13.作为改进,步骤105求解器进行求解的约束及变量参数为整数,当为非正整数时,需要将约束及变量乘以一个足够大的整数,将非整数转化为整数。
14.作为改进,约束及变量参数中最小的非整数值有n位小数,则可以将全部的约束及变量参数乘以10n,从而全部转换为整数,n为不大于10的正整数。
15.作为改进,步骤105中,cp-sat求解器采用cp_mocel作为建模语法,且cp-sat求解器是使用sat方法的约束规划求解器。
16.有益效果:本发明提出的针对联合作战计划生成的方法,能够解决现有方法编码复杂且参数较难选择,导致搜索速度较慢,无法及时生成作战方案的问题。具体地采用ortools实现多目标联合打击方案规划,编码简单,避免遗传算法中交叉变异等多种操作,提高求解效率;同时,使用cp-sat求解器进行求解,采用完备性算法求解,保证解是可行解中最优的。
附图说明
17.图1为本发明的方法流程示意图。
具体实施方式
18.下面结合实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
19.实施例
20.本发明提供了一种针对联合作战计划生成的方法,使用求解器or-tools来实现联合作战方案的生成。
21.图1给出了该方法的主要步骤。
22.步骤101、初始化变量。
23.具体操作为:作战场景中存在多目标联合打击的情况,且每一个目标都有多个打击方案可以选择,最终是为每一个目标选择一个可选的打击方案,使得最后的联合打击方案满足最优化条件,本方案中最优化条件是所有目标的打击方案所花费的武器总价格最低。打击方案变量及弹药总价格变量具体创建操作如下:
24.(1)使用矩阵表示多个目标的全部打击方案,使用布尔型变量表示每一种打击方案,可选择的方案使用1表示,不可选择的方案使用0表示。同时,不同的打击方案所需的弹药及平台等不同,需要根据限制条件对不可选择的打击方案进行排除,即将不可选择的打击方案对应变量置为0。
25.假设当前有三个目标,每一个目标有四种打击方案可以选择,其中目标1的方案4不可选择,目标3的方案2不可选择,则最后得到的打击方案矩阵表示为:
26.(2)使用矩阵表示每一个打击方案所需要的弹药总价格x,即弹药单价乘弹药数
量,则相应的总价格矩阵表示为:第一个下标表示当前是第几个目标,第二个下标表示是当前目标的第几个打击方案。
27.步骤102、设置约束条件。
28.当前联合打击方案规划中,约束条件是每一个目标只能选择一个打击方案,即打击方案对应的布尔型变量矩阵中,每一行的加和等于1,即每一个目标对应的所有可选择的打击方案中,只能选择一个打击方案。
29.最终的联合打击方案可能的形式表示为:表示子目标1选择的是第一种打击方案,子目标2选择的是第二种打击方案,子目标3选择的是第一种打击方案。
30.步骤103、构建最优化目标函数。
31.当前联合打击方案规划中,优化的目标的是所有联合打击方案所花费的武器总价最低,即打击方案矩阵与武器价格矩阵对应元素相乘后加和后得到的值最小,武器总价格表示为total_price=sum(plan_end*price),优化目标是使得total_price的值最小。通过约束条件的限制,使得最后的武器总价格满足每一个目标只选择一个打击方案的要求。
32.步骤104、创建模型。
33.cp-sat求解器使用cp_mocel作为建模语法。首先初始化一个模型,然后将约束条件及最优化目标函数添加到模型中。
34.具体操作为:
35.model=cp_model.cpmodel()
36.将约束条件添加到模型中:
37.for i in range(n):
38.model.add(sum(price_end[i,j]for j in range(nn))==1)
[0039]
将最优化目标函数添加到模型中:
[0040]
model.minimize(sum(price_end[i,j]*price[i][j]for i in range(n)for j in range(nn)))
[0041]
其中,n表示打击方案矩阵的行数,nn表示打击方案矩阵的列数。
[0042]
步骤105、创建求解器。
[0043]
cp-sat求解器是使用sat(satisfiability)方法的约束规划求解器,适合于大多数变量为布尔型的问题,对应本方案中设置的布尔型变量,用于表示每一个打击方案是否被选用
[0044]
具体操作为:
[0045]
solver=cp_model.cpsolver()
[0046]
步骤106、调用求解器进行求解。
[0047]
为提高求解速度,cp-sat求解器仅处理整数,因此优化问题中的相关约束及变量
必须使用整数定义,如果求解的问题中约束是一个非整数问题,则需要将约束乘以一个足够大的整数,保证所有项都是整数。例如约束及变量参数中最小的非整数值有三位小数,则可以将全部的约束及变量参数乘以1000,从而全部转换为整数。
[0048]
具体操作为:
[0049]
status=solver.solve(model)
[0050]
其中model是根据当前的问题及相应的约束条件建模后得到的模型,status是调用求解器后得到的状态码,status=4表示当前得到可行解中的最优解。
[0051]
目标是求解每一个目标所选择的打击方案,输出每一个打击方案对应的布尔型变量的值,如果值为1,表示当前目标选择的是这个打击方案,依次输出每一个目标的打击方案,组合后即为最终所有目标的联合打击规划。
[0052]
步骤107、模型测试推论阶段。
[0053]
针对需要进行联合规划的目标及打击方案数据,采用步骤101、步骤102、步骤103、步骤104、步骤105、步骤106得到联合规划结果,即每一个目标选择哪一种打击方案。
[0054]
在三个目标,每个目标两种打击方案时,使用遗传算法耗时为0.47秒,而使用cp-sat求解器,耗时为0.0087秒,同时测试在50个目标,每个目标20个打击方案的情况下,耗时0.28秒,求解效率有明显提升。
[0055]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1