我的数学建模之路
摘要:这篇文章主要是记录自己参加数学建模比赛的一些心得及分享一点自己长期整理的资料。
作者博客地址:http://www.yooongchun.cn/
前言:楼主是上海西南某高校的一名在读本科生,至今年大四,一共参加了三次数学建模比赛(两次美赛一次国赛,国赛获得上海赛区二等奖,美赛一次获得h奖(二等奖),另一次获得m奖(一等奖)),可以说结果比较惨淡,但是这个过程中也收获不少,特别是和队友的友谊和自己带队的一些经验。这个过程中也是自己一步一步摸索过来。在这篇文章里我将主要分享一些自己的准备方法和资料。
美赛官网:http://www.comap.com/undergraduate/contests/
关于美赛的奖项,可以参考百度百科的有关解释,获奖比例大致如下:
2018年参赛队伍大约为20000支,每支队伍3名组员。
关于国赛,官网:http://www.mcm.edu.cn/
关于这两个比赛的准备,主要分三点吧:选队友及分工、算法准备、论文准备
-
选择队友及分工:
选择队友很重要。首先要保证你们能做到各有所长,分工明确,一般来说,三人的比赛一般是一人负责建模写代码,一人负责理论基础,一人负责论文;当然这里所说的分工只是侧重而不是唯一,因为实际上很多工作需要合作完成。
-
准备:
准备的话看个人基础与重视程度,楼主自己带的队伍是开赛前10天左右准备的,也就是每天花半个小时左右看历年的优秀论文,然后小组内交流分享。当然楼主了解到身边拿O奖的某只队伍是6个月前就开始准备的(对于这样的毅力,只能默默点赞)。
主要准备的有这两个方面:算法、论文写作。作为队长的话需要关注一下比赛过程中如何控制每个环节的时间,以及时刻保持和队员的沟通,避免工作的重复,低效。
算法准备上,楼主主要使用Matlab编程,准备的内容包括几个方面:
- 目标规划问题:整数规划、线性规划、非线性规划、动态规划
- 数据分析:方差分析、回归分析、层次分析法、判别分析、多元分析
- 数据处理:插值、拟合、筛选、预测
- 优化算法:遗传算法、模拟退火算法、神经网络
- 图与网络:Dijkstra、Floyd、Prim、Bellman-Ford,最大流
- 方程建模:微分方程、偏微分方程、差分方程
- 模糊数学模型
- 概率方法:蒙特卡洛法
- 以及一些常用的方法
论文写作的话要准备这样几点:
- 论文格式规范:这个主要就是阅读参考书籍
- 优秀论文参考:结合题目,阅读历年优秀论文
- 论文排版工具:可以选择word也可以选择latex,Latex比较专业,排版美观,但是也需要提前学习,当然,一般来说比赛之前会有人出比赛的Latex模板,只需要下载模板到时候直接套用即可,不过需要注意的是,如果对Latex完全不熟悉的话不建议使用,因为套模板可能出现意想不到的问题,这时不熟悉Latex的话可能导致前功尽弃。
-
几点经验
-
- 严格控制时间节点。这点很重要!!!一定要意识到在建模上花更多时间导致最后论文没有体现结果这是非常不明智的,楼主的前两次比赛就是在建模上花了太多时间,导致论文没时间认真撰写和修改优化,结果就是你做的可能比别人多,比别人好,但是你没有呈现出来,died~)
- 明确分工。拿到一个问题形成思路之后很难做到模块化分工,这时按照主次分工,主线一个人在走,而中间的小问题可以交给另一个队友,当然,一般来说可以按照题目的问题来做划分。还有一点就是,从选定题目开始,负责写论文的队友即可开始论文的撰写,包括框架,前言后续等内容。
- 密切沟通。这个问题很重要,组内必须保持密切沟通,你可以不了解组员实现问题的具体细节,但是你必须了解思路及过程,否则,写出来的论文注定一盘散沙。
- 带动组内的气氛。比赛时本来就比较紧张,这时作为组长需要特别关注组员的状态,让大家重视但也不要过于紧张,特别是最后一天大家都累趴下的时候,这时组长的角色就显得尤为重要。
- 关注官网上的各个时间节点。作为组长,必须了解比赛的各个时间节点,比如什么时候提交选题,什么时候提交论文,什么时候提交承诺书等等,还有就是不能按照官网的最后时间节点提交,因为那时网络会挤到爆炸,楼主第一次美赛时就是最后一个小时提交的论文,通宵到第二天8点,组员们直接累趴下,而看着官网一遍遍的刷新失败,心里真是难以言表的苦楚,要是只是自己的比赛失败了也罢,可是这是组员们几天的心血啊,看着累趴的组员,真是心疼,那时真想抽自己大嘴巴子。。。不过所幸最后还是成功提交了。
最后,分享自己几次比赛整理的参考资料: