2020年全国研究生数学建模竞赛华为杯D题无人机集群协同对抗求解全过程文档及程序

2020年全国研究生数学建模竞赛华为杯

D题 无人机集群协同对抗

原题再现:

  新一代人工智能技术和自主技术快速走向战场,将催生新型作战力量,颠覆传统战争模式,未来战争必将是智能化战争。无人机集群作战作为智能作战的重要形式,正在崭露头角。通过多架无人机协同侦察、协同探测、协同跟踪、协同攻击、协同拦截等,共同完成较复杂的作战任务。
  现考虑红、蓝双方的无人机集群在平面区域内的协同对抗问题。蓝方作为进攻方,希望突破红方无人机的拦截,成功抵达目的地遂行军事行动;红方则希望在给定的区域内完成对蓝方无人机的拦截,阻止蓝方的突防。本赛题讨论的对抗区域约定为图1所示的矩形区域 ,攻击纵深即 之间的距离为 ,蓝方无人机的飞行轨迹不能越过 、 两边,即考虑的是攻击通道(突防走廊)带宽有一个限定约束的情形,通道带宽即 之间的距离记为 。蓝方无人机的速度为 ,最小转弯半径为 ;红方无人机的速度为 ,最小转弯半径为 ;红蓝双方无人机的速度保持不变,运动的方向可根据机动策略的需要随时改变,但受转弯半径的限制。
在这里插入图片描述
  本赛题只讨论平面上的红蓝双方对抗问题,即红蓝双方的无人机均在同一高度上机动飞行。双方无人机均装载有探测装置和数据链,能够准确探测对方无人机和己方无人机的实时位置。鉴于蓝方无人机在机动速度上具有优势,红方考虑通过多无人机的协同,即通过数量上的优势部分弥补性能上的劣势,以提高己方的对抗效果。红方执行拦截任务的无人机由运载机携带至攻击位置,然后根据对抗需要发射一定数量的无人机,组成无人机集群与蓝方突防无人机对抗。如图1所示的对抗状态,红方为阻止蓝方无人机的突防,分别由运载机 和 各发射5架无人机组成两个无人机集群遂行拦截任务。当蓝方突防无人机与红方至少2架无人机的距离均小于 时,就认为红方成功拦截了蓝方突防无人机。同时,根据任务要求,蓝方无人机需在 内越过边界 ,否则视为突防失败。红蓝双方都想充分利用自身的优势,通过运用最优机动策略以实现突防与拦截的目的。
  红方无人机集群可以根据实际需要进行编队飞行,如图2所示,红方无人机集群采用了其中的一种队形,5架无人机位置近似分布在一个圆周上,任何相邻两架无人机的间距相同。为控制、通信以及相互避撞的需要,要求红方任何两架无人机的间距需大于 ,每一架无人机与本集群中至少两架无人机的距离不超过 。红方运载机与所属无人机集群中至少一架无人机的距离不超过 ,与任何一架无人机的距离需大于 ,同时为安全需要,与蓝方的突防无人机的距离需大于 。红方运载机的速度为 ,转弯半径不小于 。红方运载机和无人机的飞行轨迹不受边界的限制。
在这里插入图片描述
  为叙述方便,运载机FY01发射的无人机编号记为FY01××,因此图2中5架无人机编号分别记为FY0101、FY0102、FY0103、FY0104、FY0105。运载机FY02发射的无人机编号记为FY02××,其余类推。无人机集群初始时刻的位置分布采用位于一个圆周上均匀分布。实际中,运载机布设无人机集群需要一定的时间,为简化计,本赛题暂不考虑这一时限,可视为瞬间布设好无人机集群,且满足相关约束条件。在对抗过程中不要求全程按照某一固定队形飞行,可根据需要随时调整队形。
  请你们团队通过建立数学模型,研究下列问题:
  问题1 如图3所示,对抗伊始红方2个无人机集群的圆周中心分别位于G1和G2,圆周半径为100m,其中DG1=20km,G1G2=30km,CG2=20km。试建模分析蓝方无人机处于矩形区域ABCD内哪些位置时,无论红方无人机采用什么样的追击策略,蓝方无人机总能采用合适的策略以躲避红方的拦截,实现成功突防;讨论蓝方无人机相应的最优突防策略。
在这里插入图片描述
  问题2 如图4所示,对抗伊始蓝方突防无人机位于边界AB的中心点,红方2个无人机集群的圆周中心分别位于G1和G2,圆周半径为100m,其中G1和G2位于边界CD上,具体位置根据需要确定。试建模分析是否存在一个通道带宽M的下限M_min,当实际通道带宽M比M_min大时,蓝方无人机一定能突破红方无人机集群的拦截;给出此种情形下蓝方无人机时间最短的突防策略。
在这里插入图片描述
  问题3 红方每架运载机可分两个波次共发射10架无人机,组成两个无人机集群遂行拦截任务,每个无人机集群的无人机数量不少于3架。每一波次发射时无人机集群初始队形如图2所示的圆周构型,运载机与圆周中心的距离为2km,随后无人机集群的队形可根据需要调整,但要求满足相应的间距约束。如图5所示,对抗伊始,蓝方无人机位于边界AB的中心,通道带宽M=70km;红方两架运载机分别位于边界CD上G1点 和G2点,并开始发射第一波次的无人机集群,运载机和无人机集群中心具体位置根据需要确定。运载机第二波次发射无人机集群时,必须保证运载机与第一波次发射的无人机集群满足间距上的约束。讨论红方两架运载机两个波次发射的无人机数量、每架运载机第二波次发射的时刻和位置以及第二波次发射的无人机集群的中心位置,以实现最优的拦截效果;进一步具体建模分析是否存在一个通道带宽M的上限M_max,当实际通道带宽M小于M_max时,无论蓝方无人机采用什么样的突防策略,红方无人机集群均存在相应的拦截策略,在区域ABCD内成功阻止蓝方无人机的突防。
在这里插入图片描述
  问题4 如图6所示,通道带宽M=100km,蓝方3架突防无人机组成突防集群从矩形边界AB一侧开始突防(任2架突防无人机的间距需大于30m),红方5架运载机各携带10架无人机,从边界CD一侧同时开始遂行协同拦截任务。红方每架运载机分两个波次发射无人机,分别组成两个无人机集群,每个集群的无人机数量不少于3架;每架运载机第一波次发射无人机的时刻为初始对抗时刻,与所属无人机集群几何构型圆周中心的距离为2km。红方运载机初始位置、红方运载机发射的第一个波次的无人机集群中心位置、红方运载机发射第二波次无人机集群的时刻和位置、第二波次发射的无人机集群中心位置、两个波次无人机数量以及蓝方突防无人机初始位置根据需要确定。蓝方希望尽可能多的无人机突防成功,红方则希望成功拦截尽可能多的蓝方无人机。试讨论红方最优拦截策略和蓝方最优突防策略。
在这里插入图片描述

整体求解过程概述(摘要)

  本文对无人机群集群对抗任务进行了分析研究,针对每个具体问题建立模型并采用合适的算法进行求解。
  问题一第一小问为定性微分对策问题,在完全信息以及最优策略的基础下求解蓝方的可逃脱区域等同于求解定性微分对策的界栅问题。根据题目首先建立了地面坐标系和航迹坐标系,根据题目建立运动与位置约束条件。对无人机可行队形进行分析,并计算出近似最大覆盖面积用于确定边界。基于双机编队的队形确定了坐标系的转换关系,把微分对策看作变分问题,进而利用极大值极小值原理构建哈密顿函数解最优控制,椭圆控制集将引起奇异解,将初始值以及求解的最优控制代入运动方程倒向积分可得最优轨线,最优轨线构成界栅。由BUP (目标集的可用部分边界)为起点所构成的界栅与NUP 所围成的区域构成了对策空间的躲避区。
  问题一第二小问在第一小问的基础上求解蓝方最优突防策略,即该微分对策问题的纳什均衡。博弈理论中的动态博弈与矩阵对策相结合的方法,选取目标规避策略中有限种机动形式的组合作为策略集,根据红蓝双方距离以及追逃时间为量化指标建立支付函数,由哈密顿函数求取动态博弈模型的纳什均衡解,得出了受初始值位置影响动态突防策略。 问题二为生存型定量微分对策问题,在问题一的基础上建立双机编队下时间最优的无人机突防模型,其中支付函数以逃脱时间为量化指标。当通道带宽取下限时,蓝方出发点(AB中点)位于界栅上。由于问题解析求解过于复杂,将突防区域进行栅格化划分并根据条件约束进行航迹优化,运用蚁群算法进行不同初始值下的的纳什均衡解,并反推出通道宽度极限值。根据计算结果分析红方出发位置对蓝方初始局部区域哈密顿函数的影响,得到红方最优的发射点分布。仿真分析不同通道宽度下蓝方出发点的哈密顿函数值,得到通道宽度取值为92.2Km。
  问题三,红方运载机可以发射两个波次的无人机,即基于微分对策理论研究二维空间内多对一无人机突防模型,求取突防模型中拦截过程的发射策略(数量分配、路径规划)。分为三步求解:基于博弈论的飞行器微分制导律方法建立多对一拦截模型,运用零脱靶量建立支付函数,此处,以飞行器拦截目标为背景,借鉴滚动时域控制的思想,构建动态博弈模型;第二步运用快速随机数算法进行动态最优策略的搜索,规划追捕过程的最优路径;第三步为了简化动态搜索过程、提高搜索精度,采用Dubins方法对栅格化路径中转弯最优角度进行判断,RRT算法评价对路径选择及计算效率的影响。求解可得最优拦截策略(表6-2)以及任意情况成功拦截的通道带宽上限值为108.8Km。
  问题三第二问通道带宽上限是否存在的问题,即生存型微分对策的鞍点存在性问题。根据微分对策最优性条件推导该问题对策鞍点满足的必要条件,哈密顿函数中双方极值存在,并利用差分进化算法进行求解。
  问题四为多对多无人机对抗最优策略问题。分四步进行模型的求解:第一步建立无人机集群的协同对抗模型;第二步建立突防区的空战态势优势函数,根据红蓝双方的态势信息如几何位置计算对抗区域边界,对空战态势进行评估;第三步运用分布式一致性拍卖算法(CBAA)对目标进行分配决策,对整个集群的目标函数进行优化;第四步基于SAC-OD规则进行集群运动决策,基于集群动态拓扑交互机制,建立有限感知条件下的集群运动模型,使集群涌现出宏观的作战行为。对建立的模型进行仿真检验(表8-1、8-2),结果显示模型良好。
  最后对以上四个问题的模型和算法进行了评价,指出了模型的优点,如问题二、三针对微分对策问题难以求得准确解析解时,本问通过运用合适的算法对边界值进行正向计算,求得结果;同时也指出了如在队形变化时边界处理有误差等不足。 综上,无人机在未来空战中可发挥至关重要的作用,本文在无人机集群对抗与突防策略制定上有很强的现实指导意义。

模型假设:

  (1) 只讨论平面上的红蓝双方对抗问题,即红蓝双方的无人机均在同一高度上机动飞行;
  (2) 运载机可以瞬间布设好无人机集群,忽略布设时间
  (3) 无人机和运载机在空中飞行时均视为质点,不考虑其体积对对战的影响
  (4) 对抗双方的无人机能顾完全根据指挥执行战术决策,将无人机集群理解为完全理性的局中人;
  (5) 战场态势和对方的完全理性均为共识,即双方彼此了解对方实力及可能选取的所有策略集合,且彼此知道对方是完全理性的;
  (6) 双方无人机均能够准确探测对方无人机和己方无人机的实时位置,完全信息博弈;
  (7) 双方能够正确识别敌我战机,且能够通过对实时态势的感知以及与邻居友机的交互进行在线自主决策;
  (8) 无人机运动轨迹位置约束,拦截与突防成功判断条件遵照题目;
  (9) 其他假设在问题中具体说明。

问题分析(部分):

  问题一第一小问要求分析蓝方无人机处于矩形区域内哪些位置时,无论红方追击策略如何,蓝方无人机总有机会成功突防。该问题属于完全信息下的定性微分对策问题,而求解蓝方的安全区域等同于求解博弈对策中的躲避区,也相当于求解躲避区与捕获区的界栅问题。第二小问中蓝方最优突防策略,其中蓝方最优策略下该微分对策模型的哈密顿函数对蓝方策略的偏导数为0。

  假设同问题一,问题二为生存型定量微分对策问题,即突防双方都想要尽快达到捕获或逃脱目标。假设存在一个通道带宽下限Mmin,则带宽取值大于该数值时,蓝方无人机采用最优策略一定能突破红方无人机集群的拦截,即蓝方处于逃脱区。则带宽取值为该数值时,蓝方出发点(AB中点)位于界栅上,即哈密顿函数对蓝方策略取极值。 定量突防问题会针对适用的不同情况会有不同的具体量化标准,由于定量突防问题针对的适用情况不同就会有不同的支付函数,也就会不同的支付标准和量化标准,为求解最快突防策略,将支付函数设定为追逃时间相关。

  问题三红方运载机可以发射两个波次的无人机,即基于微分对策理论研究二维空间内多对一以及多对多无人机突防问题。突防模型中拦截过程的发射策略(数量分配、路径规划)问题。 在追踪无人机试图接近逃逸无人机的过程中,两无人机通常距离较近,互相可测,此时对抗双方均根据博弈状态确定最优控制策略,从而达到各自的目标。基于定量微分对策理论研究无人机轨道追逃博弈问题时,追逃双方的最优控制策略即为微分对策的纳什均衡或鞍点微分对策制导率是真正的双边机动下的最优制导率。 建立拦截飞机末端问题微分对策模型,简化模型。取导弹飞机的相对位移分量作为状态量建立运动方程。捕获是否成功只关心飞机对策结束时相对距离,令对策结束时相对距离作为支付函数。为方便求解,进一步引入状态转移矩阵将状态量降至二维。 无人机集群作战是由多架具备部分自主能力的无人机,在高速机间链路和外部信息平台的情报支援下遂行共同战斗任务的过程。此过程涉及两个方面的问题:( 1) 双方对抗策略选择。无人机集群交战前对抗双方策略选择多样化。2) 双方决策收益估计。对抗双方不同的策略选择对应着不同的战场收益。针对对抗双方选择的策略进行对应的收益值评估,然后双方根据收益值的大小比较判定所选策略的优劣,最终做出最优决策。 避障突防的基本算法一般分为完备的路径规划算法,如A*算法、Dijkstra算法,以及基于采样的路径算法,采样算法、快速随机树算法(Rapidly-exploring Random Tree,RRT)和概率图法等。还有一些间接的路径规划算法,基于经验的路径算法,如仿生算法,遗传算法,人工势场法等。完备的路径规划算法能够产生路径最优解,但要面对较大的数据量;基于采样的路径算法,计算速度快,也能接近最优解;基于经验的路径算法则各有优劣。本章结合两种基本算法优势,然后进行混合算法的求解。 编队飞行即多架无人机为适应任务要求而进行的某种队形排队和任务分配的组织模式,包括编队飞行的队形产生、保持和变化,以及飞行任务的规划和组织。多架无人机编队飞行可以完成单机不能完成的任务,但也带来了许多复杂问题,如任务配合、航迹规划、队形的产生和保持等。 J.J.D’Azzo[6]基于古典控制理论设计了二维平面的无人机编队队形保持控制器,并采用序列二次规划(SQP)方法优化了具有固定控制结构的 PID 控制器的增益系数,改善了控制效果。文献[7]中研究了无人机在自由空间和障碍空间的编队飞行,定义了“安全”和“危险”两种工作模式,设计了双重控制策略[8-12]。在安全模式下,由于编队控制器考虑了所有无人机的动特性,达到了全局最优;在危险模式下,基于改进的神经网络设计了一种新的控制方法。这种双重控制方法在二维空间使用几何方法得到了最优或次优轨迹,并在二维空间中拓展了躲避障碍物的方法;为了解决实际飞行中的约束,使用了基于跟踪控制的模型预测控制方法追踪参考目标,通过数字仿真验证了此法的有效性。 本章主要设计了主拦截机集群及辅拦截机集群的编队控制律,首先给出了航迹系内目标和拦截机的质心动力学和运动学方程,在此基础上给出了主拦截机的比例导引律和过载稳定控制系统;在辅拦截机运动学方程的基础上,建立了发射点惯性系内编队指令跟踪误差的状态方程,设计了编队跟踪指令;最后,将辅拦截机跟踪过载指令的动力学过程近似为二阶动态环节,对中制导段进行了仿真,仿真结果验证了设计的编队控制律的有效性。

  考虑红蓝双方的作战场景:红方发现蓝方3架无人机来袭后,红方派出5架运载机各携带10架无人机对蓝方无人机进行空中拦截,双方最终进入近距格斗。为分析集群动态对抗任务,定义如下图所示集群对抗场景,其中作战区域不考虑空中障碍物等任何外部特征。红蓝作战双方均拥有一定数量的无人机,红方具有一个由无人机集群保护的边界线,可视为高价值目标。红方边界线位于作战区域一端,除了各自出动的无人机集群外,不具有其它防御或进攻能力。同时,各方无人机为同一类型的固定翼无人机,具有完全相同的平台性能。拦截方红方无人机威胁范围为定值,双方无人机能够正确识别敌我战机,通过对实时态势的感知以及与邻居友机的交互进行在线自主决策,实现集群的自组织作战。当作战开始时,所有蓝方无人机构成一个有序的整体同时朝着红方边界线进攻,红方运载机第一波次发射无人机的时刻为初始对抗时刻,且发射的无人机集群几何构型圆周中心的距离为443m。在进攻过程中,遇到敌方来袭无人机时,双方集群陷入混战。集群的作战目标包括:
  1)蓝方希望尽可能多的无人机突防成功。
  2)红方则希望成功拦截尽可能多的蓝方无人机。
  这两个作战目标分别体现了集群的攻击和防御偏好。以此来制定红方最优拦截策略和蓝方最优突防策略。

论文缩略图(全部):

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码(部分 切勿抄袭):

import pandas as pd 
import numpy as np 
import seaborn as sns 
import matplotlib.pyplot as plt 
# 数据加载 
df_train = pd.read_csv('train.csv') 
df_test=pd.read_csv('test.csv') 
from sklearn.preprocessing import LabelEncoder 
le = LabelEncoder() 
a="BT" 
le.fit(df_train[a]) 
df_train[a]=le.transform(df_train[a]) 
df_test[a]=le.transform(df_test[a]) 
a="Dp" 
le.fit(df_train[a]) 
df_train[a]=le.transform(df_train[a]) 
df_test[a]=le.transform(df_test[a]) 
a="EF" 
le.fit(df_train[a]) 
df_train[a]=le.transform(df_train[a]) 
df_test[a]=le.transform(df_test[a]) 
a="Gd" 
le.fit(df_train[a]) 
df_train[a]=le.transform(df_train[a]) 
df_test[a]=le.transform(df_test[a]) 
a="JR" 
le.fit(df_train[a]) 
df_train[a]=le.transform(df_train[a]) 
df_test[a]=le.transform(df_test[a]) 
a="MS" 
le.fit(df_train[a]) 
df_train[a]=le.transform(df_train[a]) 
df_test[a]=le.transform(df_test[a]) 
a="O8" 
le.fit(df_train[a]) 
df_train[a]=le.transform(df_train[a]) 
df_test[a]=le.transform(df_test[a]) 
a="OT"
le.fit(df_train[a]) 
df_train[a]=le.transform(df_train[a]) 
df_test[a]=le.transform(df_test[a]) 
# isnull() 判断缺失值 
''' 
print(df_train.isnull().sum()) 
print(df_train.shape) 
print("样本个数: {}".format(df_train.shape[0])) 
print("逃脱个数: {}".format(df_train[df_train.Attrition == 'Yes'].shape[0])) 
print("未逃脱个数: {}".format(df_train[df_train.Attrition == 'No'].shape[0])) 
print(X.head()) 
# corr 相关系数函数 
print(X.corr()) 
''' 
# 分割特征和Target 
X = df_train.drop(labels='Attrition',axis=1) 
X=X.drop(labels=['user_id','EmployeeCount',"Over18",'StandardHours'],axis=1) 
X_test=df_test.drop(labels=['user_id','EmployeeCount',"Over18",'StandardHours'],axis=1) 
y=df_train.iloc[:,2] 
y =y.map(lambda x:1 if x=='Yes' else 0) 
print(y) 
from sklearn.preprocessing import StandardScaler 
scaler = StandardScaler() 
scaler.fit(X) 
X = scaler.transform(X) 
X_test=scaler.transform(X_test) 
from sklearn.model_selection import train_test_split 
X_train, X_test_s, y_train, y_test_s = train_test_split(X, y, test_size=0.2, random_state=1) 
#print(X) 
import xgboost as xgb 
from sklearn import metrics 
param = {'boosting_type':'gbdt', 
'objective' : 'binary:logistic', #  
#'objective' : 'regression', #  
'eval_metric' : 'auc', 
'eta' : 0.01, 
'max_depth' : 15, 
'colsample_bytree':0.8, 
'subsample': 0.9, 
'subsample_freq': 8, 
'alpha': 0.6, 
'lambda': 0, 
} 
train_data = xgb.DMatrix(X_train, label=y_train) 
test_data = xgb.DMatrix(X_test_s, label=y_test_s) 
model = xgb.train(param, train_data, evals=[(train_data, 'train'), (test_data, 'valid')], 
num_boost_round = 10000, early_stopping_rounds=200, verbose_eval=25) 
#y_pred = model.predict(test_data) 
#y_pred = [1 if x>=0.5 else 0 for x in y_pred] 
#print('XGBoost ', y_pred) 
#print('XGBoost:', metrics.accuracy_score(y_test_s,y_pred)) 
test_data = xgb.DMatrix(X_test) 
y_pred = model.predict(test_data) 
#y_pred = ['Yes' if x>=0.5 else 'No' for x in y_pred] 
y_pred = pd.DataFrame(y_pred) 
result = pd.concat([df_test['user_id'],y_pred],axis=1) 
result.to_csv('result.csv')
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值