2024深圳杯(东北三省)数学建模选题建议及各题思路来啦!

news2024/11/25 1:52:47

大家好呀,2024深圳杯数学建模(东北三省数学建模联赛)开始了,来说一下初步的选题建议吧:

首先定下主基调,

本次深圳杯(东北三省)建议选A。难度上D>B>C>A。D涉及复杂的物理建模、图像处理以及数值优化,难度很大。B是涉及板材利用率、设备时间管理以及成本控制的复杂工程优化问题,只建议做过板材切割优化的队伍选择。C其实只涉及机器学习,但是难点在于第一问用不同版本编译器运行后的特征提取工作。A则是声学定位、多目标跟踪和误差分析,主要涉及数值优化和非线性方程求解,求解思路很确定,可以写出很多公式建模,也可以做不少可视化,这样获奖概率会高很多,大家到时候直接运行我给的python代码即可,不需要你配环境,我会录制怎么运行的视频,无脑运行,很简单。

精力有限,以下只是简略的图文版初步思路,更详细的视频版完整讲解请移步:

2024深圳杯(东北三省)数学建模选题建议及ABCD题思路!_哔哩哔哩_bilibili

OK,接下来讲一下ABCD题的思路。

A题:多个火箭残骸的准确定位

声学定位、多目标跟踪和误差分析、数值优化、非线性方程求解

问题1:单个残骸的音爆位置确定

建模思路:

1. 声波传播模型:首先,需要了解声波在空气中的传播速度固定(340 m/s),通过测量声波到达不同设备的时间差,可以估计声源的位置。

2. 几何定位:最少需要三个监测设备来在三维空间中定位一个点。这可以通过解三维空间中的多个球面方程来实现,每个球的中心是一个监测设备,半径是声波传播距离。

3. 最小二乘法:由于可能存在测量误差,可以用最小二乘法来优化估计的音爆位置。

计算步骤:

1. 将经度和纬度转换为笛卡尔坐标系下的x,y坐标。

2. 对于每个设备,计算其与声源的距离

3. 利用多个数据组成的方程组通过数值方法求解位置 (x,y,z)

问题2:多个残骸的音爆位置确定

建模思路:

1. 数据关联:首先需要确定每个设备接收到的震动波分别来自哪一个残骸。这可以通过比较不同设备接收到的音爆时间差进行初步关联。

2. 多目标跟踪:使用如多假设跟踪(MHT)或联合概率数据关联(JPDA)等算法来处理多个目标的跟踪问题。

3. 设备数量决定:理论上,每个残骸的定位至少需要三个设备,因此四个残骸至少需要十二个设备(每个残骸三个独立设备),但实际中可以共享设备。

问题3:具体数据的应用与模型验证

1. 利用问题2中的模型,对表中数据进行处理,关联每个时间戳对应的残骸。

2. 通过解相应的几何定位方程,确定每个残骸的具体位置和时间。

问题4:误差分析和修正模型

建模思路:

1. 随机误差模型:引入高斯噪声来模拟设备记录时间的误差。

2. 误差传播分析:分析时间记录误差如何影响最终的空间定位误差。

3. 优化方案:考虑使用滤波器,如卡尔曼滤波器,来减少误差影响。

实施步骤:

1. 在问题3的数据基础上添加随机误差。

2. 重复问题3的定位过程,记录位置误差。

3. 分析误差结果,并探讨如何通过算法优化减少误差。

B题:批量工件并行切割下料问题

板材利用率、设备时间管理以及成本控制的复杂工程优化

问题一:板材切割排版方案

建模思路

1. 几何排布优化:将工件切割下料问题视为一个二维装箱问题(2D bin packing),目标是最大化板材面积利用率。

2. 启发式算法:使用启发式算法,如最佳适应算法(Best Fit),先进优先搜索(Best First Search)或遗传算法等,进行工件的排列组合。

3. 约束条件:保证每块板材至少包含5种型号的工件,同时考虑工件间和板边的最小间距。

操作步骤

· 将工件按大小、形状分类并优先排列较大的工件,以减少空间碎片。

· 考虑旋转工件以适应板材形状,以提高利用率。

问题二:并行切割下料时间优化

建模思路

1. 调度优化:此问题为多机调度问题,需优化刀具和轨道的运动以最小化总切割时间。

2. 冲突避免:确保刀具间不会发生冲突,并考虑刀具的最小间隔约束。

3. 动态规划或搜索算法:应用动态规划或启发式搜索算法,比如A*搜索,优化刀具和轨道的运行路径。

操作步骤

· 设计一个轨道和刀具的协同运行方案,包括刀具的升起和恢复切割操作。

· 模拟刀具的切割路径,以及轨道的移动,优化整体操作时间。

问题三:板材组合切割下料

建模思路

1. 多目标优化:在保证高板材利用率的前提下,选择合适数量和类型的板材进行组合切割。

2. 整数规划:使用整数线性规划模型来确定每种板材的最优数量。

3. 面积计算:计算每种排版方案的总面积利用率,优化选择。

操作步骤

· 使用组合优化来确定不同板材组合的最佳使用数量。

· 应用二维装箱算法确定每种板材的工件排版方案。

问题四:批量工件的时间优化

建模思路

1. 仿真模型:构建一个模拟多刀具和板材协同作业的详细仿真模型。

2. 并行处理:设计刀具和轨道的并行操作策略,以减少总切割时间。

操作步骤

· 利用多刀具并行操作的优势,设计高效的切割路径。

· 优化刀具间协调,避免无效运动和等待时间。

问题五:成本总和最小化

建模思路

1. 成本模型:建立一个包括能量、板材和设备时间成本的计算模型。

2. 多目标优化:使用多目标优化算法,平衡成本和效率。

操作步骤

· 计算不同切割方案的能量消耗和时间成本。

选择成本最低的切割策略,同时保证板材利用率。

C题:编译器版本的识别问题

机器学习

问题一:特征识别

建模思路

1. 数据收集:首先需要使用多个不同版本的GCC编译器编译相同的C++源代码,记录编译结果(二进制文件)。

2. 特征提取:从二进制文件中提取特征,如指令模式、库调用差异、代码结构特征、元数据信息等。

3. 分析比较:使用一些工具(比如IDA Pro, Ghidra, Radare2等)来查看并对比不同版本编译结果的差异。

操作步骤

· 对每一个编译版本的输出执行静态分析,提取特征。

· 使用统计分析或机器学习方法来识别哪些特征在版本间表现出显著差异。

问题二:构造判别函数

建模思路

1. 机器学习分类器:基于问题一中识别的特征,构建一个机器学习模型(如支持向量机SVM、随机森林等),用于区分编译器版本。

2. 训练与测试:将收集的数据分为训练集和测试集,用训练集来训练模型,测试集来验证模型的准确性。

操作步骤

· 选择适当的机器学习算法并实施。

· 调整模型参数,进行交叉验证,以优化模型性能。

问题三:模型验证与应用

建模思路

1. 应用验证:使用问题二中的判别函数,对另一批源代码(附件2中的源代码)编译的结果进行版本识别。

2. 结果分析:分析判别函数在新数据集上的表现,检查其泛化能力和准确度。

操作步骤

· 对附件2的代码进行编译,并使用问题二中的模型进行版本识别。

· 分析并记录识别的准确率和可能出现的问题。

问题四:提升判别函数性能

建模思路

1. 特征优化:回顾问题一中的特征提取过程,考虑更多可能有助于区分的特征。

2. 算法优化:探索更适合此类问题的高效算法或模型改进。

3. 数据增强:通过增加更多版本的编译结果或使用数据增强技术提高模型的泛化能力。

操作步骤

· 实施特征选择技术,去除冗余和无关特征,加入新的区分性强的特征。

· 尝试不同的机器学习模型,比较它们的性能。

· 进行参数调优,使用模型集成方法如Bagging或Boosting增强模型稳定性。

D题:音板的振动模态分析与参数识别

物理建模、偏微分方程、特征值问题、数值优化

问题一:均质音板的振动数学模型

建模思路

1. 物理模型:基于弹性板理论,采用Kirchhoff-Love板理论或Mindlin-Reissner板理论建立数学模型,因为这些理论考虑到了板的弯曲效应和剪切变形。

2. 偏微分方程(PDE):设置合适的边界条件(自由边界条件),写出方形均质音板的振动PDE。

3. 特征值问题:将振动问题转换为特征值问题,利用数值方法求解频率和振型。

操作步骤

· 导出描述音板振动的偏微分方程。

· 使用有限元方法(FEM)或边界元方法(BEM)来离散化方程。

· 计算2000 Hz范围内的特征值和特征向量,分析材质对频率和振型的影响。

问题二:非均匀厚度音板的振动模型

建模思路

1. 几何建模:首先描述音板的几何形状和厚度分布。

2. 非均匀物性参数:包括非均匀的密度、杨氏模量等在振动PDE中体现。

3. 数值求解:由于结构的非均匀性,可能需要使用更高级的数值方法来求解,如自适应网格的FEM。

操作步骤

· 定义厚度非均匀分布函数。

· 在PDE中引入这一分布函数,构建数学模型。

· 利用数值方法求解2000 Hz范围内的振动特征值和特征向量。

问题三:描述振型函数

建模思路

1. 数据解读:对附件中给出的振型图进行详细解读和理解。

2. 数学表达:将振型图转换为数学表达式,可能需要使用函数逼近和插值方法。

3. 标准化:确保振型函数的平方在参考平面区域的积分等于1。

操作步骤

· 利用图像处理技术提取振型图中的颜色深度数据。

· 使用插值方法或基于物理的拟合方法描述振型函数。

· 标准化函数以满足单位范数的要求。

问题四:参数识别与建议

建模思路

1. 逆问题求解:基于附件中的前5个模态信息,构建一个逆问题来识别音板的物理和厚度参数。

2. 优化算法:使用优化算法,如遗传算法或梯度下降,来估计使模态信息最接近给定数据的参数。

3. 材料选择:依据求解结果,对材料的选择提出建议,可能涉及材料库的搜索和对比。

操作步骤

· 设立一个代价函数,衡量计算得到的模态信息与实验数据之间的差异。

· 通过优化算法调整物理和厚度参数,最小化代价函数。

· 提供几种可能的材料选择,并就其振动特性给出评估。

上述思路的文档领取、视频讲解以及后续的完整成品论文预定请点击我的下方个人卡片查看↓:

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

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

相关文章

开源模型应用落地-chatglm3-6b-集成langchain(十)

一、前言 langchain框架调用本地模型,使得用户可以直接提出问题或发送指令,而无需担心具体的步骤或流程。通过LangChain和chatglm3-6b模型的整合,可以更好地处理对话,提供更智能、更准确的响应,从而提高对话系统的性能…

Linux中进程和计划任务管理(2)

一.进程命令 1.lsof lsof 命令,“list opened files”的缩写,直译过来,就是列举系统中已经被打开的文件。通过 lsof 命令,我们就可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件。 格式&…

【详细实现】v1.0 随机点名应用

1.引言 前面对这个应用的功能做了详细的分析(长什么样、能干什么),以先这样对一个项目最开始的分析成为需求分析,需求分析之后就是设计阶段。 那么一般的项目,在设计阶段都需要干什么呢?在需求分析阶段确定…

Linux系统中安装MySQL

1、在电脑中安装虚拟机 2、df -h查看光盘是否挂载,没挂载用mount -o ro /dev/sr0 /media命令挂载 3、进入etc/yum.repos.d目录查看仓是否配置,若配置进行下一一步,未配置则进行配置 配置软件仓库 [rootlocalhost yum.repos.d]# vim rhle.r…

423 世界读书日 和京东零售技术人一起读好书

我们正处于一个复杂、变化的世界,想要更好地理解、适应它,读书可能是最方便的方式之一。 4 月 23 日世界读书日,我们整理了 10 位零售技术人的书籍推荐给大家,欢迎大家一起来共读好书。愿大家在忙碌工作之余,都能够持…

Kubectl常见排查pod问题命令

一.查看命名空间pod及其日志 #查看命名空间pod kubectl get pods -n <命名空间名称> #该命令不加-n命名空间名称&#xff0c;默认是查看default命名空间的pod#查看对应pod的日志kubectl logs -f <pod-name> -n <namespace>#同样的如果查看的是default命名空…

在 vue3 中使用高德地图

前言&#xff1a;定位地图位置所需要的经纬度&#xff0c;可以通过 拾取坐标 获取。 一&#xff1a;快速上手 1. 安装依赖 npm install amap/amap-jsapi-loader # or pnpm add amap/amap-jsapi-loader # or yarn add amap/amap-jsapi-loader 2. 创建组件 src/components/Ma…

有关栈的练习

栈练习1 给定一个栈&#xff08;初始为空&#xff0c;元素类型为整数&#xff0c;且小于等于 109&#xff09;&#xff0c;只有两个操作&#xff1a;入栈和出栈。先给出这些操作&#xff0c;请输出最终栈的栈顶元素。 操作解释&#xff1a; 1 表示将一个数据元素入栈&#xff…

Mysql 存在多条数据,按时间取最新的那一组数据

1、数据如下&#xff0c;获取每个用户最近的一次登录数据 思路1&#xff1a;order by group by 先根据UserIdLogInTime排序&#xff0c;再利用Group分组&#xff0c;即可得到每个User_Id的最新数据。 1 SELECT * FROM login_db l ORDER BY l.user_id, l.login_time DESC; 排…

一款辅助应用助力盲人公交出行畅行无阻

在这个日新月异的时代&#xff0c;科技进步正以前所未有的速度改变着人们的生活方式&#xff0c;尤其是在提升特殊群体生活质量方面展现出巨大潜力。今日&#xff0c;我们将目光聚焦于盲人公交出行&#xff0c;探讨一款名叫蝙蝠避障的创新辅助应用如何以其实时避障与拍照识别功…

vben admin Table 实现表格列宽自由拖拽

更改BasicTable.vue文件 Table添加 resize-column“resizeColumn” 添加并 return resizeColumn const resizeColumn (w, col) > { setCacheColumnsByField(col.dataIndex, { width: w }); }; 在column中添加 resizable: true,

做一个答题pk小程序多少钱

在探讨“做一个答题pk小程序多少钱”这一问题时&#xff0c;我们首先需要明确的是&#xff0c;小程序的价格并非固定不变&#xff0c;而是受到多种因素的影响。这些因素包括但不限于小程序的复杂度、功能需求、开发周期、技术难度以及开发团队的规模和经验等。因此&#xff0c;…

单机单实例部署RocketMQ及测试

部署Apache RocketMQ需要准备NameServer、Broker、Proxy三个组件。它有几种部署模式&#xff1a; Local模式:Broker 和 Proxy 是同进程部署Cluster模式:Broker 和 Proxy 分别部署 为了部署简便&#xff0c;我们采用local模式。 RocketMQ部署 Dockerfile FROM ubuntu:22.04 …

Linux KASAN使用与实现原理

一、KASAN工具使用 KASAN工具&#xff1a;Kernel Address SANitizer(KASAN)是一种动态内存安全错误检测工具&#xff0c;主要功能是检查内存越界访问和使用已释放内存的问题。 1.1 KASAN宏控开关 KASAN有三种模式&#xff1a;1.通用KASAN&#xff1b;2.基于软件标签的KASAN&…

模版初阶【C++】

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ &#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1…

嵌入式Python基础1-2

嵌入式Python基础1-2 条件语句 if elif else 随机数random eval while循环 for循环 水仙花数 循环else list 列表常用方法 增删改查 加排序 append remove pop index() 升序sort(&#xff09;降序 sort(reverseTrue) 反转 reverse&#xff08;&#xff09;…

[Collection与数据结构] PriorityQueue与堆

1. 优先级队列 1.1 概念 前面介绍过队列&#xff0c;队列是一种先进先出(FIFO)的数据结构&#xff0c;但有些情况下&#xff0c;操作的数据可能带有优先级&#xff0c;一般出队列时&#xff0c;可能需要优先级高的元素先出队列&#xff0c;该中场景下&#xff0c;使用队列显然…

持续更新。。。

1、JAVA面试指南 https://javaguide.cn/ 简历优化&#xff1a;突出与应聘职位相关的项目经验、技术栈、技能证书和专业成就。确保简历中的技术关键词与JD&#xff08;Job Description&#xff09;相符。 自我评估&#xff1a;对照目标职位要求&#xff0c;梳理自身Java技能树&…

mac安装nvm管理node(手残流,git下载)

1. 准备 首先电脑里得有brew、git、vscode&#xff0c;看这里安装brew、git&#xff0c;看这里安装vscode。 我本人比较low&#xff0c;mac命令也记不熟&#xff0c;本篇就是git下载nvm&#xff0c;vscode看配置&#xff0c;省心不动脑子就可以了。 2. 清理node 如果mac里没…

Xshell正版免费使用(学生党)

话不多说&#xff0c;上链接 https://www.xshell.com/zh/free-for-home-school/