• 2016年全国研究生数学建模竞赛华为杯A题多无人机协同任务规划求解全过程文档及程序


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

    A题 多无人机协同任务规划

    原题再现:

      无人机(Unmanned Aerial Vehicle,UAV)是一种具备自主飞行和独立执行任务能力的新型作战平台,不仅能够执行军事侦察、监视、搜索、目标指向等非攻击性任务,而且还能够执行对地攻击和目标轰炸等作战任务。随着无人机技术的快速发展,越来越多的无人机将应用在未来战场。
      某无人机作战部队现配属有P01至P07等7个无人机基地,各基地均配备一定数量的FY系列无人机(各基地具体坐标、配备的无人机类型及数量见附件1,位置示意图见附件2)。其中FY-1型无人机主要担任目标侦察和目标指示,FY-2型无人机主要担任通信中继,FY-3型无人机用于对地攻击。FY-1型无人机的巡航飞行速度为200km/h,最长巡航时间为10h,巡航飞行高度为1500m; FY-2型、FY-3型无人机的巡航飞行速度为300km/h,最长巡航时间为8h,巡航飞行高度为5000m。受燃料限制,无人机在飞行过程中尽可能减少转弯、爬升、俯冲等机动动作,一般来说,机动时消耗的燃料是巡航的2~4倍。最小转弯半径70m。
      FY-1型无人机可加载S-1、S-2、S-3三种载荷。其中载荷S-1系成像传感器,采用广域搜索模式对目标进行成像,传感器的成像带宽为2km(附件3对成像传感器工作原理提供了一个非常简洁的说明,对性能参数进行了一些限定,若干简化亦有助于本赛题的讨论);载荷S-2系光学传感器,为达到一定的目标识别精度,对地面目标拍照时要求距目标的距离不超过7.5km,可瞬时完成拍照任务;载荷S-3系目标指示器,为制导炸弹提供目标指示时要求距被攻击目标的距离不超过15km。由于各种技术条件的限制,该系列无人机每次只能加载S-1、S-2、S-3三种载荷中的一种。为保证侦察效果,对每一个目标需安排S-1、S-2两种不同载荷各自至少侦察一次,两种不同载荷对同一目标的侦察间隔时间不超过4小时。
      为保证执行侦察任务的无人机与地面控制中心的联系,需安排专门的FY-2型无人机担任通信中继任务,通信中继无人机与执行侦察任务的无人机的通信距离限定在50km范围内。通信中继无人机正常工作状态下可随时保持与地面控制中心的通信。
      FY-3型无人机可携带6枚D-1或D-2两种型号的炸弹。其中D-1炸弹系某种类型的“灵巧”炸弹,采用抛投方式对地攻击,即投放后炸弹以飞机投弹时的速度作抛物运动,当炸弹接近目标后,可主动寻的攻击待打击的目标,因此炸弹落点位于目标中心100m范围内可视为有效击中目标。D-2型炸弹在激光制导模式下对地面目标进行攻击,其飞行速度为200m/s,飞行方向总是指向目标。攻击同一目标的D-2型炸弹在整个飞行过程中需一架FY-1型无人机加载载荷S-3进行全程引导,直到命中目标。由于某些技术上的限制,携带D-2型炸弹的无人机在投掷炸弹时要求距目标10km~30km,并且要求各制导炸弹的发射点到目标点连线的大地投影不交叉(以保证弹道不交叉)。为达到一定的毁伤效果,对每个目标(包括雷达站和远程搜索雷达)需成功投掷10枚D-1型炸弹,而对同一目标投掷2枚D-2型炸弹即可达到相同的毁伤效果。
      多架该型无人机在同时执行任务时可按照一定的编队飞行,但空中飞行时两机相距要求200m以上。由于基地后勤技术保障的限制,同一基地的两架无人机起飞时间间隔和降落回收的时间间隔要求在3分钟以上。无人机执行完任务后需返回原基地。
      根据任务要求,需完成侦察和打击的目标有A01~A10等10个目标群,每个目标群包含数量不等的地面目标,每个目标群均配属有雷达站(目标以及各目标群配署雷达的位置示意图见附件2,具体坐标参数见附件4),各目标群配属雷达对FY型无人机的有效探测距离为70km。
      请你们团队结合实际建立模型,研究下列问题:
      (1)一旦有侦察无人机进入防御方某一目标群配属雷达探测范围,防御方10个目标群的配属雷达均开机对空警戒和搜索目标,并会采取相应对策,包括发射导弹对无人机进行摧毁等,因此侦察无人机滞留防御方雷达探测范围内时间越长,被其摧毁的可能性就越大。现需为FY-1型无人机完成10个目标群(共68个目标)的侦察任务拟制最佳的路线和无人机调度策略(包括每架无人机起飞基地、加载的载荷、起飞时间、航迹和侦察的目标),以保证侦察无人机滞留防御方雷达有效探测范围内的时间总和最小。
      (2)FY-1型无人机对目标进行侦察时,须将侦察信息实时通过FY-2型无人机传回地面控制中心。鉴于50km通信距离的限制,需安排多架FY-2型无人机升空,以保证空中飞行的侦察无人机随时与FY-2型无人机的通信。FY-2型无人机可同时与多架在其有效通信范围的侦察无人机通信并转发信息。为完成问题(1)的侦察任务,至少安排多少架次的FY-2型通信中继无人机。
      (3)所有FY-1型无人机现已完成侦察任务并返回基地,均可加载载荷S-3用于为制导炸弹提供目标指示。现要求在7个小时内(从第一架攻击无人机进入防御方雷达探测范围内起,到轰炸完最后一个目标止)完成对10个目标群所有68个地面目标的火力打击任务,如何进行任务规划以保证攻击方的无人机滞留防御方雷达有效探测范围内的时间总和最小?请给出具体的无人机任务规划结果(包括每架无人机飞行路线、FY-3型无人机携带炸弹的具体清单和攻击的目标清单)。
      (4)由相关信息渠道获知在A02、A05、A09周边可能还配置有三部远程搜索雷达,该雷达对FY型无人机的有效作用距离是200km。这三部雷达的工作模式是相继开机工作,即只有首先开机的雷达遭到攻击后才开启第二部雷达,同样只有第二部雷达被攻击后才开启第三部雷达。远程搜索雷达一旦开机工作,攻击方无人机群即可获知信号并锁定目标,而后安排距其最近的无人机对其摧毁。请基于防御方部署远程搜索雷达的情形重新考虑问题(3)。
      (5)请对求解模型的算法的复杂度进行分析;并讨论如何有效地提高算法的效率,以增强任务规划的时效性。基于你们小组构建的数学模型和对模型解算的结果,讨论哪些技术参数的提高将显著提升无人机的作战能力?

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

      本文以最优化理论为基础,研究了多无人机协同任务规划问题。首先,通过两元素优化算法(2-opt)和基于贪心策略的覆盖法,求解了多无人机协同侦察问题(MUCRP),制订了 FY-1 型无人机完成所有目标群侦察任务的最佳路线和无人机调度策略;其次,基于协同侦察调度策略,制订了 FY-2 型无人机的协同通信调度方案,并通过定量分析,证明了提出的协同通信策略的可行性;再次,采用最近邻贪心算法和基于协同攻击的覆盖法,将 FY-1 与 FY-3 型无人机的协同作战问题转化为两步优化问题分别求解,保证了攻击方无人机滞留在防御方雷达有效探测范围内的时间总和最小,并给出了完成规定火力打击任务的规划结果;接着,通过提出巡检待命无人机的设想,解决了基于防御方部署远程搜索雷达情形下的协同作战问题,并给出了巡检待命无人机的调度策略。最后,结合整个建模过程,对算法复杂度和无人机作战能力的提升作了定性分析。
      问题一中,分三步求解了多无人机协同侦察模型 MUCRP。通过对比两元素优化算法(2-opt)和蚁群算法(ACO)的求解结果,发现考虑最短路径和运行时间时,2-opt算法处理 MUCRP 效率更高,并得出需选择 2 台加载 S-1 型载荷的 FY-1 型无人机进行侦察,其最佳路线见文内图 1。在此基础上,采用覆盖法得出,需选择 1 台加载 S-2 型载荷的 FY-1 型无人机进行侦察,其最佳路线见文内图 2。最后通过求解时间差优化问题,给出了 FY-1 型无人机的综合调度策略(见文内表 6)。最终求得 FY-1 型无人机滞留在防御方雷达有效探测范围内的时间总和为 11h54m11s。
      问题二中,基于问题一中的侦察调度方案,制订了两台 FY-2 型无人机协同通信方案,其航迹见文内图 8。理论分析表明,在此方案下两台 FY-2 型无人机的飞行时间均小于 8 小时,于是为完成问题一的侦察任务,至少安排两架 FY-2 型通信中继无人机。
      问题三中,将协同作战问题转化为两步优化问题,并分别建立了数学模型。第一步优化保证攻击方的无人机滞留防御方雷达有效探测范围内的时间总和最小,需首先打击防御方雷达。理论分析发现,必须挂载 D-1 型炸弹对雷达实施打击。通过最近邻贪心算法,给出了打击所有雷达的 FY-3 型无人机调度方案(见文内表 8),并求得攻击方无人机的滞留时间总和为 4.7h。第二步优化是将没有配备雷达站的其它所有目标点在最短的时间内打击掉。结合最近邻贪心算法和基于协同攻击的覆盖法,给出了打击剩余所有目标的 FY-3 型无人机调度方案(见文内表 9、表 11)。
      问题四中,基于防御方部署远程搜索雷达的情形,提出安排巡检待命无人机的方案。理论计算发现,巡检待命的无人机必须携带 D-1 型炸弹。同时针对远程雷达的两类开机时机,分别给出了巡检待命无人机的调度方案(见文内 7.2.2)。
      问题五中,首先对建模用到的 5 种算法进行了复杂度分析,然后从侦察型无人机加载载荷的拍摄距离和引导距离、通信型无人机的通信距离、攻击型无人机携带炸弹的能力和炸弹性能、续航能力等方面出发,对提升无人机作战能力的技术参数进行了分析。

    模型假设:

      假设 1 侦察机只要飞入目标点群,无人机就一直在雷达监测范围之内,直至飞机返航。
      问题一中,进一步作出以下假设:
      假设 2 由于雷达监测范围远大于目标群内的分散度,将目标群内目标简化为一个点,即雷达坐标。
      假设 3 将侦察机从基地飞往第一个目标点过程中,处于雷达监视范围内的距离简化为半径 70km。同理,在离开时,也将此距离设置为 70km。
      假设 4 为保证每个基地的 FY-1 侦察机的配备量,每个基地只派出一架带有 S1 载荷的侦察机。
      假设 5 忽略加载 S-1、S-2 载荷无人机的飞行高度,于是载荷 S-1 和载荷 S-2 对目标的有效拍照距离不需要经过三角换算。
      问题三中,我们进一步假设:
      假设 6 D-1 型炸弹为定点攻击,即只要 FY-3 型无人机飞到目标点正上方投下 D-1 型炸弹,便可对目标点进行火力打击。
      假设 7 FY-1 型无人机在引导携带 D-2 型炸弹的 FY-3 型无人机时,FY-3 型无人机在执行火力打击时与 FY-1 型无人机的距离始终保持可攻击区的面积最大。
      问题四中,我们假设:
      假设 8 部署的远程雷达不在目标群中配备雷达站的扫描覆盖范围内。
      假设 9 A02、A05、A09 组成三角形的内心位置为三个远程雷达圆心的组成三角形的内心。

    模型的建立与求解

      问题一要求为 FY-1 型无人机拟制最佳的路线和无人机调度策略(包括每架无人机起飞基地、加载的载荷、起飞时间、航迹和侦察的目标),完成 10 个目标群(共 68 个目标)的侦察任务,以保证侦察无人机滞留防御方雷达有效探测范围内的时间总和最小。为保证成像效果,侦察机在过程中,应保证匀速直线飞行。同时,过多的飞机爬坡、加速和俯冲会导致续航能力降低,应该减少加速,保持匀速。
      无人机作匀速直线运动时,侦察无人机滞留时间总和最小意味着其在防御方雷达有效探测范围内的航迹最短,于是可将原问题转化为如下优化问题6(多无人机协同侦察问题(Multi-UAV Cooperative Reconnaissance Problem, MUCRP))。MUCRP 是一个典型的单目标优化模型,是一个 NP-hard 和复杂约束的优化问题。
    在这里插入图片描述
    在这里插入图片描述
      目标函数前两项表示无人机从基地出发到目标群及从目标群离开返回基地过程中滞留在防御方雷达有效探测范围内的航迹,最后一项是无人机在目标群间执行侦查任务过程中滞留在防御方雷达有效探测范围内的航迹,这里要求无人机整个过程中滞留在防御方雷达有效探测范围内的航迹最短;约束条件 (2) 确保了从基地出发去目标群过程中执行任务的 FY-1 无人机数量满足要求;约束条件 (3) 确保了从目标群返回到基地过程中执行任务的 FY-1 无人机数量满足要求;约束条件 (4) 确保了对每个基地的每台执行任务的无人机,其最大巡航时间为 10h;约束条件 (5) 确保了加载 S-1 型载荷时目标群中的每个目标点都被侦察到;约束条件 (6) 保证了两种不同载荷对同一目标的侦察间隔时间不超过 4 小时。
      当多个侦察机同时在雷达监测范围内工作时,总的滞留时间需要乘以侦察机数量。由此可知,使用多台侦察机同时进行工作,不会减少侦察机数量,反而会因为多次进出雷达监控区域,增加了所处监控区域的路程,所以由此可知侦察机的数量越少越好。对一个目标进行侦察,需要至少各执行一次 S-1 侦察和 S-2 侦察,且同一目标点两种载荷的侦察时间差不超过 4 小时。S-1 载荷侦察的特点是:侦察机需要距离目标至少2km,至多 8km,且在飞行前就固定了拍照的方向。根据目标点群的分散度可知,S-1侦察必须对每个点分别执行,而不能同时侦察两个目标点。S-2 载荷侦察的特点是:侦察机需要距离目标点不超过 7.5km,而且与 S-1 不同的是,S-2 不固定拍照侧,S-2 载荷可对以侦察机为圆心,7.5km 为半径的范围内进行侦查。由于目标群之间的距离远大于群内目标点之间的距离,所以不管是 S-1 还是 S-2,同具有相同的最优目标群顺序。但是在目标群内,最优的 S-1 路径规划和最优的 S-2 路径规划需要分别讨论。

      对于问题一,我们分三步求解:(1)加载 S-1 载荷的无人机的航迹优化;(2)加载S-2 载荷的无人机的航迹优化;(3)给出 FY-1 型无人机的综合调度策略。
    在求解复杂的 MUCRM 问题,可以先忽略 FY-1 型无人机的续航时间,即假设单个FY-1 型无人机进行侦察,在此基础上可以分析多个无人机协同侦察的情况。根据 S-1型载荷的特点,可将其简化为对单个目标点进行侦察。接下来我们首先解决单个 FY-1型无人机侦察 68 个目标点的航迹优化问题。根据上面的分析,简化后的 MUCRM 问题可以转化为首尾不相连的旅行商问题 (TSP),于是 FY-1 无人机挂载 S1 型载荷进行侦察的航迹优化便是对 TSP 的求解。
      对于 TSP 问题有很多中求解方法,其中使用最多的是两元素优化法(2-opt)和蚁群算法(ACO)。下面我们分别采用两元素优化法(2-opt)和蚁群算法(ACO)对加载S-1 载荷的无人机的航迹进行过优化,通过比较两种算法的航迹优化效果,确定一种适合本问题的求解算法,并用于后面问题的求解。
      两元素优化法用于求解 MUCRP 问题的基本步骤如下算法 1。
      算法 1:二元素优化法
      step1:任选一个可行路径 s,并假设 s 是最优路径;
      step2:随机选取两点 i 和 k,将 i 之前的路径不变添加到新路径中,将 i 到 k 之间的路径翻转其编号后添加到新路径中,将 k 之后的路径不变添加到新路径中,从而获得一个新的可行路径;
      step3:将新的可行路径与最优路径进行比较,取两者更优的路径为最优路径;
      step4:重复 step2 与 step3,直到找不到更优的路径为止。
      蚁群算法用于求解 MUCRP 问题的基本步骤如下算法 2。
      算法 2:蚁群算法
      step1:初始化参数。对相关的参数进行初始化,如蚁群的规模、信息素重要程度因子、启发函数重要程度因子、信息素挥发因子、信息素释放总量、最大迭代次数,迭代初始次数。
      step2:构建解空间。将各个蚂蚁随机地置于不同的目标点,对每个蚂蚁计算其下一个待访问的目标点,直到所有蚂蚁访问完所有的目标点。
      step3:更新信息素。计算各个蚂蚁经过的路径长度,记录当前迭代次数中的最优解(最短路径)。同时对各个目标点连接路径上的信息素进行更新。
      step4:判断是否终止。若没有终止,清空蚂蚁经过路径的记录表,并返回 step2;否则终止计算,输出最优解。
      采用两元素优化法(2-opt)和蚁群算法(ACO)对 MUCRP 问题进行求解的结果见表1。表1对比了采用 2-opt 与 ACO 算法对 68 个目标点进行侦察的最短路径和算法运行时间。可以看出,两元素优化算法求解的最短路径优于蚁群算法,并且它的算法运行时间原小于蚁群算法。所以对于 MUCRP 问题,两元素优化算法效率更高,优化结果更好,因此下文采用两元素优化算法(2-opt)。
    在这里插入图片描述
    在这里插入图片描述
      加入进出内部目标群的时间,采用两元素优化算法计算到的单架 FY-1 型无人机滞留防御方雷达有效探测范围内的时间为 6h27m57s,其航迹如下图1(a)。
      现在考虑增加一台 FY-1 型无人机。增加一台 FY-1 型无人机可以减少一次目标群到目标群的飞行时间,但是会增加一进一出的时间。考虑两台 FY-1 型无人机时,必须将目标群分成两部分,分别由两台 FY-1 型无人机进行侦察。采用两元素优化算法求得的滞留在防御方雷达有效探测范围内的时间为 6h9m45s,其航迹如上图1(b),飞行时间见表2,其中外部时间表示无人机在雷达覆盖区外飞行的时间。由表2可知,两台 FY-1型无人机的飞行时间都不超过 10h,满足 FY-1 型无人机的续航时间。如果再增加 FY-1型无人机,减少的飞行时间比进出时间小,反而会增大滞留在防御方雷达有效探测范围内的时间。所以加载 S-1 载荷的无人机进行航迹优化时,选择两台 FY-1 型无人机进行侦察。

    论文缩略图:

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

    程序代码:

    function [path,lmin]=ga(data,d) %data 为点集,d 为距离矩阵,即赋权图
    tic
    sj0=data;
    x=sj0(:,1);y=sj0(:,2);
    N=length(x);
    L=N; %sj0 的长度
    w=800;dai=1000;
    %通过改良圈算法选取优良父代 A
    for k=1:w
    c=randperm(L-2);
    c1=[1,c+1,L];
    flag=1;
    while flag>0
    flag=0;
    for m=1:L-3
    for n=m+2:L-1
    if d(c1(m),c1(n))+d(c1(m+1),c1(n+1))<d(c1(m),c1(m+1))+d(c1(n),c1(n+1))
    flag=1;
    c1(m+1:n)=c1(n:-1:m+1);
    end
    end
    end
    end
    J(k,c1)=1:L;
    end
    J=J/L;
    J(:,1)=0;J(:,L)=1;
    rand('state',sum(clock));
    %遗传算法实现过程
    A=J;
    for k=1:dai %产生 01 间随机数列进行编码
    B=A;
    c=randperm(w);
    %交配产生子代 B
    for i=1:2:w
    F=2+floor(100*rand(1));
    temp=B(c(i),F:L);
    B(c(i),F:L)=B(c(i+1),F:L);
    B(c(i+1),F:L)=temp;
    end;
    %变异产生子代 C
    by=find(rand(1,w)<0.1);
    if length(by)==0
    by=floor(w*rand(1))+1;
    end
    C=A(by,:);
    L3=length(by);
    for j=1:L3
    bw=floor(1+fix(rand(1,3)*N)); %产生 1-N3 个随机数
    bw=sort(bw);
    C(j,:)=C(j,[1:bw(1)-1,bw(2)+1:bw(3),bw(1):bw(2),bw(3)+1:L]);
    end
    G=[A;B;C];
    TL=size(G,1);
    %在父代和子代中选择优良品种作为新的父代
    [dd,IX]=sort(G,2);
    temp=[];
    temp(1:TL)=0;
    for j=1:TL
    for i=1:L-1
    temp(j)=temp(j)+d(IX(j,i),IX(j,i+1));
    end
    end
    [DZ,IZ]=sort(temp);
    A=G(IZ(1:w),:);
    end
    path=IX(IZ(1),:)
    % for i=1:length(path)
    % path(i)=path(i)-1;
    % end
    % path=path(2:end-1);
    lmin=0;l=0;
    for j=1:(length(path)-1)
    t1=path(j);t2=path(j+1);
    l=d(t1,t2);
    lmin=lmin+l;
    end
    xx=sj0(path,1);yy=sj0(path,2);
    plot(xx,yy,'r-o');
    axis equal
    toc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
  • 相关阅读:
    k8s部署单点的mysql实例
    Feign 实现 GET 方法传递 POJO
    【Antd】InputNumber 只能输入整数
    PlantUML 绘图
    Linux系统中如何查看磁盘情况
    腾讯云轻量数据库1核1G评测和租用价格表
    【教学类-06-06】20230905数字题目随便玩( 加减法、分合、比大小,纸张消耗)
    Uni-APP __css&JS
    Java多线程基础知识-2
    从Spring为什么要用IoC的支点,我撬动了整个Spring的源码脉络
  • 原文地址:https://blog.csdn.net/weixin_43292788/article/details/127860216