华为杯数学建模比赛经验分享
再过一周左右,第二十届华为杯数学建模比赛就要开赛了,所以今天分享一下个人数学建模比赛的经验。
今天给大家分享一期关于华为杯数学建模比赛的经验分享,我将从以下三个方面展开说明:
(1)如何准备数学建模比赛?
(2)如何选择合适的赛题进行建模?
(3)如何提高获奖的机会?
一、如何准备数学建模比赛?
短时间内完成一篇高质量的参赛作品,离不开团队每一个人的通力合作,所以团队的组建尤其重要。团队一般由建模手、编程手和论文手组成,在第一次参加建模比赛的小白可能会认为建模手只负责建模、编程手只负责编程、论文手只负责写论文,这其实是一个错误的认知。建模手需要将建立的数学模型的思想告知编程手方便其编程实现。其次,也需要将建模的思路告知论文手,与其沟通整个建模框架与思路方法,方便后续论文的写作。最后,编程手和论文手还需要沟通论文结果的呈现与分析。参赛人员需要掌握基本的工具,包括编程工具(matlab、python)、写作工具(word)和画图工具(origin)。所以对上述工具的掌握是必备的。此外,我们还必须明白何为数学建模,这是很重要的。对于建模手来说,需要了解什么是数学建模,以及掌握数学建模比赛的常见赛题的建模方法,这就需要建模手多阅读相关优秀论文,此外,还需要掌握相关的编程基础。对于编程手来说,必须要学习编程软件,智能算法、机器学习、深度学习相关的代码要做到灵活使用,此外也必须阅读相关的优秀论文,对相关赛题的建模思路有一定程度的了解。对于写作手来说,写作工具和画图工具是必须掌握的,需要大量阅读相关的优秀论文,学习优秀论文的写作框架,形成自己的一套写作思路,此外也要有一定的数学建模知识。建模手、编程手和写作手没有谁单独只负责一件事,只是大家的侧重点有所不同。建模手和编程手需要相互沟通做好赛题选择,以及在比赛中要相互交流,确定模型的建立,此外实验结果完成后,建模手需要与写作手沟通写作思路,完成论文写作。
二、如何选择合适的赛题
数学建模比赛一般分为四大类,优化、预测、评价和机理分析,一般来说预测最为简单,优化最难。如果遇到预测类题目,可以优先选择预测类题目。下面是对四类赛题的简单总结。
A、优化类
指在满足一定的约束条件下,建立相应的目标函数,使目标函数达到最优(最大或最小)。例如常见的旅行商问题。优化类问题需要根据题目分析得到三个重要因素:目标函数、决策变量和约束条件。此类题目一般较难,不建议小白上手。
解决该类赛题的一般步骤为:
1、确定优化目标
2、确定决策变量
3、构建目标函数
4、分析题目,构建约束条件
5、选择适合的方法求解目标函数
6、求解结果
推荐软件MATLAB、Python
求解方法:智能算法(粒子群优化算法等)、求解器求解(cplex、gurobi)
B、预测类
指根据现有数据或现象,寻找其内在的发展规律,然后对未来情况做出预测的过程。常见的负荷预测、人口预测、股票预测、时序分类预测等。此类题目易上手,但预测的指标精度高低直接决定是否得奖。
解决预测类赛题的一般步骤
1、分析确定预测目标
2、对历史数据进行数据清洗(补全缺失数据、提出异常数据、归一化处理等)
3、选择合适的预测方法进行预测
4、得出预测结果
5、使用评价指标分析预测结果
推荐预测方法BP神经网络、支持向量机、随机森林、LSTM等。
C、评价类
指按照一定的标准对事物的发展或现状进行划分的过程。数学建模中可体现在对生态环境、方案策略进行评价。解决此类赛题的关键是构建合适的评价指标体系和合适的评价方法。
解决评价类赛题的一般步骤
1、明确评价目的
2、明确评价对象
3、建立评价体系
4、确定与各项评价指标相对应的权重系数
5、选择或构造综合评价模型
6、计算系统的综合评价值,给出分析结果。
推荐方法数据包络分析、灰色关联分析、主成成分分析和模糊综合评判法。
D、机理分析
指根据对现实对象特性的认识,分析其因果关系,找出内部机理的规律。在求解问题时,分析对象的物理、化学等相关知识,然后对已知数据或者现象分析做出合理假设,在此基础上构建合适的方程或数学关系式对其内在规律进行数学表达。机理分析题目较难,需要涉及很多知识方能求解,例如空气动力学、流体力学等。
总的来说,遇到预测类题目优先选择预测类的,那么在平时的准备中可以多看一些相关的优秀论文,学习机器学习、深度学习方面的代码,以便在比赛能够灵活使用,例如支持向量机、随机森林、BP神经网络、LSTM、CNN等代码的学习,你准备的越多做起题目就越容易。
三、如何提高获奖的机会
比赛期间所有的东西都会呈现在论文上,所以论文的写作是至关重要。在尽可能完成赛题的同时,保证论文的可读性和呈现性是获奖的必要条件。这里要求写作手必须提前阅读相关类型的赛题的优秀论文,模仿优秀论文的写作框架。在赛题确定以后,可以提前和队友商量把论文的框架搭起来。其次对每一个问题的写作上,建议在开始画一个思路框图,通过框图展现我们对这个问题的思考,使用了哪些关键技术,获得了什么结果。其次,实验结果的呈现尽可能的多元化,采用表格、画图等多种方式对结果进行呈现,避免单一化。对于表格中比较重要的数据可以采取加粗的方式。其次,由于赛题的后面几个题目一般比较难,尽可能的把题目做完,那么当遇到较难的题目时,可以适当简化题目要求,做一些合理假设然后去问题进行求解。例如优化类问题,如果遇到大规模的优化问题,第一我们会面临建模困难,求解时间不够等问题,可以尝试将大问题拆成小问题,或者在尽可能合理的情况下简化约束条件等方式,做一个相对简单的模型呈现出来也是可以的。
这里给写作手分享一个例子,下面是一篇国一的优秀论文。我们可以看到在问题进行分析他们做了一个技术路线,让评审专家一开始就知道你对这个问题的思考,这是一个加分项。我建议比赛的时候可以在每个问题分析之后加上一个技术路线或者流程图。这里的技术路线或者流程图需要建模手和编程手提供。
其次,结果呈现的多元化,我们来看看优秀论文的结果呈现。
采用表格、画图等多种方式对结果进行呈现,会显得参赛作品足够高级,也会吸引住评审专家。
四、数学建模学习资料
1、研赛的优秀论文集链接
链接:https://pan.baidu.com/s/1aYPNQMA2IUra38kNVoYYdQ
提取码:dd4s
3、数学建模的相关书籍链接
链接:https://pan.baidu.com/s/1HOO4Vb4eCCppXY6R7HHQFQ
提取码:zsd4
3、智能算法的学习PPT链接
链接:https://pan.baidu.com/s/1eXkO2RaPQMEeyXfuEF52LA
提取码:fdj5
4、python机器学习书籍链接
链接:https://pan.baidu.com/s/1U6EoOTIZw7Gwh2lo7HQSyw
提取码:dsa6
5、数学建模代码合集
相关文章:

华为杯数学建模比赛经验分享
再过一周左右,第二十届华为杯数学建模比赛就要开赛了,所以今天分享一下个人数学建模比赛的经验。 今天给大家分享一期关于华为杯数学建模比赛的经验分享,我将从以下三个方面展开说明: (1)如何准备数学建模比赛&#x…...

c语言 - 实现每隔1秒向文件中写入当前系统时间
实现思路 主要是通过库函数和结构体获取当前系统时间(年月日和时分秒)保存到变量里,然后通过格式化输出函数将当前系统时间输出到文件中去。 但是需要注意的是题目要求每隔 1 s对系统时间进行输出,所以需要加入 sleep()函数进行调…...

使用cpolar端口映射的方法轻松实现在Linux环境下SVN服务器的搭建与公网访问
文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…...

前后台分离开发 YAPI平台 前端工程化之Vue-cli
目录 YAPI介绍前端工程化之Vue-cli前端工程化简介前端工程化入门——Vue-cli环境准备Vue项目简介创建Vue项目vue项目目录结构介绍vue项目运行方法 Vue项目开发流程 前后台混合开发这种开发模式有如下缺点: 沟通成本高:后台人员发现前端有问题࿰…...
【js/es6】合集
目录 随机生成字符串每十个字符换行 随机生成字符串 function generateRandomAlphaNum(len) {var rdmString "";for (; rdmString.length < len; rdmString Math.random().toString(36).substr(2));return rdmString.substr(0, len); }每十个字符换行 string.…...
Nginx modules build fail:field ‘pkt6’ has incomplete type
前言 最近升级Nginx 1.24.0,编译第三方module出错: /usr/src/nginx_modules/ngx_json_post_module/src/ngx_json_post_module.c In file included from src/event/ngx_event.h:526,from src/http/ngx_http_upstream.h:14,from src/http/ngx_http.h:34,…...

电脑突然提示mfc140u.dll丢失,缺失mfc140u.dll无法运行程序的解决方法
在当今信息化社会,电脑已经成为我们生活和工作中不可或缺的一部分。然而,随着技术的不断发展,电脑也会出现各种问题。其中,最常见的问题之一就是“mfc140u.dll丢失”。那么,当我们遇到这个问题时,应该如何解…...

国庆day1
消息队列 代码 发送 #include<myhead.h> //声明一个消息结构体 typedef struct {long msgtype; //消息类型char data[1024]; //消息正文 }Msg_s; #define SIZE sizeof(Msg_s)-sizeof(long) //消息正文的大小 int main(int argc, const char *argv[]) {key_t key; /…...

从零开始之了解电机及其控制(11)实现空间矢量调制
广泛地说,空间矢量调制只是将电压矢量以及磁场矢量在空间中调制到任意角度,通常同时最大限度地利用整个电压范围。 其他空间矢量调制模式确实存在,并且根据您最关心的内容,它们可能值得研究。 如何实际执行这种所谓的交替反向序列…...
如何将html转换成markdown
什么是Turndown “Turndown” 是一个用于将 HTML 转换为 Markdown 的 JavaScript 库。它通常用于将富文本内容从网页或其他 HTML 格式转换为纯文本 Markdown 格式,以便在不同平台上显示或存储。 如果在有node环境的情况下要使用 Turndown,首先需要将它…...

【VUE复习·3】@keyup.xxx 键盘事件触发函数(单按键 or 组合按键触发)
总览 1.keyup.xxx or keydown.xxx 单按键触发 2.组合按键触发 一、keyup.xxx or keydown.xxx 1.用法 在我们使用 keyup.enter 时,那么我们可以这样写: <div><input type"text" placeholder"按下回车键以确定..." keyu…...

IntelliJ IDEA学习总结(3)—— IntelliJ IDEA 常用快捷键(带动图演示)
一、构建/编译 Ctrl + F9:构建项目 该快捷键,等同于菜单【Build】—>【Build Project】 执行该命令后,IntelliJ IDEA 会编译项目中所有类,并将编译结果输出到out目录中。IntelliJ IDEA 支持增量构建,会在上次构建的基础上,仅编译修改的类。 Ctrl + Shift + F9:重新编…...

巨人互动|Facebook海外户Facebook的特点优势
Facebook作为全球最大的社交媒体平台之一,同时也是最受欢迎的社交网站之一,Facebook具有许多独特的特点和优势。本文小编将说一些关于Facebook的特点及优势。 1、全球化 Facebook拥有数十亿的全球用户,覆盖了几乎所有国家和地区。这使得人们…...

(vue3)create-vue 组合式API
优势: 更易维护:组合式api,更好的TS支持 之前是选项式api,现在是组合式,把同功能的api集合式管理 复用功能封装成一整个函数 更快的速度 更小的体积 更优的数据响应式:Proxy create-vue 新的脚手架工…...

【如何看待Unity收费】对标中小公司的待就业者的该如何做
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:Uni…...

c++迷宫小游戏
一、总结 一句话总结: 显示:根据map数组输出图像 走动:修改map数组的值,每走一步重新刷新一下图像就好 1、如果走函数用z(),出现输入s会向下走多步的情况,原因是什么? 向下走两层循环ij增加&a…...

需求堆积,如何排序产品优先极
面对堆积的产品需求,到底该如何排序优先极呢? 需求排期的目标 在谈具体的排期方法之前,有必要先探讨一下——合理的需求排期应该达到什么的目标呢?如果站在与项目相关的利益人员的角度来看,至少应该使以下四方面的收…...
计算机视觉 回头重新理解图像中的矩
一、人类的欲望 图像中的矩是一个十分古老的话题,这个东西的出现始于人类的欲望,想要找到一种自动且强大的图像分析方法。 比如我们要在图像中识别某一个物体,而这个物体在不同的成像条件下,表现出的高矮胖瘦方向位置颜色都不可能完全一致,这就为识别带来了巨大的困难,但…...
MapStruct应用实战及BeanUtils性能比较
目录 1、MapStruct介绍2、应用设置2.1 Maven依赖 3、功能实战3.1 常用注解3.2 基本映射3.2.1 定义映射器的Java接口3.2.2 测试验证 3.3 参数引用映射3.3.1 定义映射器的Java接口3.3.2 测试验证 3.4 多对象参数映射3.4.1 定义映射器的Java接口3.4.2 测试验证3.4.3 注意点 3.5 嵌…...

ISP技术概述
原本或许是为了对冲手机系统和APP设计无力感而诞生的拍照功能,现今却成为了众手机厂家除背部设计外为数不多可“卷”的地方,自拍、全景、夜景、小视频等旺盛的需求让这一技术的江湖地位迅速变化。对圈内人士而言,这一波变化带来的后摄、双摄、多摄、暗光、防抖、广角、长焦、…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...