2024年美国大学生数学建模比赛MCM问题B:搜索潜水器-思路解析与代码解答

2024 MCM
Problem B Searching for Submersibles

一、题目翻译

背景:

总部位于希腊的小型海上巡航潜艇(MCMS)公司,制造能够将人类运送到海洋最深处的潜水器。潜水器被移动到该位置,并不受主船的束缚。MCMS现在希望用他们的潜水器带游客在爱奥尼亚海底探险,寻找沉船。然而,在他们能够做到这一点之前,他们需要通过制定安全程序,以防失去与主船的通信和可能的机械缺陷,包括潜水器的推进力损失。特别是,他们希望你开发一个模型来预测潜水器的位置。与典型的陆地或海面上的搜救不同,有缺陷的潜水器可能会发现自己位于海底或水下的中性浮力点。它的位置可能会进一步受到洋流、海洋密度的不同,和/或海底的地理位置的影响。

词汇解释:

潜水器:潜水器是一种需要由更大的船只或平台来运输和支撑的水下航行器。这就区分了潜水器和潜艇,潜艇可以自我支撑,能够在海上长期独立运行。

中性浮力:发生在一个物体的平均密度等于流体的浸泡密度,导致浮力平衡的重力,否则会导致物体下沉(如果身体的密度大于液体的密度浸泡)或上升(如果它是更少的)。具有中性浮力的物体既不会下沉也不会上升。

问题:

您的任务是:

1.定位-开发一个模型,可以预测潜水器的位置。

o与这些预测的不确定性是什么?

o潜水器在事故发生前可以定期向主船发送哪些信息,以减少这些不确定性?潜水器需要什么样的设备呢?

2.准备-如果有的话,你会建议公司携带主船部署?您可以考虑不同类型的设备,但也必须考虑与该设备的可用性、维护、准备情况和使用相关的成本。如有必要,救援船可能需要配备哪些额外的设备来协助?

3.搜索-开发一个模型,它将使用来自您的位置模型的信息来推荐设备的初始部署点搜索模式,以尽量减少丢失的潜水器的定位时间。确定找到潜水器的概率作为时间和累积的搜索结果的函数。

4.外推-如何将你的模式扩展到其他旅游目的地,如加勒比海?你的模型将如何改变,以考虑到多个潜水器在同一附近移动?

准备一份不超过25页的报告,提供你的计划的细节。包括一份两页的报告备忘录,以帮助获得批准。

二、解题过程与结果

0.数据收集与解释说明

根据题目背景和任务收集了以下数据(在文件夹“dataset”内)

(1)File#1 = Countries.csv (大洲及其国家/地区列表)

(2)File#2 = Cities.csv(国家及其城市列表)

(3)File#3 = SeaTemperatures.csv (城市列表及其海水温度、湿度、风速)

(4)data_for_vis 东海洋流数据(亚洲)

Adts:water level   ugs和vgs分别是水平和垂直方向的速度分解量

(5)Coastal Data System - Waves (Mooloolaba) 01-2017 to 06 – 2019 海洋波浪数据

1. 定位-开发一个模型,可以预测潜水器的位置。

该问需要我们根据题目中的提示信息分析缺陷潜水器的定位,建立一个初步的粗模型。这个粗模型可以是很简单的、基于诸多理想条件和假设的,也可以包含很多未知信息(也就是不确定性),这些不确定性可以通过后续增添观测设备、更完善精确的定位数据等来解决。

·粗模型的分析与建立:

题目中提到的关键信息为:有缺陷的潜水器可能会发现自己位于海底或水下的中性浮力点

中性浮力点是指潜水器的浮力等于其重力的深度位置。计算中性浮力点的位置需要考虑潜水器的浮力、重力以及水的密度和压力的变化。

·假设水体是均匀、静止的,并且潜水器没有发动机或其他产生气泡的装置。

#完整模型见文末

·【o这些预测的不确定性是什么?】

以上只是一个基本的计算方法,实际情况可能更为复杂,因为潜水器的形状、浮力调节系统、环境因素(洋流、海底地理位置)等都会对结果产生影响,因此计算获得的只是一个大致估计深度(存在一定的偏差范围)。

而且,尽管可以确定中性浮力点深度,缺陷潜水器的具体位置坐标仍然难以获得。直接根据计算得到的粗略中性点进行盲目的搜索,有可能搜索到的不是目标潜水器而是其他生物或者非生物物体。

·【o潜水器在事故发生前可以定期向主船发送哪些信息,以减少这些不确定性?潜水器需要什么样的设备呢?】

查阅资料得知,无线电信号是很难穿透海水的,所以潜艇只能在浮出海面时才能接收信号,在海中潜艇靠指挥部的长波电台联系,但是长波信号传输很慢,而且能够接受信号的海水深度也并不深,只能定期接收长波信号。

#完整版分析建模见文末

结合国内现采用的技术,选取xxxx等设备,即令潜水器定时向主船发射以上信息从而获取定期的位置定位。现使用python进行仿真模拟,来验证潜水器在事故发生前可以定期向主船发送位置信息之后可以减少事故时定位潜水器不确定性。(模拟潜水器的运动和通信,并分析定位不确定性的变化。

#代码见文末

2.准备-如果有的话,你会建议公司携带主船部署?您可以考虑不同类型的设备,但也必须考虑与该设备的可用性、维护、准备情况和使用相关的成本。如有必要,救援船可能需要配备哪些额外的设备来协助?

该问需要在第一问给出的回答的基础上,对备选增添的所有设备进行综合评估(包含可用性、维护、准备情况、使用成本以及带来的搜寻成效增益)。

由于具体数据难以获得,所以本题需要进行大量的估计和测算。

首先列出各备选设备并计算出各个设备的参数。

#过程见完整版

 列出表格,并依据此建立综合评价模型选出最优方案。

层次分析法(Analytic Hierarchy Process,AHP)是一种多标准决策分析的方法,用于确定一组选择中最优选择的相对重要性。在这个问题中,我们将考虑价格、维护成本、可用性(技术)和增益指数四个标准,然后使用AHP确定这些标准的相对权重,并评估每个方案的得分。

#ahp实现见完整版

【必要性】:使用蒙特卡洛方法验证增设以上类别的设备带来了搜寻成效增益

假设潜水器和母船一起航行时潜水器在一段时间后失联,潜水器失联后会以原先的速度向随机的方向继续航行,分别模拟计算(1)母船随机网格搜寻到潜水器的概率(2)已知失联前的潜水器的位置、速度和方向,依据失联前的轨迹模式预测潜水器位置的正确率。

#见完整版

3.搜索-开发一个模型,它将使用来自您的位置模型的信息来推荐设备的初始部署点搜索模式,以尽量减少丢失的潜水器的定位时间。确定找到潜水器的概率作为时间和累积的搜索结果的函数。

在确定了问题二的结果之后,我们确定为母船和潜水器增设声呐基阵(母船)与应答器(潜水器)。由此,设置初始部署点和搜索模式。

设潜水器每间隔时间△t向母船发送信号,由此母船可以根据连续的信号解析获得潜水艇的位置坐标[xt,yt],以及潜水艇的前进速度[vxt,vyt](这里分解为x和y两个方向的速度,总速度为vt),潜水艇周围海洋密度ρ。

#在问题二基础上获得了额外的信息后,建立数学模型测算出最优部署点,
并结合贪婪算法和网格搜索模型制定最优搜索方案。
使用蒙特卡洛方法进行仿真随机模拟实验,与不指定方案而随机搜索得到的耗时进行对比,
验证了所制定的搜索方案是有效可行的。
#见完整版

 

4.外推-如何将你的模式扩展到其他旅游目的地,如加勒比海?你的模型将如何改变,以考虑到多个潜水器在同一附近移动?

该问题的地点有所改变,涉及的海洋密度、洋流情况、海底地形都有所变化。直接影响的中性点深度h公式发生了变化。

此外,洋流情况和海底地形对于失联潜水器的随后轨迹预测都将产生影响,可引入这些参数,和历史信息一起预测失联潜水器的运行轨迹,从而重新规划部署点。

对于新的搜索地点,修改模型中海洋洋流以及相关的地形参数即可。对于多潜水器模式,引入多个潜水器之间的相互影响参数,修改模型以考虑它们之间的相互作用。

 完整版请戳↓

链接:https://pan.baidu.com/s/1PgSN7m9I_kvRIP4FyfZBzw?pwd=lv3y 
提取码:lv3y 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

跟着pink老师前端入门教程-day17

2、CSS3 动画 动画(animation)是CSS3中就要有颠覆性的特征之一,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果 相比较过渡,动画可以实现更多变化,更多控制,连续自动播…

HSRP配置指南

实验大纲 第 1 部分:验证连通性 步骤 1:追踪从 PC-A 到 Web 服务器的路径 步骤 2:追踪从 PC-B 到 Web 服务器的路径 步骤 3:观察当 R3 不可用时,网络的行为 第 2 部分:配置 HSRP 主用和 备用路由器 步…

WebGL+Three.js入门与实战——绘制水平移动的点、通过鼠标控制绘制(点击绘制、移动绘制、模拟画笔)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

【微服务】skywalking自定义链路追踪与日志采集

目录 一、前言 二、自定义链路追踪简介 2.1 自定义链路追踪应用场景 2.2 链路追踪几个关键概念 三、skywalking 自定义链路追踪实现 3.1 环境准备 3.2 集成过程 3.2.1 导入核心依赖 3.2.2 几个常用注解 3.2.3 方法集成 3.2.4 上报追踪信息 四、skywalking 自定义日志…

代码随想录 Leetcode491. 非递减子序列

题目&#xff1a; 代码(首刷看解析 2024年2月3日&#xff09;&#xff1a; class Solution { private:vector<vector<int>> res;vector<int> path; public:void backtracking(vector<int>& nums, int startIndex) {if (path.size() > 1) {res.…

HiveSQL题——collect_set()/collect_list()聚合函数

一、collect_set() /collect_list()介绍 collect_set()函数与collect_list()函数属于高级聚合函数&#xff08;行转列&#xff09;&#xff0c;将分组中的某列转换成一个数组返回&#xff0c;常与concat_ws()函数连用实现字段拼接效果。 collect_list&#xff1a;收集并形成lis…

Amazon Bedrock 知识库现可提供完全托管的 RAG 体验

Amazon Bedrock 知识库预览版已于9月问世。从今天开始&#xff0c;Amazon Bedrock 知识库正式全面发布。正式推出。 借助知识库&#xff0c;可安全地将 Amazon Bedrock 中的基础模型 (FM) 连接到贵公司的数据&#xff0c;供检索增强生成 (RAG) 使用。模型生成的响应更具相关性…

海外IP代理:解锁网络边界的实战利器

文章目录 引言&#xff1a;正文&#xff1a;一、Roxlabs全球IP代理服务概览特点&#xff1a;覆盖范围&#xff1a;住宅IP真实性&#xff1a;性价比&#xff1a;在网络数据采集中的重要性&#xff1a; 二、实战应用案例一&#xff1a;跨境电商竞品分析步骤介绍&#xff1a;代码示…

简单几步,借助Aapose.Cells将 Excel 工作表拆分为文件

近年来&#xff0c;Excel 文件已成为无数企业数据管理的支柱。然而&#xff0c;管理大型 Excel 文件可能是一项艰巨的任务&#xff0c;尤其是在高效共享和处理数据时。为了应对这一挑战&#xff0c;大型 Excel 工作簿被拆分为较小的工作簿以增强电子表格管理。Aspose提供了这样…

堪称灾难级攻击的 UDP FLOOD洪水攻击,应该如何防护?

DDOS又称为分布式拒绝服务&#xff0c;全称是Distributed Denial of Service。DDOS本是利用合理的请求造成资源过载&#xff0c;导致服务不可用&#xff0c;从而造成服务器拒绝正常流量服务。就如酒店里的房间是有固定的数量的&#xff0c;比如一个酒店有50个房间&#xff0c;当…

【Kafka】服务器Broker与Controller详解

这里写自定义目录标题 Broker概述Broker总体工作流程Broker重要参数 Controller为什么需要Controller具体作用数据服务Leader选举选举流程脑裂问题羊群效应触发leader选举 Broker 概述 Kafka服务实例&#xff0c;负责消息的持久化、中转等功能。一个独立的Kafka 服务器被就是…

AES算法:数据传输的安全保障

在当今数字化时代&#xff0c;数据安全成为了一个非常重要的问题。随着互联网的普及和信息技术的发展&#xff0c;我们需要一种可靠的加密算法来保护我们的敏感数据。Advanced Encryption Standard&#xff08;AES&#xff09;算法应运而生。本文将介绍AES算法的优缺点、解决了…

金和OA jc6 UploadFileBlock 任意文件上传漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

SpringBoot实战项目第一天

环境搭建 后端部分需要准备&#xff1a; sql数据库 创建SpringBoot工程&#xff0c;引入对应的依赖(web\mybatis\mysql驱动) 配置文件application.yml中引入mybatis的配置信息 创建包结构&#xff0c;并准备实体类 完成今日开发后项目部分内容如下图示 用户注册于登录部分…

【MongoDB】跨库跨表查询(python版)

MongoDB跨表跨库查询 1.数据准备&#xff1a;2.跨集合查询3.跨库查询应该怎么做&#xff1f; 讲一个简单的例子&#xff0c;python连接mongodb做跨表跨库查询的正确姿势 1.数据准备&#xff1a; use order_db; db.createCollection("orders"); db.orders.insertMan…

机器学习 | 如何利用集成学习提高机器学习的性能?

目录 初识集成学习 Bagging与随机森林 Otto Group Product(实操) Boosting集成原理 初识集成学习 集成学习&#xff08;Ensemble Learning&#xff09;是一种通过组合多个基本模型来提高预测准确性和泛化能力的机器学习方法。它通过将多个模型的预测结果进行整合或投票来做…

增加Vscode引用路径

增加Vscode引用路径 增加Vscode引用路径问题说明解决思路1在Vscode中进行配置缺点 解决思路2 增加Vscode引用路径 问题说明 在嵌入式开发中需要经常用到库函数(SPL), Vscode需要配置引用路径才能对函数名或变量进行跳转 解决思路1 与Keil5 MDK类似, 在配置C/C的json文件中添…

计算机网络_1.6.2 计算机网络体系结构分层的必要性

1.6.2 计算机网络体系结构分层的必要性 一、五层原理体系结构每层各自主要解决什么问题1、物理层2、数据链路层3、网络层4、运输层5、应用层 二、总结三、练习 笔记来源&#xff1a; B站 《深入浅出计算机网络》课程 本节主要介绍实现计算机网络需要解决哪些问题&#xff1f;以…

【Crypto | CTF】BUUCTF 大帝的密码武器1

天命&#xff1a;这题真的是来刷经验的&#xff0c;有点吐血 首先这题是贼简单&#xff0c;但我居然跪到了&#xff0c;所以特此写这一篇来惩戒自己心太大 拿到文件&#xff0c;文件写着zip&#xff0c;改成zip后缀名即可&#xff0c;也不算啥难的 打开里面的两份文件&#x…

NLP入门系列—Attention 机制

NLP入门系列—Attention 机制 Attention 正在被越来越广泛的得到应用。尤其是 [BERT]火爆了之后。 Attention 到底有什么特别之处&#xff1f;他的原理和本质是什么&#xff1f;Attention都有哪些类型&#xff1f;本文将详细讲解Attention的方方面面。 Attention 的本质是什…