2014年亚太杯APMCM数学建模大赛A题无人机创造安全环境求解全过程文档及程序

news2024/11/25 10:30:51

2014年亚太杯APMCM数学建模大赛

A题 无人机创造安全环境

原题再现

  20 国集团,又称 G20,是一个国际经济合作论坛。2016 年第 11 届 20 国集团峰会将在中国召开,这是继 APEC 后中国将举办的另一个大型峰会。此类大型峰会,举办城市甚至举办地周围的城市都会采取严格的措施来为峰会提供保障,尤其是安全领域。举办地地方政府都将投入大量的人力、物力和财力来维持社会秩序以及应对突发事件。
  无人机作为一种高科技产品,逐渐被用于国防和安保领域。现在假设我国政府决定第 11 届 G20 峰会在上海市杨浦区举办,并打算采用无人机对整个杨浦区进行监视。目前的无人机对复杂的外部环境比较鲁棒,能够持续飞行 4 个小时,并且当你策略改变时,无人机携带的复杂控制器可以被立即重新初始化。当地政府要求你们团队完成以下任务:
  计划 1:杨浦区所有的地方都不能脱离监控状态超过 15 分钟,请问至少需要多少架无人机才能达到这一目标?
  计划 2:对于杨浦区而言,有些地点由于其人流量比较大,是相对比较重要的,比如五角场的万达广场、复旦大学周边道路。这样的区域至少每 5 分钟被监测一次,而有些人流量较小的地方,可以多于 20 分钟被监测一次。请问你至少需要多少无人机来满足上述的条件?
  计划 3:假设所有的区域都是同等重要的,都应该保持有规律地监测,但是由于发生故障,30%的无人机无法使用了。此时,你的监测计划可以提供多大的监测范围?

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

  本文根据杨浦区无人机监控的三个规划要求,对无人机轨迹和监控区域进行了优化设计。该方案建立了基于遗传算法的无人机最优路径模型、无人机监控区域规划模型和模拟退火算法,然后将两个模型相结合,进行分析求解。
  为了规划a,本文首先分析了无人机摄影测量系统的具体参数,得出无人机监测面积为0.6849km2。同时,通过对图像的处理,将问题简化为满足无人机监控飞行路径节点和路径约束的问题。根据方案a,发现该问题属于全局最优搜索问题。因此,本文引入并使用遗传算法来解决这个问题。基于遗传算法,建立了无人机最优路径模型。然后借助MATLAB计算出无人机的最短飞行路径长度为209.0776km,通过物理运动学公式将无人机的数量转换为至少需要9架,这满足了杨浦地区从监测状态到各地不超过15分钟的条件。
  本文提取了杨浦区2012年能够反映街道交通统计年鉴数据的人口密度进行聚类分析。根据聚类结果、街道和人口密度,将本文划分为大人口密度、中等人口密度和小人口密度三级区域。接下来为每一级设计有针对性的区域无人机监控解决方案。同时,分析了该问题属于局部最优搜索。因此,本文选择了一种启发式随机搜索算法——模拟退火算法。并建立了基于模拟退火算法的无人机区域规划监控模型。最后,本文计算出每一级区域需要无人机的数量分别为6架、4架和1架,可以得出这样的结论:在人口容量为约束条件下,杨浦区监测区所有区域都需要无人机。
  根据方案c,在分析问题后,问题的解决方案基于方案a、b的核心。首先,根据计划a所需的无人机数量,本文计算出计划c只有6次无人机行动。利用基于遗传算法的无人机最优路径模型,计算出无人机在15分钟内的最大监测面积为28.66km2,这是基于监测面积的最大范围。根据杨浦区实际地形图的基本地形,初始化六条规则。然后利用基于模拟退火算法的无人机监测区域规划模型,得到6个无人机监测区位置图及相应的总监测范围最大面积占杨浦区总面积的66.94%。

模型假设:

  (1) 假设无论杨浦贫困人口的地区分布在每一条街上,每一条街的人口密度都是一样的

  (2) 无人机飞行轨迹的二维无限平面图形区域接近人员流动水平的实际需要监控区域的范围;

  (3) 无人机时刻监测范围的区域差距可以忽略不计。

问题分析:

  本文基于通用无人机监测上海杨浦区11日在G20峰会上设定的三种场景,结合通用无人机摄影测量系统系数和杨浦区面积、边界等实际情况,初步分析了飞机数量和无人机对杨浦区每架飞机所需飞行时间的全面监控,可能为进一步深入研究和分析各种方案提供了逻辑依据。
  基本思路

  (1) 视觉摄像机焦距与面积的关系

  视觉相机焦距与视角之间存在一定的关系。传统尺寸的35mm胶片相机,35mm是胶片的宽度(包括穿孔部分),35mm胶片的感光面积为36x24mm,转换为数码相机,对角线长度越近为43.2mm,表面的CCD/CMOS标尺在数码单反相机中越大,很多都接近35mm胶片感光CCD/CMOS尺寸。

  (2) 航空摄影高度的确定

  显示相机焦距与面积的关系,航空摄影确定飞行高度的地面分辨率航空摄影(GSD)取决于飞行高度,公式为:
在这里插入图片描述
  3) 本文在50毫米的无人机摄影测量系统中选择了相机镜头,因为无人机摄影图像要用来制作成1:2000比例的地图数字产品(DEM、DOM、DLG),地面分辨率的航空图像(GSD)应该是20厘米,结合上述理论,通过数值计算得到相应的GSD飞行高度为1100m。无人机监测范围半径:
在这里插入图片描述
  方案1的分析方法
  根据材料信息,目前无人机在复杂的外部环境中也持续了四个小时的飞行,由于以上对无人机摄影测量系统的参数选择、分析和计算,监控过程将监控获取的图像转化为数字产品,是镜头焦距为50毫米的无人机在实际监测中的飞行高度h=1100米,监测面积为0.6849平方公里,已知在上海杨浦区的区域面积为60.61平方公里,略估算一架无人机在飞行初期完成一个杨浦区所需的时间为1小时37。614分钟,初步估计所需的无人机数量为8架或9架。进一步分析问题,在所有与杨浦区交会的前提下,不从监测状态出发超过15分钟,至少配备一架无人机,以确保第十一届二十国集团峰会的顺利召开,本文将问题转化为优化每架无人机的飞行路径,采用局部最优全局最优的原则,即:,通过运用遗传算法(ga)计算得出无人机监测整个杨浦区所有区域的最短路径,通过路径长度和无人机飞行速度之间的运动学公式转换原理,得出无人机数量至少需要

  方案2分析方法
  根据总体人口分布不均的特点,十一届二十国集团峰会期间,杨浦区周边交通点位的位置和环境发生了变化,对存在安全隐患的溪流所在地人口较为稀少,必须对溪流所在地进行更多的安全监控。11日G20峰会在安全监测计划2中要求对相对较大区域的交通至少每5分钟进行一次监测,对相对较小区域的交通一次可监测20分钟以上,有针对性地加强区域安全监测可以有效保障11日G20峰会的顺利召开。方案2不同于方案1,加入交通是无人机路径规划的一个可变约束条件,监测区域人口在一般人口密度下可以反应交通状况,本文首先对杨浦区各街道的人口密度进行聚类分析,杨浦区根据人口密度分为三个层次,最大人口密度控制的无人机至少每5分钟监测一次,人口密度较大的区域控制无人机距离监测状态不到15分钟,而人口密度较小的区域控制无人人机监测一次可以超过20分钟;在第一个方案的基础上进行了无人机最优控制路径轨迹的研究,以二维平面图为初始化图形,分析、研究并利用模拟退火算法的核心思想,在满足不同分段的人口流动水平的前提下,监测时间间隔,通过初始化图形来填充每个流量级别的区域,得出交通密度区域所需的无人机数量,最后将每个区域的数量相加,即得到至少需要规划的无人机的数量

  方案3的分析方法
  将所有区域识别为同等重要区域,所有区域距离监测状态不超过15分钟,处理方案1的处理问题相同,差异是由于故障,导致30%的无人机已经无法使用,是根据无人机所需数量计划1计算,只提供6架无人机监视杨浦区;6无人机如何使监控区域最大,处理逻辑与方案2类似,基于无人机15分钟即可监控最大区域,基于杨浦区地图形状,初始化6个形状,在优化的基础上仍然使用模拟退火算法,将六个基本图形之间的重叠面积尽可能小,并定位到杨浦区中心,最后计算出六个基本形状覆盖面积的大小,杨浦区的总面积只有70%的无人机监测可以提供最大的监测范围。

模型的建立与求解整体论文缩略图

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

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

程序代码:

部分程序如下:
G=G.*1.5;
jin=[1 2 3 5 44 51 61 63 62 57 38 31];
bj=zeros(1,63);
while(1)
s=0;
for i=1:1:63
 if bj(i)>0
 continue;
 else
 s=i;
 fprintf('%d',s);
 bj(s)=1;
 break;
 end
end
if s==0
 break;
end
time=0;
while (1)
 min=99;
 minx=0;
 for i=1:1:63
 if G(s,i)~=0 && G(s,i)*(1+bj(i))<min && i~=s
 min=G(s,i)*(1+bj(i));
 minx=i;
 end
 end
 if time+G(s,minx)<7.5
 fprintf('->%d',minx);
 bj(minx)=bj(minx)+1;
 time=time+G(s,minx);
 s=minx;
 else
break;
 end
end
fprintf('\n');
end
x=zeros(1,4);
for i=1:1:63
 switch T(i)
 case 5
 a(1,x(1)+1)=i;
 x(1)=x(1)+1;
 case 12
 a(2,x(2)+1)=i;
 x(2)=x(2)+1;
 case 18
 a(3,x(3)+1)=i;
 x(3)=x(3)+1;
 case 25
 a(4,x(4)+1)=i;
 x(4)=x(4)+1;
 end
end
bj=zeros(1,63);
n=size(G,1);
for i=1:1:n
 for j=1:1:n
 if i~=j && G(i,j)==0
 G(i,j)=inf;
 end
 if G(i,j)==1.571*1.5
 % G(i,j)=inf;
 end
end
end
D=G;
for i=1:1:n
 for j=1:1:n
 R(i,j)=j;
 end 
end 
for k=1:n
for i=1:n 
 for j=1:n
 if D(i,k)+D(k,j)<D(i,j)
 D(i,j)=D(i,k)+D(k,j);
 R(i,j)=R(i,k);
 end 
 end 
 end 
end 
while(1)
 for i=1:1:4
 s=0;
 for j=1:1:x(i)
 if bj(a(i,j))==0
 s=a(i,j);
 bj(a(i,j))=bj(a(i,j))+1;
 t=i;
 fprintf('%d',s);
 break;
 end
 end
 if s~=0
 break;
 end
 end
 if s==0
 break;
 end
 time=0;
 tt=T(s)/2;
 if t==1
 min=inf;
 minx=0;
 for j=1:1:x(i)
 if time+D(s,a(i,j))<tt && bj(a(i,j))==0 && 
D(s,a(i,j))<min && a(i,j)~=s
 min=D(s,a(i,j));
minx=a(i,j);
 end
 if minx~=0
 break;
else
 continue;
 end
 end
 if minx~=0
 time=time+D(s,minx);
 ttt=s;
 while (ttt~=minx)
 fprintf('-->%d',R(ttt,minx));
 ttt=R(ttt,minx);
 bj(ttt)=bj(ttt)+1;
 end 
 s=minx;
 end
 end
 q=0;
 while time<tt
 min=inf;
 minx=0;
 for i=1:1:63
 if G(s,i)~=inf && T(i)+(25*bj(i))<min && i~=s && 
q*bj(i)<1
 min=T(i)+(25*bj(i));
 minx=i;
 end 
 end
 if minx==0
 break;
 end
 if time+G(s,minx)<tt
 if bj(minx)~=0
 q=1;
 end
 fprintf('->%d',minx);
 bj(minx)=bj(minx)+1;
 time=time+G(s,minx);
 s=minx;
 else
 break;
 end
 end 
 fprintf(' \n');
end
sum(bj)
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1162827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

瓦斯抽采VR应急救援模拟仿真系统筑牢企业安全生产防线

矿工素质对安全生产的影响很大。传统的煤矿安全事故培训出于条件差、经验少加上侥幸心理&#xff0c;导致其在教学内容时过于简单且不切合实际&#xff0c;无法真正发挥培训作用。瓦斯检查作业VR模拟实操培训通过真实还原煤矿作业环境&#xff0c;让受训者身临其境地进入三维仿…

Windows10电脑如何测试宽带网速是多少?

Windows10电脑如何测试宽带网速是多少&#xff1f; 1、Windows10电脑上安装并打开360安全卫士&#xff1b; 2、在360安全卫士搜索框内找到宽带测速器&#xff1b; 3、点击打开360宽带测速器&#xff0c;开始测试本机网速&#xff1b; 4、耐心等待360宽带测速器完成&#xff0c…

【Docker】十分钟完成redis安装,你也可以的!!!

十分钟完成redis安装&#xff0c;你也可以的 前言安装步骤1.创建安装目录2.创建docker-compose.yml3.创建redis.conf文件4.启动容器5.连接redis 总结 前言 本文基于Docker安装redis&#xff0c;首先确保系统安装了docker和docker-compose。 没有使用过docker朋友可以去看看博主…

2023-macOS下安装anaconda,终端自动会出现(base)字样,如何取消

2023-macOS下安装anaconda&#xff0c;终端自动会出现(base)字样&#xff0c;如何取消 安装后&#xff0c;我们再打开终端&#xff0c;就会自动出现了&#xff08;base&#xff09; 就会出现这样子的&#xff0c;让人头大&#xff0c; 所以我们要解决它 具体原因是 安装了anac…

开放式耳机和骨传导耳机区别是什么?哪个更好一点?

开放式耳机和骨传导耳机最大的区别就是传声方式不同&#xff01;如果说推荐的话&#xff0c;骨传导耳机要好一些&#xff01; 其实骨传导耳机也算开放式耳机的一种&#xff0c;另一种则被称作为气传导耳机。 一、气传导耳机和骨传导耳机传声方式有什么区别&#xff1f; 气传导…

dy ios抓包及ios六神

1.抓包&#xff1a; 众所周知&#xff0c;dy协议都是无法直接抓包的。 a.在安卓中&#xff0c;我们可以通过改so及hook降级&#xff08;frida或xposed&#xff09;的方式来抓取数据流。 ~ b.在ios中&#xff0c;则需要手机越狱&#xff0c;来配个frida或者logos插件。 作者这里…

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机锅炉监控系统仿真设计( proteus仿真程序原理图报告讲解视频&#xff09; 1.主要功能&#xff1a;讲解视频2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接&#xff08;可点击&#xff09;&#xff1a; 51单片机锅炉监控系统仿…

开发环境配置之Linux安装golang

Linux安装golang 目录 1. 下载Go发行版2. 配置工作空间3. 版本升级 1. 下载Go发行版 从官方地址&#xff1a;https://golang.org/dl/ 上下载合适的 二进制发行版 可以使用wget、curl等工具下载具体的go的发行版。 wget https://go.dev/dl/go1.21.3.linux-amd64.tar.gz接着…

有关资产跟踪的一般问题

1. 哪些行业使用资产跟踪&#xff1f; 如今&#xff0c;您几乎可以在每个行业中找到资产跟踪的实例。一些行业使用自己的术语来描述其跟踪系统&#xff0c;但您可以在零售、运输和物流、运输、制造、仓储、医疗保健、能源、建筑和教育领域找到资产跟踪的清晰示例。 2. 可以追…

VR全景技术在文化展示与传播中有哪些应用?

引言&#xff1a; 随着科技的不断进步&#xff0c;虚拟现实&#xff08;VR&#xff09;全景技术已经成为文化展示与传播领域的一项重要工具。那么VR全景技术是如何改变文化展示与传播方式&#xff0c;VR全景技术又如何推动文化的传承和普及呢&#xff1f; 一&#xff0e;VR技术…

苹果电脑如何录制电脑桌面内容?

我买了台苹果电脑&#xff0c;由于之前没用过&#xff0c;完全不知道如何使用这台苹果电脑进行录制桌面内容。如果你有这方面的困扰&#xff0c;那无需担心&#xff0c;小编今天就详细的为您讲解如何使用苹果电脑录制桌面内容。你可以使用电脑自带录屏工具录制&#xff0c;屏幕…

【ChatGLM2-6B】P-Tuning训练微调

机器配置 阿里云GPU规格ecs.gn6i-c4g1.xlargeNVIDIA T4显卡*1GPU显存16G*1 准备训练数据 进入/ChatGLM-6B/ptuningmkdir AdvertiseGencd AdvertiseGen上传 dev.json 和 train.json内容都是 {"content": "你是谁", "summary": "你好&…

数据绑定—变量

1.数据变量使用方法 使用相对路径&#xff0c;一层层看 2.data算数运算 3.查看页面数据方法 appdata中查看当前页面所有数据

Docker Compose部署Spug:实现内网穿透

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台&#xff0c;整合了主机管理、主机批量执行、主机在线终端、文件…

复旦微flash高温下加载硬件程序时序异常问题

1、最近在调复旦微的板子&#xff0c;高温60℃上&#xff0c;重新上电&#xff0c;部分逻辑跑起来就出错。 2、通过分析排查问题出现在硬件程序加载时出错&#xff0c;即读取flash数据时出错。 3、解决方法&#xff1a;修改设备数的qspi时钟由50m改为10m&#xff0c;output.bif…

Colorful Image Colorization灰度图像上色

论文标题&#xff1a;https://arxiv.org/pdf/1603.08511.pdf 论文地址&#xff1a;https://arxiv.org/pdf/1603.08511.pdf github地址&#xff1a;https://github.com/richzhang/colorization 论文信息概要 问题描述和背景 本文的研究问题是如何将灰度照片变成逼真的彩色图像…

敏捷BI的理解与选择,你想好了吗?

“很多人还没搞清楚什么是PC互联网&#xff0c;移动互联网来了&#xff0c;我们还没搞清楚移动互联的时候&#xff0c;大数据时代又来了。”——马云 这是一个几乎所有企业都在谈数据的时代。虽然以大数据(Big Data)的定义&#xff08;指“无法用现有的软件工具提取、存储、搜索…

解决问题 [Vue warn]: Missing required prop: “index“

vue项目控制台报错 [Vue warn]: Missing required prop: “index” 出现这个报错原因是<el-submenu></el-submenu>标签中缺少index属性&#xff0c;需要加上才能不报错 解决办法是&#xff1a; <el-submenu index""></el-submenu>

语音芯片ic常见故障分析 如何排查问题 声音不清晰 有爆破声

一、问题简介 语音芯片常见故障分析 如何排查问题 例如&#xff1a;声音不清晰 有爆破声 这些问题可能存在于如下方面&#xff1a; 供电电源是否稳定PCB板上面电容是否放置位置合适扬声器是否正常生成的音源文件&#xff0c;是不是本身就存在瑕疵 其实语音芯片的这些问题&a…

taro3中使用react函数组件和mobx状管理工具结合使用教程

在使用了最新版的函数组件hooks后&#xff0c;刚开始导入mobx&#xff0c;总是报cant resolve "src/store/index"这种错误&#xff0c;然后我就开始一步一步找原因&#xff0c;后来在组件中log了一下store&#xff0c;重新启动程序后&#xff0c;就没问题了&#xff…