当前位置: 首页 > news >正文

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

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:63if bj(i)>0continue;elses=i;fprintf('%d',s);bj(s)=1;break;end
end
if s==0break;
end
time=0;
while (1)min=99;minx=0;for i=1:1:63if G(s,i)~=0 && G(s,i)*(1+bj(i))<min && i~=smin=G(s,i)*(1+bj(i));minx=i;endendif time+G(s,minx)<7.5fprintf('->%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:63switch T(i)case 5a(1,x(1)+1)=i;x(1)=x(1)+1;case 12a(2,x(2)+1)=i;x(2)=x(2)+1;case 18a(3,x(3)+1)=i;x(3)=x(3)+1;case 25a(4,x(4)+1)=i;x(4)=x(4)+1;end
end
bj=zeros(1,63);
n=size(G,1);
for i=1:1:nfor j=1:1:nif i~=j && G(i,j)==0G(i,j)=inf;endif G(i,j)==1.571*1.5% G(i,j)=inf;end
end
end
D=G;
for i=1:1:nfor j=1:1:nR(i,j)=j;end 
end 
for k=1:n
for i=1:n for j=1:nif 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:4s=0;for j=1:1:x(i)if bj(a(i,j))==0s=a(i,j);bj(a(i,j))=bj(a(i,j))+1;t=i;fprintf('%d',s);break;endendif s~=0break;endendif s==0break;endtime=0;tt=T(s)/2;if t==1min=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)~=smin=D(s,a(i,j));
minx=a(i,j);endif minx~=0break;
elsecontinue;endendif minx~=0time=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;endendq=0;while time<ttmin=inf;minx=0;for i=1:1:63if G(s,i)~=inf && T(i)+(25*bj(i))<min && i~=s && 
q*bj(i)<1min=T(i)+(25*bj(i));minx=i;end endif minx==0break;endif time+G(s,minx)<ttif bj(minx)~=0q=1;endfprintf('->%d',minx);bj(minx)=bj(minx)+1;time=time+G(s,minx);s=minx;elsebreak;endend fprintf(' \n');
end
sum(bj)
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

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

2014年亚太杯APMCM数学建模大赛 A题 无人机创造安全环境 原题再现 20 国集团&#xff0c;又称 G20&#xff0c;是一个国际经济合作论坛。2016 年第 11 届 20 国集团峰会将在中国召开&#xff0c;这是继 APEC 后中国将举办的另一个大型峰会。此类大型峰会&#xff0c;举办城市…...

Java字符串常用函数 详解5000字 (刷题向 / 应用向)

1.直接定义字符串 直接定义字符串是指使用双引号表示字符串中的内容&#xff0c;例如"Hello Java"、"Java 编程"等。具体方法是用字符串常量直接初始化一个 String 对象&#xff0c;示例如下&#xff1a; 1. String str"Hello Java"; 或者 …...

在RabbitMQ中 WorkQueue 工作队列 和发布(publish)/订阅(Subscribe) 有什么区别?

在RabbitMQ中&#xff0c;"Work Queue"&#xff08;工作队列&#xff09;和"Publish/Subscribe"&#xff08;发布/订阅&#xff09;是两种不同的消息传递模型&#xff0c;它们有不同的用途和工作方式。 Work Queue (工作队列)&#xff1a; 用途&#xff1a…...

关闭Dell xps 系列笔记本触控屏

【电脑】->【管理】->【设备管理器】 右键 禁用选择即可...

物理内存的组织形式

由于物理地址是连续的&#xff0c;页也是连续的&#xff0c;每个页大小也是一样的。因而对于任何一个地址&#xff0c;只要直接除一下每页的大小&#xff0c;很容易直接算出在哪一页。每个页有一个结构 struct page 表示&#xff0c;这个结构也是放在一个数组里面&#xff0c;这…...

IOS渲染流程之提交图层数据至RenderThread进程

大致链路 UIView/CALayer---->CoreAnimation./Core Graphics/Core Image---->GPU Drive-->GPU 图层树/视图树 一个UIView&#xff08;视图&#xff09;对应一个CALayer&#xff08;图层&#xff09;&#xff0c;CALayer对应显示的数据其有个content代表Bitamp&#…...

shell学习脚本05(小滴课堂)

可以对海量的数据进行提取。 -v对提取的内容进行取反。 -n显示出行号。 -w精确匹配&#xff1a; -i:忽略大小写&#xff1a; -E正则匹配&#xff1a; cut命令&#xff1a; -d指定分隔符&#xff0c;-f指定截取区域&#xff1a; 截取第一列到第三列&#xff1a; 截取第二列到最…...

长短期神经网络LSTM的博文分类,长短期神经网络的原理分析

目录 背影 摘要 代码和数据下载:长短期神经网络LSTM的博文分类,长短期神经网络微博博文分类(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88498278 LSTM的基本定义 LSTM实现的步骤 长短期神经网络LSTM的博文分类,长短期神经网络微…...

虹科干货 | 手把手教你通过CODESYS V3进行PLC编程(一)

文章来源&#xff1a;虹科工业控制团队 阅读原文&#xff1a;https://mp.weixin.qq.com/s/5gDXPulm8qz075H6lEmGWg 教程背景 虹科MC系列模块化控制器是基于Raspberry Pi的高性能4核控制器&#xff0c;运动控制循环时间最快可达500微秒&#xff0c;实现了计算能力和成本之间的…...

rabbitmq的confirm模式获取correlationData为null解决办法

回调函数confirm中的correlationDatanull // 实现confirm回调,发送到和没发送到exchange,都触发 Override public void confirm(CorrelationData correlationData, boolean ack, String cause) {// 参数说明:// correlationData: 相关数据,可以在发送消息时,进行设置该参数// …...

【Linux】centos7安装配置及Linux常用命令

目录 一.Centos安装与配置 1.1.创建 1.2.安装配置CentOS 7实操 二.Linux常用命令 2.1.常用命令 2.2.三种模式 三.换源处理(切换国内源) 3.1.拍照备份 好啦今天就到这里哦&#xff01;&#xff01;希望能帮到你哦&#xff01;&#xff01;&#xff01; 一.Centos安装与配…...

LCD调试

此处以6739 1g版本为例(kernel 4.19),基于参考配置的主要修改点如下: 1. 两个配置文件defconfig: kernel-4.19\arch\arm\configs\k39tv1_bsp_1g_k419_debug_defconfig: kernel-4.19\arch\arm\configs\k39tv1_bsp_1g_k419_defconfig: CONFIG_LCM_HEIGHT="1280" CO…...

【计算机网络】金管局计算机岗位——计算机网络(⭐⭐⭐⭐)

计算机网络知识点 计算机网络基础知识计算机网络的定义与组成、分类网络的发展、常识&#xff08;⭐⭐⭐⭐&#xff09;计算机网络的定义计算机网络的功能计算机网络的组成计算机网络的分类计算机网络的性能指标主要包括&#xff08;⭐⭐⭐⭐&#xff09; 网络体系结构OSI模型定…...

第十四章 ObjectScript 系统标志和限定符 (qspec) - 限定符与标识

文章目录 第十四章 ObjectScript 系统标志和限定符 (qspec) - 导出限定符 导出限定符ShowClassAndObject限定符 第十四章 ObjectScript 系统标志和限定符 (qspec) - 导出限定符 导出限定符 FlagMeaningDefault/checksysutd检查系统类是否是最新的。0/checkuptodate映射时检查类…...

测试这碗饭,现在是越来越难吃了

我是一名测试工程师&#xff0c;今年10岁了&#xff0c;游走在产品研发线上&#xff0c;与产品小妹、开发小哥、运维大叔一起维护着研发世界的和平&#xff0c;我的主要技能就是究其一生使出浑身解数与bug斗智斗勇&#xff0c;保障产品的质量&#xff0c;可是这10多年来我走过的…...

这个超实用的门禁技巧,让办公楼安全更简单高效!

门禁监控是现代社会中不可或缺的一部分&#xff0c;用于确保安全和管理进出某个区域的人员。随着科技的不断发展&#xff0c;门禁监控已经远离了传统的机械锁和钥匙&#xff0c;变得更加智能化和高效。 客户案例 企业办公大楼 无锡某大型企业在其办公大楼内部部署了泛地缘科技…...

C++虚表与虚表指针详解

类的虚表 每个包含了虚函数的类都包含一个虚表。 当一个类&#xff08;B&#xff09;继承另一个类&#xff08;A&#xff09;时&#xff0c;类B会继承类A的函数的调用权。所以如果一个基类包含了虚函数&#xff0c;那么其继承类也可调用这些虚函数&#xff0c;换句话说&…...

12 pinctrl 和 gpio 子系统

一、pinctrl 子系统 1. 什么是 pinctrl 子系统&#xff1f; 首先回顾一下如何初始化 LED 所使用的 GPIO&#xff1a; ①、修改设备树&#xff0c;添加相应的节点&#xff0c;节点里面重点是设置 reg 属性&#xff0c; reg 属性包括了 GPIO相关寄存器。 ②、获取 reg 属性中 …...

【复盘】记录一次JVM 异常问题 java.lang.OutOfMemoryError: unable to create new native thread

背景是最新运营提了一个需求&#xff0c;需要根据用户信息拉去三分机构的信贷数据&#xff0c;需要达到一天百万级别&#xff0c;但是经过实际测试&#xff0c;也只能达到40W量级&#xff0c;具体就是通过起多个Spring Boot项目&#xff0c;每个项目1S拉一个用户&#xff0c;基…...

Java基础之类型(内涵面试题)

目录 一、自动类型转换&#xff1a; 二、强制类型转换&#xff1a; 1.强制类型转换可能造成数据丢失&#xff08;溢出&#xff09;。 2.浮点型强转成整型&#xff0c;直接丢掉小数部分&#xff0c;保留整数部分返回。 三、自增、自减&#xff08;、--&#xff09;有关面试题…...

idea好用插件整理

1、Alibaba Java Coding Guidelines 阿里巴巴编码格式规范 2、Big Data Tools 大数据开发工具&#xff0c;是一个集成 Spark 且支持编辑和运行 Zeppelin Notebooks 的 IntelliJ IDEA 新插件 3、chinese language pack 中文语言包 4、CodeGeex ai生成提示代码 5、ide eval…...

【WinForm详细教程五】WinForm中的MenuStrip 、ContextMenuStrip 、ToolStrip、StatusStrip控件

文章目录 1.MenuStrip2.ContextMenuStrip3.ToolStrip4.StatusStrip 1.MenuStrip MenuStrip作为一个容器可以包含多个菜单项。MenuStrip 的重要属性包括&#xff1a; Name&#xff1a;菜单的名字Dock&#xff1a;菜单的停靠位置Items&#xff1a;菜单项的集合 ToolStripMenuI…...

研究人员发现34个Windows驱动程序易受完全设备接管攻击

最近&#xff0c;研究人员发现了34个易受攻击的Windows驱动程序&#xff0c;这些漏洞可能被非特权威胁行为者利用来完全接管设备&#xff0c;并在底层系统上执行任意代码。这一发现引发了广泛关注&#xff0c;并引起了Windows用户的担忧。 导语 随着科技的不断进步&#xff0c;…...

最新 vie-vite框架下 jtopo安装使用

官方地址 官方源码 安装下载 1.官方好像都没有给git地址&#xff0c;尝试npm安装报错 2.找到1.0.5之前的版本npm i jtopo2&#xff0c;安装成功后使用报错&#xff0c;应该是版本冲突了 1.本地引入&#xff0c; 点击官方源码下载&#xff0c;需要jtopo_npm文件 2.引入到本…...

基础课20——智能客服系统的使用维护

1.智能客服系统的维护 智能客服系统在上线后&#xff0c;仍然需要定期的维护和更新。这是因为智能客服系统是一个复杂的软件系统&#xff0c;涉及到多个组件和功能&#xff0c;需要不断优化和改进以满足用户需求和保持市场竞争力。 保持系统的稳定性和性能&#xff1a;随着用…...

Aop自定义注解生成日志

Aop自定义注解生成日志 1.编写自定义注解 //表示此注解可以标注在方法上 Target(ElementType.METHOD) //运行时生效 Retention(RetentionPolicy.RUNTIME) public interface OpetionLog {//定义一个变量&#xff0c;可以接收参数String value() default "";}2.Cont…...

虚幻引擎:RPC:远端调用

1.如何区当前是服务器还是在客服端 2.如何修改一个actor的所有权 修改所有权必须 在服务器上进行修改,不允许在客户端进行修改...

涉及多种位运算操作混合类题目——通过加转三进制(扩大状态,不变枚举量):CF1033F

https://www.luogu.com.cn/problem/CF1033F 我们发现直接用二进制来做很难做&#xff0c;但我们可以观察其给的表 我们发现如果表示成和的形式是容易进行一一对应的 对于询问的时候&#xff0c;我们直接枚举每位有的和是多少&#xff0c;虽然状态是三次的&#xff0c;但是对于…...

BIOS开发笔记 - DDR基础

简介 内存是计算机中重要的组成部分,主要为CPU计算时提供一个数据的临时存储的场所。CPU在处理数据前,会将数据从外存复制到内存中,然后再处理内存中的数据,如果需要将结果保存,则一次性写回外存,这样便大大提高CPU的处理效率。 …...

基于SpringBoot+Vue的旅游系统、前后端分离

博主24h在线&#xff0c;想要源码文档部署视频直接私聊&#xff0c;低价有偿&#xff01; 基于SpringBootVue的旅游系统、前后端分离 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI 工具&#xff1a;IDEA/Eci…...