1、 数学建模国赛介绍
1.1 数学建模国赛是什么?如何评奖
全国大学生数学建模竞赛是全国高校规模最大的课外科技活动之一。该竞赛每年9月(一般在上旬某个周末的星期五至下周星期一共3天,72小时)举行,竞赛面向全国大专院校的学生,不分专业,本科组竞赛所有大学生均可参加。同学可以向该校教务部门咨询,如有必要也可直接与全国竞赛组委会或各赛区组委会联系。
全国大学生数学建模竞赛创办于1992年,每年一届,是“高校学科竞赛排行榜”的第五名(前四名分别是互联网+、大挑战杯、小挑战杯、世界ACM竞赛),可以说该竞赛是数据分析、数学建模类竞赛中的“奥林匹克竞赛”。
2022 年全国普通高校学科竞赛排行榜(由教育部发布)
2022年,来自全国及澳大利亚、马来西亚等国家的1606所院校/校区、54257队(本科组49424队、专科组4833队)、超过16万人报名参赛。比赛形式是16W参赛学生在3天4夜时间内出一篇25页左右的论文,通过线上提交评选。
1992年~2022年参数人数
竞赛时间:每年9月中旬
综合获奖率:省奖30~40%左右,国奖7%左右
省奖:
评选本赛区的一等、二等、三等奖,获奖比例一般不超过三分之一
国奖:
(1)按赛区看
报名队数不超过200个队的部分,送全国评阅论文的数量基数占报名队数的 12%;
报名队数超过200但不超过500个队的部分,送全国评阅论文的数量基数占报名队数的 10%
报名队数超过 500 但不超过 800 个队的部分,送全国评阅论文的数量基数占报名队数的 8%;报名队数超过 800 个队的部分,送全国评阅论文的数量基数占报名队数的 5%。
(2)按学校看
任何一所学校,每年国赛最多能拿5个国一和5个国二
1.2 参加国赛的意义
1.2.1 在校时的意义
(1)保研或者留学申请
国奖对四分制绩点可按小组增加0.2到0.4左右,有的学校也可以直接保研,在面试环节,对于联系导师会有推波助澜的作用!
(2)奖学金
国赛获奖是货真价实的国家级竞赛,没有学校不认这个比赛的,不管是评综测或者其他奖学金的评选上,都有加分,部分学校有设立竞赛奖学金的,可以直接申报单项奖励金。
(3)有利于科研
一方面通过解决实际问题,提升了问题分析、建模和解决的能力,为科研中面对复杂难题时提供有力支持,另一方面锻炼了创新思维,培养了在科研中提出新颖思路和创新方法的能力。
此外,涉及多学科领域的知识拓展了参赛者的学科广度和跨学科应用能力,对科研中的综合应用也具有积极影响。简而言之,你三天都能肝出一篇有模有样的论文,搞个科研那不是轻轻松松,顶刊不敢说,其他核心期刊来灌水那不是嘎嘎乱杀。
1.2.2 就业后的意义
(1)培养了数学建模思维
这点我有切身体会,本质上数学建模就是锻炼了我们把一个现实中的问题用数学模型来进行表达,在现实工作中随着我们与数据打交道的机会跟频率越来越高,工作中应用数据能够使得我们的工作能力鹤立鸡群,例如运营+数学建模=数据运营,产品经理+数学建模等于数据产品经理,业务分析师+数学建模等于数据科学家,会点数学建模简直是武器强化加10的存在
(2)培养了团队协作能力
数学建模是一个团队比赛,先不说三天内肝一篇论文难度,想在三天内把肝出来的论文各种图表制作精美,这肯定靠一个人的能力是不够的,因此通常需要和小伙伴进行合作,通过和队友共同解决问题,可以提高参赛者的团队合作和沟通能力,这个分工组织能力,对未来工作中培养领导力,是有一定的影响的。
1.3 如何组队
角色 | 建模手 | 编程手 | 论文手 |
特征 | 举一反三见多识广(熟练掌握模型及场景)能快速学习 | 编程熟练擅长搬砖能快速学习 | 文采翻飞UI设计或有审美word精通 |
任务 | 负责确定做题思路,查阅相关文献,以及把握完整的比赛进度 | 与建模同学讨论思路,并且通过编程求解模型 | 撰写论文,并且需要进行适当的作图、排版、公式编辑 |
硬技能要求 | 无 | 熟练掌握python或matlab | 擅长PS、word、Visio |
特别重要一点:要选择认真负责的,不要打杂的,哪怕能力差点也没事,可以锻炼的。
1.4 数学建模的本质
模型建立与求解:算法匹配大赛,模型沉淀是速成的唯一途径
论文呈现:人都是追求美丽与艺术,视觉盛宴能PRO得分
1.5 国赛更注重什么?
(1)注重结果
国赛有一个评阅标准,例如预测题,评阅标准有列出答案,如果答案对不上,或者不在范围内,无论你再怎么语文建模,拿不到2等奖以上;
(2)注重过程
每一个结果都必须要有对应的解释,并且解释要直截了当,对模型的匹配和解释来源越合理,对结果的展示分析越全面,得分越高
1.6 备战前如何选题
机理分析类:来源于实际问题,需要了解一定的物理机理,转化为优化问题。
微分方程模型、数值模拟等
优化类:纯优化问题,旨在找到使某个目标函数取得最大或最小值的最优解,对于机理要求要求不高,重在求解。
线性规划:内点法、单纯形法、修正单纯形法、
非线性规划:下山单纯形法、改进的BFGS拟牛顿法、改进的共轭方向法、(边界)截断牛顿法、线性近似束优化方法、序贯最小二乘规划算法、信赖域算法、
整数规划:分支定界法、0-1规划、枚举法、
启发式算法:遗传算法(GA)、粒子群算法(PSO)、模拟退火算法(SA)、蒙特卡洛
评价类:纯评价问题,通过构建合适的指标和评价方法,评价模型能够对不同方案的优劣进行比较和分析。
层次分析法、因子分析(探索性)、数据包络分析(DEA)、模糊综合评价、优劣解距离法(TOPSIS)、秩和比综合评价法(RSR)、耦合协调度、熵值法、CRITIC权重法、独立性权系数法、变异系数法、灰色关联分析、多准则妥协解排序法(VIKOR)、解释结构模型(ISM)
数理统计模型(主要是预测类):数理统计模型可以通过对给定数据集的统计分析,推断出数据的分布规律、相关性、假设检验等,为问题提供支持和解决方案。
arima、机器学习、灰色预测、问卷分析、相关分析、差异分析等等
纯新手建议先从评价类与数理统计模型学起,机理与优化类算法不好速成,需要更长时间的沉淀与积累
2、 建模手&论文手七天学习计划
2.1第一天学习计划:模型沉淀
2.2第二天学习计划:模型类别梳理+加深记忆
2.3第三天学习计划:看摘要与目录
链接: https://pan.baidu.com/s/1s0_Vq5tM0pZ5JBRSyF-YLw?pwd=fr33 提取码: fr33
2.4 第四天学习计划:看论文
2.5数模手第五六七天学习计划:实战
第一天做2道题的思路,然后对比学习论文,第2、3天写一篇论文
2.6论文手第五六七天学习计划:看论文+实战
第一天疯狂看优秀论文的排版,总结优势,提升“排版感”,后面2天配合建模手一起写论文
3、 编程手七天学习计划
3.1 Python & matlab & R
1. Python
a. 区别:Python是一种通用的高级编程语言,适用于多种领域,包括数学建模。它提供丰富的第三方库和模块,可用于科学计算、数据分析、机器学习等。
b. 优势:语法简洁易学,适合初学者和快速原型开发。
i. 拥有大量开源库(如NumPy、SciPy、Pandas等),支持科学计算和数据处理。
ii. 强大的机器学习库(如Scikit-learn)支持。
iii. 社区活跃,文档丰富,问题容易找到解答。
iv. 可移植性好,支持跨平台。
2. MATLAB:
a. 区别:MATLAB是一种专门用于数学计算和科学工程的高级语言和交互式环境。它被广泛应用于数值计算、数据可视化、仿真等领域。
b. 优势:内置丰富的数学函数和工具箱,适合数值计算和信号处理等领域。
i. 专门为工程和科学计算设计,支持矩阵操作。
ii. 交互式环境便于数据探索和可视化。
iii. 在控制系统、信号处理等领域有广泛的应用。
iv. Simulink环境用于建模和仿真系统。
3. R:
a. 区别:R是一种用于统计计算和数据分析的编程语言和环境。它主要用于统计学习、数据挖掘和可视化等任务。
b. 优势:丰富的统计和机器学习库,包括有名的ggplot2数据可视化库。
i. 非常适合数据清洗、分析和可视化。
ii. 统计方法的广泛支持,用于处理复杂的统计模型。
iii. R Markdown等功能支持可重复性研究和报告撰写。
iv. 在学术界和数据科学领域有广泛的应用。
强推python,免费、易安装、上手快,功能全、代码模板好找、最主要后面工作也能用到
推荐编译器:jupyter notebook或者spsspro notebook
3.2 第一、二天学习计划:python基础(基础数据结构认知与环境)
9个小时 ,可以分2天看
https://www.bilibili.com/video/BV1YT4y1X7jT/
3.3第三天学习计划:pandas +Numpy+matplotlib 和seaborn
https://www.bilibili.com/video/BV1eM4y1V7Mv
3.4第四天学习计划:Scipy 应用教程
https://www.bilibili.com/video/BV1i44y1M7Mz
3.5第五天学习计划:Sklearn 应用教程&SPSSPRO应用教程
https://www.bilibili.com/video/BV1QP4y1t76A
3.7第六七天学习计划:实战
后面2天配合建模手一起实战
4、 数学建模国赛获奖技巧
4.1 解题技巧—拆解法
先抛给大家三个问题,试着回答下:
1.如何变成大牛?
2.如何赚取人生的第一个100万?
3. 如何告别单身?
对于这样的问题,是不是很难回答?是的,很难。不是因为国军无能,实在是问题太大,背景太广。当然,这些问题本身也不是一个好的提问,有关如何提出一个好问题,这个是很值得用一整篇文章来讲的话题,这里就不详细展开了。
但是,现实中我们会经常遇到这种又不得不解决的大问题,这时候,处理问题的智慧就需要出现了。答案也很简单,就是先试着将大问题一步步拆解成一个个小问题,最好能拆成B%A,也就是无法再继续往下拆解的问题,然后再开始寻找解决办法。
(1)将大的问题一步步拆解
首先明确一点,在解决问题的流程中,定位和拆解问题是最重要的一环,关于这点可以记住一个二八定律,用80%的精力去定位和拆解问题,剩下的只需要20%的精力去解决问题。这个时间分配可能和很多人的直觉不一样,但是却很实用,就像维修一件物品,找到具体是哪个元件坏了比替换更需要花时间。
有了这个意识,明白拆解问题才是解决问题最关键的一步后,思路就会清晰了,很多时候,对问题拆解完成后,答案也会自己跑出来。当然,就算没有答案没有自现,离解决办法隔得也不远了。
那么具体如何来拆解一个复杂问题呢,首先去分析这个问题的几个要点,列出个一二三。
一篇文章讲清楚【结构化思维】
找到问题的要点这个是很考验你对这个问题的理解程度的,马斯克提出的第一性原理,也是基于找到了一件事物的最本质的内核。
在试着去阅读并理解这些问题后,接着去发散的想这些问题解决的要点有哪些,在试着提炼出这个问题存点的几个要点后,试着用一个公式把这些要点串联起来。公式化这个很重要,大多数的问题都可以公式化,这就像我们上学的时候的方程式一样的,有了这个要点组成的公式后,你就可以根据组成公式的元素,一个个去击破了。
(2)举一个例子
说了这么多,我们来举个例子加深理解。现在有个问题是「如何提升公众号的阅读量」,这个也是一个大问题,它就是一个需要拆解的问题,我们试着拆解如下:
1.总阅读量= 一次阅读 + 二次阅读
2.一次阅读= 总粉丝数 * 阅读转化率
3.二次阅读= 分享数* 单次分享带来的阅读数
4.分享次数= 转发次数 + 在看次数通过这个推演,不难得出:
总阅读量= 总粉丝数 * 阅读转化率 + (转发次数 + 在看次数) * 单次分享带来的阅读数通过观察组成这个公式的5个元素,提升阅读量这个大问题就可以从这5个方面下手了:
1.提升总粉丝数
2.提升阅读转化率
3.提升转发数
4.提升在看数
5.提升单次分享带来的阅读数拆解成这样,相信大家对这5个元素的解决办法已经能说出一些思路了,当然这5个元素还可以继续往下拆解,这样一层层拆下去后,解决问题的办法也会逐步在脑海里面自己显现出来了,如果解决方案还没出来呢?这个时候再去请教朋友,和开篇的三问相比,所提的问题就很可能是个好问题了。
(3)拆解问题的好处
● 首先一点,当然让你能更好的解决问题了,绝对能让你事半功倍,尤其是面临复杂度比较高的问题,拆解到答案几乎跃然纸上是多么棒的一个感觉;
● 更有成就感,通过把大问题拆解元素组成的公式,每完成一项,相当于达成了一个小的里程碑,这个成绩更能激励到自己。否则面临一个难解决的大问题,很容易感到绝望,自然而然也放弃了;
● 作为队长,拆解问题也是能合理分配任务的重要前提。比如上面的例子中,你的team有3个人,你完全可以把5个要素分配到3个不同的人来负责,也更容易形成很好的协同效应。
4.2 阅读论文技巧—替代法
大家在进行建模学习的过程中可能已经发现,建模的题目往往十分抽象和复杂,而且长度也往往很长。我们可能需要花费大量时间来理解这个题目。然后当我们开始实施的时候,由于题目中包含很多我们不熟悉的词汇,我们可能需要多次阅读题目,这会消耗我们大量的时间。
因此,这个技巧的核心就是使用我们熟悉的词汇来替代原题中的词汇。
假设我们有一个题目:“某卫星运用【超高频微波辐射仪】和【光学成像仪】探测了【深海大型有机生物】”。
这个题目看起来很专业,而且充满了不熟悉的专业术语。所以我们可以采用替代法,将复杂的术语替换成熟悉的词汇,例如,“超高频微波辐射仪”替换成“眼镜”,“光学成像仪”替换成“相机”,“深海大型有机生物”替换成“鱼”。
所以,题目变成:“某卫星用眼镜和相机探测了鱼”。
这样一来,题目变得更易理解了。我们可以立即明白:卫星使用某种设备来观察和研究鱼,经过你的修改,题目理解起来变得非常简单,之后的操作也会变得轻松许多。
完成问题后,再将“眼镜”,“相机”,“鱼”这些我们熟悉的词汇替换回原题中的专业术语。这就是替代法的运用。
4.3如何取悦评卷老师—评分套路
(1) 评阅
一审:摘要,论文浏览,并且评级,比如评为二等奖。看用什么方法(如果你不做模型对比,评估,并不知道你的方法好坏),大致过程,所以其实是看结果,过程或结果图。
二审:针对摘要看论文主体,看看模型具体做法,如果不如一审期望值,评为三等奖;如果完全符合预期,可能升为一等奖。所以摘要有多重要了吧。
一定要简明扼要三个部分:怎么分析问题、用什么方法、得到什么结果。
(2) 优秀论文特点:
● 必须要有结果:不管模型多复杂,想法多独特,没结果都白搭!总之,要有结果,做不出来怎么办简化模型!(剔除非关键的影响因素)直到可以出结果,出不了结果又觉得很好的模型放在”模型优化“里面。
● 图尽量多且高大上:图是能让评委很快理解你的论文,例如:建模图、输出结果图、行走路径路;
● 模型对比:证明自己模型的先进性,告诉别人你的模型是最棒的!可以是本题的不同方法对比,也可以与其他论文模型的准确率对比。
4.4 问题分析高分套路——流程图
问题分析能够让评委直观的了解作者的建模意图和主要的解题思路,因此也是要认真对待;为了方便评委查看建议在问题分析部分添加流程图,流程图可以使用VIS10软件或WPS自带的流程图制作模块,同时也需要在流程图下方进行文字说明,切忌仅提供一张流程图而不进行对应的文字描述的情况。
4.6模型检验与灵敏度分析
● 模型检验不同于模型优缺点评价,模型检验主要包括误差分析和灵敏度分析两个模块,误差分析能够验证模型的正确性,灵敏度分析主要是验证模型的普适性。增加模型检验能够让评委对所建立模型的正确性有个更全面的认识,对建模取得的结果也更加认可。
● 误差分析- -般适用于预测类题目,判断或分析模型计算结果是否准确
● 灵敏度分析一般适用于模型中存在某些固定性参数,主要是判定模型是否适用于更多场景
4.5 2023年比赛时间与安排
2023 年全国大学生数学建模竞赛的时间确定为
9 月 7 日(周四)18 时至 9 月 10 日(周日)20时进行
(1)第一天(7号晚)
第一天的下午六点进行开题,因此,务必在此之前完成晚餐,然后全队准备一同下载题目。首日的核心任务是题目的选择(这通常只需要一个晚上的时间),所以请在这一天确定你的选择。以你在日常练习中做过的题目为准,无需对所有题目都进行研究。
题目分为ABCDE五种,其中,本科生只能选择ABC,而专科生则只能选择DE。从这些题目中选出一题符合你的要求的题目,然后与队友共同讨论题目的思路,看看是否有可行的解决方案或者基本思路。
题目确定后,你今晚的任务就完成了。当然,实力较强的队伍可以在今晚解答第一题。但请注意,千万不要因为某题的前两个问题简单就立即选择,此类题目往往是先简单后难,还有一种题目是先难后简单,认真选好适合自己的题目,每年有很多队伍会出现做到一半又换题的
请在首日保持良好的休息,不要熬夜。
(2)第二天(8号)
第二天需要开始对题目进行具体的分析。无需过早起床,八九点左右集合,一定记得吃早餐,千万不要饿肚子进行比赛。晚上也不建议熬夜,最好在十一点之前回到宿舍。
今日主要任务如下:
● 分析题目,建立基础数学模型;
● 编写代码,求解模型;
● 完成第一题和第二题。
晚上,负责写论文的同学可以开始搭建论文的基本框架。
(3)第三天(9号)
接下来,完成第三题和第四题。如果有第五题,也请尽力在今天完成,可以考虑熬夜(建议凌晨一点到五点之间休息四个小时,以保证第二天精力充沛,通宵可能会使第二天效率降低)。
负责写论文的同学应保证前两题已经完成。
(4)第四天(10号 20时截止交卷)
检查是否需要对模型或代码进行修正。上午,配合负责写论文的同学完成初步完整的论文。下午,团队再花一两个小时一起研究论文是否存在不足,结果是否有待提升等。写完后,可以让指导教师进行查阅,以确定是否可以提交。
务必提交论文,每年都有因为前一天熬夜导致论文未提交的情况。
规划总结
上述安排是比较紧凑的,实际上,很多队伍即使到了9号晚上也无法完成最后一题。面对这样的问题,可以考虑进行适度的"语言建模"(具体内容需要你们自行理解,这也是一种值得学习的策略)。最后,至少要保证论文每个题目都完成,图文并茂,逻辑描述清晰,排版美观。
恭喜,你至少已经拿到省一奖了。
4.6 拿到题目不会怎么办
大家可以关注B站up主不知名数学家小P,届时会第一时间发放题目思路!