2024美赛B题保姆级分析完整思路代码数据教学

本文详细探讨了如何运用统计模型、物理模型和机器学习方法为MCMS公司的潜水器开发位置预测模型,涉及不确定性因素分析、设备需求和信息传递、以及如何通过蒙特卡洛模拟评估风险。同时,文章还讨论了模型的扩展应用和在不同海域的适应性调整。
摘要由CSDN通过智能技术生成

2024美国大学生数学建模竞赛B题保姆级分析完整思路代码数据教学

B题:Searching for Submersibles 搜索潜水器

从给定的背景信息中,我们知道MCMS是一家位于希腊的公司,他们制造能够将人类运送到海洋深处的潜水艇。他们现在希望使用他们的潜水艇带游客去探索Ionian海底的沉船。然而,在此之前,他们需要通过开发安全程序来赢得监管机构的批准。特别的,他们想要你开发一个模型来预测潜水艇随时间变化的位置。

实际上 我们需要为总部位于希腊的小型海上巡航潜艇(MCMS)公司开发一个预测模型。这个模型需要能够预测他们的潜水器在发生技术问题(例如推进力损失)后的位置。此外,我们还需要考虑洋流、海洋密度的不同,以及海底地理位置对潜水器位置的影响。

具体地,我们需要解决以下子问题:

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

2. 不确定性: 确定与这些预测相关的不确定性因素是什么?

3. 设备需求和信息传递: 指定潜水器应该定期向主船发送哪些信息以减少这些不确定性?潜水器需要什么样的设备?

4. 准备: 提出建议公司携带主船部署的设备,并考虑与设备的可用性、维护、准备情况和使用相关的成本。

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

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

对于第一个子问题,开发一个可以预测潜水器的位置的模型,这需要我们掌握一部分的工程技术知识,具体地,可以使用以下三种模型:

l 统计模型:如果有足够多的历史数据,我们可以构建一个统计模型,例如ARIMA模型,预测潜水器的位置。

l 物理模型:如果可获取足够的物理参数(例如洋流速度、海水密度等),我们可以利用牛顿运动定律等建立一个描述潜水器运动的物理模型。

l 机器学习模型:如果有足够多的历史数据和相关性强的其他特征,我们可以尝试基于神经网络的深度学习模型,例如RNN或LSTM,这些模型能够很好地处理时间序列数据。

我们这里讲解一下物理模型该怎么搭建:(注意,物理模型是基于物理规律和原理来描述现象或问题的过程)

l 定义问题:首先,我们需要清楚地定义我们所要解决的问题,包括研究的对象、目标以及我们尝试从模型中获取的信息。

l 理解物理规则:理解涉及到的物理规则是制定物理模型的关键。例如,在潜水器问题中,我们需要理解流体动力学(潜水器在水中运动)、牛顿运动定律(潜水器的加速度、速度和位置之间的关系)、浮力定理(影响潜水器上浮和下沉的因素)等基本原理。

l 设立假设:为了简化问题,我们通常需要设立一些假设。这些假设可能包括忽略某些小的影响因素,或者认为某些参数是常数。例如,我们可以假设海水的密度是均匀的,虽然实际上它可能会随深度和温度变化。

l 建立数学表达式:基于以上的理解和假设,我们可以建立起描述潜水器运动的数学方程。例如,我们可以使用牛顿第二定律 F=ma 来描述潜水器的运动,其中 F 是作用在潜水器上的总力,m 是潜水器的质量,a 是潜水器的加速度。

l 求解和验证:有了数学模型后,我们就可以通过数值方法(如有限差分法、有限元方法等)或者解析方法来求解了。得到结果后,我们还需要进行验证,看看模型的预测是否符合实际情况。

针对第二个子问题:确定与这些预测相关的不确定性因素是什么?

这个可以有如下步骤:

1. 识别影响因素:首先,需要了解所有可能影响潜水器位置的因素。这可能包括潜水器的初始位置、速度和加速度,海底地形和地理位置,海水的密度和温度,洋流以及潜水器设备的工作状态等。

2. 量化影响因素的不确定性:一旦识别了影响因素,接下来就需要评估每个因素的不确定性。例如,可以使用历史数据或专家意见来估计海水密度的变异性,或者通过实验和测试来评估设备失效的概率。在没有足够信息的情况下,可能需要做出假设或者使用最坏情况(或者最保守)的估计。

3. 建立模型:然后,可以建立一个数学模型来描述潜水器的运动,考虑到所有以上的影响因素和他们的不确定性。这可能是一个随机过程模型或者蒙特卡洛模拟模型。

4. 进行敏感性分析:使用模型来研究各个影响因素的不确定性如何影响预测结果的不确定性。这通常需要对每个参数进行敏感性分析,即改变一个参数值并观察预测结果如何改变。

5. 评估总的不确定性:最后,可以将所有的不确定性合并起来,得到预测结果的总的不确定性。这可能需要用到一些统计方法,比如误差传播法或者蒙特卡洛方法。

下面给大家在建立第二小问模型过程中,进行蒙特卡洛模拟的基本步骤:

1. 定义可能的输入参数:根据你的系统或问题,列出所有可能影响结果的因素或参数。例如在预测潜水器位置的问题中,可能的输入参数包括潜水器的初始位置、速度、加速度、海流等。

2. 为每个输入参数指定一个概率分布:每个输入参数都会有一些不确定性,因此我们需要为其指定一个概率分布。这个分布可以基于历史数据、专家意见或者其他信息。例如,海流可能服从正态分布、均匀分布或者其他某种分布。

3. 生成大量的随机输入参数组合:使用上一步得到的概率分布,生成大量(通常是几千或几万)的随机输入参数组合。每一组参数组合都应该反映了输入参数的不确定性。

4. 对每一组输入参数运行模型并记录结果:对每一组随机生成的输入参数运行你的模型(例如,预测潜水器位置的模型),并记录下结果。

分析结果:最后,分析模拟的结果。例如,计算结果的平均值、中位数、百分位数等统计量,也可以绘制结果的直方图或密度图以可视化结果的分布。

其中更详细的思路,各题目思路、代码、讲解视频、成品论文及其他相关内容,可以点击下方群名片哦!

2023五一杯数学建模b保姆思路代码:快递需求分析。 首先,我们可以采用Python编程语言来解决这个问。我们需要使用一些常用的数据分析库,例如Numpy和Pandas。 代码实现思路如下: 1. 首先,我们需要导入所需的库: import numpy as np import pandas as pd 2. 接下来,读取数据集并进行预处理: data = pd.read_csv('data.csv') # 读取数据集 data['日期'] = pd.to_datetime(data['日期']) # 将日期转换为标准格式 3. 对快递需求进行分析: 3.1 计算每日总需求量: data['总需求量'] = data['订单数量'].groupby([data['日期']]).transform('sum') 3.2 计算每月平均需求量: data['月平均需求量'] = data['总需求量'].groupby([data['日期'].dt.year, data['日期'].dt.month]).transform('mean') 3.3 计算每周平均需求量: data['周平均需求量'] = data['总需求量'].groupby([data['日期'].dt.year, data['日期'].dt.week]).transform('mean') 4. 进行需求分析: 4.1 计算每个月的需求波动情况: data['需求波动'] = data['总需求量'] - data['月平均需求量'] 4.2 计算每个周的需求波动情况: data['周需求波动'] = data['总需求量'] - data['周平均需求量'] 5. 可以根据需求波动情况,进行快递员人数的调整以满足不同时间段的需求波动情况。 以上就是解决2023五一杯数学建模b保姆思路代码的大致思路。当然,具体的代码实现还需要根据目要求和数据集进行进一步的调整和优化。同时,在实际问中,我们还可以利用数据可视化工具如Matplotlib将分析结果以图表的方式展示出来,更直观地展示快递需求的变化趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值