2021-07-21

    **干货 | 如何学好和做好数学建模比赛?**
    
  如今,数学建模已经成为众多专业学生均可参加的热门比赛,由于其上手快、易得奖、认可度高、对能力提升大,受到追捧。我参加过几次不同级别的数学建模比赛,有一些经验和看法分享给大家,希望对大家有所帮助。

数学建模是什么
数学建模,就是根据实际问题来建立数学模型,对数学模型进行求解,然后根据结果去解决实际问题。
举个简单的例子,小明去菜市场买韭菜,选了6块钱的韭菜,小明给摊主10块钱,问:摊主应该给小明找回多少钱?
这是很典型的小学数学应用题,但其实这就是一个极其简化的数学建模问题。
我们可以建立一个“菜市场交易中的找零金额计算模型”,运用的算法是“整数减法法则”,这样就将实际问题转化成了数学问题,将“韭菜6块钱,付10块钱,应该找回多少钱”的实际问题,通过建立数学模型,转化成了“减数为6,被减数为10,则差为多少”的数学问题。然后对该数学模型进行求解,求解过程为10-6=4,从而得到实际问题的解,也就是摊主应该给小明找回4元。
(2)建模过程
一个数学建模过程,包含模型假设、模型建立、模型求解、模型验证等过程。
数学建模比赛的一般过程是:
1.组委会发布赛题。一般有3-5道题,每道题涉及的领域不同,侧重点和考察点不同,解决方法也不同,但难度一般相当(当然了,对于个人来说,每个人的兴趣点、专业领域和特长都不同,所以不同的题目对个人而言难度不同)。
2.选题目。三个人根据个人特长、专业领域以及查找到的文献,共同商议选哪个题目。
3.建模、编程。建立模型,设计算法,编程实现,得到结果,解决问题。
4.写论文。将建模和求解的整个过程用文字和数学语言表述出来,形成一篇数学建模论文,论文格式要遵守比赛要求,可以用Word写(但最终要转成PDF),也可以用LaTeX写(最后导出PDF形式)。
5.提交论文和附件。将论文命名成题目所要求的形式,比如“队号+队长姓名”。附件一般包含两部分,一部分是题目所要求的求解结果,例如Excel文件等。另一部分是解决问题所用到的代码的源程序文件。
6.评奖。组委会组织专家对论文进行评阅,分别对每个题目评选出奖项,一般有特等、一等、二等、三等、成功参赛奖等。不同题目的论文之间不存在竞争。

数学建模比赛的类型
数学建模比赛有很多,由于它们的难度、举办单位的级别、参赛人员范围不相同,所以具有不同的认可度。
首先,认可度最高的两个比赛是高教社杯全国大学生数学建模竞赛(简称国赛)、美国(国际)大学生数学建模竞赛(MCM/ICM,简称美赛)。这两个比赛的获奖难度基本是最大的,参赛范围也是最大的。同时,它们的认可度也是最高的(近几年,美赛的认可度略有下降),在加分、保研、考研复试等中有很大作用,它们的区别如下。
(1)国赛:
官网:http://www.mcm.edu.cn/
时间:一般在9月初,为期3天
侧重:结果准确,高效准确地解决所给问题
语言:中文
(2)美赛:
官网:
https://www.comap.com/undergraduate/contests/mcm/
时间:一般在春节前(阳历一般是2月初),为期4天。
侧重:创新,合理,独立研究,解决问题
语言:英文
其次,还有许多地区性的,或者举办单位级别较低的比赛,这些比赛的获奖难度低,但认可度较小。例如认证杯、小美赛、五一杯、亚太赛、深圳杯、电工杯、中青杯等。
最后,很多高校也会举办校内的校级数学建模竞赛,或者国赛、美赛的校级选拔赛。

参加数模的好处
1.加分。在许多学校中,参加数学建模比赛,如果获奖,那么获奖者可以获得一定的综合素质加分,分值会根据比赛级别、获奖等级来确定。这一分数很可能会用于奖学金评定、荣誉称号评定、保研综合成绩排名等。
2.保研。数学建模比赛的参赛经历和奖项,能够成为我们在保研过程中的优势(尤其对于理工类、经管类学生)。例如,在申请保研夏令营时,申请者需要填写自己的竞赛获奖经历,有较高级别的数模竞赛获奖经历的学生,在同等条件下会更有可能入营。申请预推免面试时亦是如此。在保研夏令营或者预推免的面试过程中,呈现在简历上的数模竞赛获奖经历和论文作品内容,也能够增强竞争力,吸引导师们的目光。
3.考研。数学建模比赛的参赛经历和奖项,能够成为我们在考研复试过程中的优势(尤其对于理工类、经管类学生)。原因与保研面试的情况相同。
4.能力。参加数学建模比赛可以培养许多能力,例如撰写科技论文的能力、使用MATLAB/C++/Python等语言编程的能力、与队友的沟通交流合作能力、分析问题解决问题的能力。
5.知识。参加数学建模比赛可以学习或巩固许多知识,比如高等数学、线性代数、编程语言、概率论、优化算法等,甚至是专业领域的一些知识,因为数学建模比赛题目的涉及面非常广。
6.落户。认可度较高的数学建模比赛,尤其是国赛和美赛的获奖,有可能在在大城市落户时有加分等作用。

数学建模怎么组队
数学建模是三人一组,大致分别负责模型、编程、论文。
1.负责模型的队员:
所需特长:数学知识充沛,涉猎广泛,逻辑思维强。
赛前任务:熟读各类经典数模模型和算法。
赛中任务:查文献,找模型,设计模型和算法,确定解题框架和思路。
2.负责编程的队员:
所需特长:编程大佬,尤其是MATLAB编程大佬。
赛前任务:掌握MATLAB常用语法和指令,熟悉经典建模算法的MATLAB实现。
赛中任务:将队友提出的算法用MATLAB或其他语言实现,得到结果。亦可用C/C++/Python等。
3.负责论文的队员:
所需特长:文字功底好,擅长把算法转化成论文语言,最好会用LaTeX,精通Word或LaTeX排版。
赛前任务:广泛阅读历届获奖论文,掌握语言风格和论文结构,最好掌握LaTeX用法。
赛中任务:将问题分析、队友的模型/算法、运算结果写成论文语言。
尽管三人有所分工,但三人的分工界限不能太明确,而要模糊,也就是模型、编程、论文既有人专攻,又一起合作,尤其是在查阅文献、找模型、设计算法的过程中,三个人要共同参与和完成。

参加数学建模,应该准备什么?
1.课程:数学建模所需的基础课程有高等数学、线性代数、概率与统计。这些课程一般被安排在大一或者大二。所以不建议大一就参与数学建模,建议从大二开始接触学习数学建模,并在大二下学期开始参赛。
2.编程:参加数学建模时所用的编程语言非常多样,可以自己选择,只要能够得到结果、解决问题即可。大多数专业在大一时都会学习一门编程语言,一般是C或者C++,这两门语言在数学建模时完全可以使用,但他们是比较纯粹的编程语言,并不专门用于解决数学问题。在数学建模中,最常用的编程语言是MATLAB,它的名称是matrix(矩阵)和laboratory(实验室)两个词的组合,中文意思是矩阵工厂(矩阵实验室)。在MATLAB中,有许多现成的数学工具,与数学相关的函数极其丰富而且调用起来极其简单方便,尤其是处理矩阵特别方便,例如对矩阵求逆、矩阵相乘等操作,在MATLAB中用一条语句即可实现。目前,Python在数学建模中也非常常用。许多数学建模问题有可能需要用机器学习的方法来做,这时Python就是最契合的编程语言了。如果大一时只学过C/C++,而没有学过MATLAB/Python,没有关系。大一时对C/C++的学习,已经让我们掌握了编程的基本思想,学习到了“学习编程语言”的能力,所以可以非常快速地自学其他编程语言。
3.写作。在数学建模比赛中,最终需要提交的是一篇论文和附加材料(求解结果和代码源文件)。如果忽略附加材料的话,数学建模比赛作品的呈现形式就是一篇论文。所以,论文的措辞、结构、排版就非常重要。如果论文的语言不过关,即便模型和算法再优秀,也仍然会得到较低的分数。所以我们应该多看多学历年优秀获奖论文(集赞可领的资料中有大量优秀论文可参考),学习它们的论文语言和排版,学会用数学语言表达思路,并且掌握Word或者LaTeX写建模论文的方法和流程。具体的论文写作技巧,见下面的第七部分“数学建模论文写作技巧”。
4.模型和算法。在大多数情况下,我们在数学建模比赛中用到的模型和算法是现成的,例如层次分析法、神经网络、遗传算法、生成树等等一些经典算法,或者我们在这些算法的基础上进行改进和组合,使之能够解决问题。因此,在赛前,我们要学习和熟悉常见算法。推荐大家阅读司守奎的《数学建模算法与应用》(它讲解了一些常见算法,并且附了MATLAB程序)以及姜启源的《数学模型》(以实际问题和模型为侧重点,更易上手。
数学建模常用算法

  1. 蒙特卡罗算法。该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法。
  2. 数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MATLAB 作为工具。
  3. 线性规划、整数规划、多元规划、二次规划等规划类算法。建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件求解。
  4. 图论算法。这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。
  5. 动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法,竞赛中很多场合会用到。
  6. 最优化理论的三大非经典算法:模拟退火算法、神经网络算法、遗传算法。这些问题是用来解决一些较困难的最优化问题的,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。
  7. 网格算法和穷举法。两者都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。
  8. 一些连续数据离散化方法。很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。
  9. 数值分析算法。如果在比赛中采用高级语言进行编程的话,那些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。
  10. 图象处理算法。赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MATLAB 进行处理。

数学建模论文写作技巧
(1)论文结构
一片完整的数学建模论文的组成:
1.摘要
评委老师在评审论文时,最先看到的就是摘要。因为,摘要要全面、简洁、准确地将论文的关键内容展现出来,包括模型、算法、结果。语言要简练,篇幅要适当,一般不超过一页。
2.问题重述
问题重述并不是将问题复制一遍放上,而是对问题的重新描述。首先,要对问题的背景进行介绍,可以适当地对解决问题的意义进行拔高。然后,可以对国内外的研究情况进行简要介绍。最后,将题目中的问题进行润色、精简、重新整理,重述到论文中,并且还可以清晰地将问题涉及的定义、关键数据、重要条件等内容做专门整理,还可以将文字形式的问题,转化成纯数学问题,用数学语言再重述一遍。
3.问题分析
在问题分析中,主要是对题目中的问题,逐一分析解题思路,阐述模型建立和求解的步骤,最好能画流程图。
4.问题假设
在这一部分中,要罗列出所需的假设。例如在飞机航线规划问题中,有可能需要假设飞机一直保持平飞,没有俯仰角。有些假设是题目中给出的,也要列上,还有一些是我们为了简化问题而额外列上的。不要害怕额外加假设,老师不会因为我们额外加假设而认为我们投机取巧,反而,合理的假设能够让问题的解决更加高效和合理。
5.符号说明
罗列出论文中出现的主要符号,并且解释符号的含义。
6.模型建立
依次针对每个问题,建立模型,写出模型或算法的详细步骤,主要以数学语言和数学公式来呈现。
7.模型求解
按照模型建立中设计的步骤,对模型进行求解,编程实现,并且得到结果。
8.模型验证/灵敏度分析
分析模型求解结果的优劣,对结果进行验证,分析一下结果对参数的改变是否敏感,模型的复杂度怎么样。若有时间,还可以将所设计模型与其他模型进行对比。
9.模型优缺点
对模型的优点和缺点进行罗列。不要害怕写缺点,也不要吝啬于写优点。
10.参考文献
罗列出文章中引用过的参考文献。
11.附录
在附录中列出因篇幅而不便于放在文章正文中的数据,以及源程序代码。

其中:
1.目录可有可无,具体也要看比赛要求。
2.以上的各部分并不是一定要全部包含,例如符号说明也可以没有,模型验证和模型优缺点也可以没有,但建议都有。
3.模型建立和模型求解可以合并为“模型建立和求解”。在模型建立/模型求解/模型建立和求解中,可以直接建立一个大模型,但一般情况下,题目中的每一个小问之间,差异可能较大,所以可以针对每一小问建立一个模型。
(2)论文语言
1.对于论文语言,可以参考曾经学过看过的数学类科目的课本的语言风格,也可以直接参考历年获奖论文的语言风格。
2.语言表达不能太口语化,一定要采用数学措辞,比如采用“不妨设”、“不失一般性”、“若”、“则”、“可表示为”等词语。
3.尽量用公式来表达问题,来代替繁琐的文字叙述。避免大段的文字叙述。
4.多用图和表来表达问题,尤其是看起来“很高级”的图,有些求解结果,能用图表表示的话,尽量用图表。
(3)论文排版
1.强烈建议负责写论文的同学在赛前学习LaTeX排版。学习时,不需要将LaTeX全部学会(如果能够全面掌握甚至精通,那当然更好,但可能会需要较长时间和精力),只需要掌握基本的操作、基本语句,知道在哪里去找各种数学符号的LaTeX表示,并且知道如何画表格和插入图片。转发集赞可得的资料中,有一份我当时用的LaTeX教程。
2.参加国赛或美赛时,最好能直接找到国赛或美赛的专用LaTeX模板(集赞可领的资料中,有国赛LaTeX模板和美赛LaTeX模板。在不同电脑上打开后,可能编译会出现问题,需要进一步调试修改),比赛时直接套上。
3.比赛时,如果用LaTeX写,那么需要做表格时,把表格的LaTeX代码复制过来,再进行填充,主要要用三线表。要插入图片时,把插入图片的LaTeX代码复制过来,再进行填充。要输入公式时,需要哪个符号,就去LaTeX教程里查找这个符号对应的代码。
4.LaTeX可以对论文的标号、格式进行自动排版,更为美观。
5.如果用Word写,更为直观,但是需要对排版进行反复调整。
6.图片要居中,如果在一起的图片较多,可以一行两张图。图片的标题在图片下方。
7.表格也要居中,但不能太窄,也不能太宽,要用三线表。如果一个单元格内的内容太长,可能会让表格超出页面,这时候要么减少单元格内内容,要么在单元格内换行。表格的标题在图片上方。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值