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

华为杯数学建模比赛经验分享

再过一周左右,第二十届华为杯数学建模比赛就要开赛了,所以今天分享一下个人数学建模比赛的经验。


   今天给大家分享一期关于华为杯数学建模比赛的经验分享,我将从以下三个方面展开说明:

(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项目开发流程 前后台混合开发这种开发模式有如下缺点: 沟通成本高:后台人员发现前端有问题&#xff0…...

【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&#xff0c;编译第三方module出错&#xff1a; /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无法运行程序的解决方法

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

国庆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)实现空间矢量调制

广泛地说&#xff0c;空间矢量调制只是将电压矢量以及磁场矢量在空间中调制到任意角度&#xff0c;通常同时最大限度地利用整个电压范围。 其他空间矢量调制模式确实存在&#xff0c;并且根据您最关心的内容&#xff0c;它们可能值得研究。 如何实际执行这种所谓的交替反向序列…...

如何将html转换成markdown

什么是Turndown “Turndown” 是一个用于将 HTML 转换为 Markdown 的 JavaScript 库。它通常用于将富文本内容从网页或其他 HTML 格式转换为纯文本 Markdown 格式&#xff0c;以便在不同平台上显示或存储。 如果在有node环境的情况下要使用 Turndown&#xff0c;首先需要将它…...

【VUE复习·3】@keyup.xxx 键盘事件触发函数(单按键 or 组合按键触发)

总览 1.keyup.xxx or keydown.xxx 单按键触发 2.组合按键触发 一、keyup.xxx or keydown.xxx 1.用法 在我们使用 keyup.enter 时&#xff0c;那么我们可以这样写&#xff1a; <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作为全球最大的社交媒体平台之一&#xff0c;同时也是最受欢迎的社交网站之一&#xff0c;Facebook具有许多独特的特点和优势。本文小编将说一些关于Facebook的特点及优势。 1、全球化 Facebook拥有数十亿的全球用户&#xff0c;覆盖了几乎所有国家和地区。这使得人们…...

(vue3)create-vue 组合式API

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

【如何看待Unity收费】对标中小公司的待就业者的该如何做

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…...

c++迷宫小游戏

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

需求堆积,如何排序产品优先极

面对堆积的产品需求&#xff0c;到底该如何排序优先极呢&#xff1f; 需求排期的目标 在谈具体的排期方法之前&#xff0c;有必要先探讨一下——合理的需求排期应该达到什么的目标呢&#xff1f;如果站在与项目相关的利益人员的角度来看&#xff0c;至少应该使以下四方面的收…...

计算机视觉 回头重新理解图像中的矩

一、人类的欲望 图像中的矩是一个十分古老的话题,这个东西的出现始于人类的欲望,想要找到一种自动且强大的图像分析方法。 比如我们要在图像中识别某一个物体,而这个物体在不同的成像条件下,表现出的高矮胖瘦方向位置颜色都不可能完全一致,这就为识别带来了巨大的困难,但…...

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设计无力感而诞生的拍照功能,现今却成为了众手机厂家除背部设计外为数不多可“卷”的地方,自拍、全景、夜景、小视频等旺盛的需求让这一技术的江湖地位迅速变化。对圈内人士而言,这一波变化带来的后摄、双摄、多摄、暗光、防抖、广角、长焦、…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...