“华为杯”第十八届中国研究生数学建模竞赛历程及感悟

文章目录

  • 前言
  • 一、关于华为杯?
  • 二、比赛过程
    • 1.组建团队及赛前练习
    • 2.正式开赛
  • 总结


前言

        “华为杯”第十八届中国研究生数学建模比赛结束已经近半年了,现在回想起来,发现自己从中还是学到了很多。这篇文章就谈谈我这次比赛的经历和收获吧。

一、关于华为杯?

        “中国研究生数学建模竞赛”是一项面向在校研究生进行数学建模应用研究的学术竞赛活动。以团队形式参赛,队伍人数不超过三人。竞赛题目涉及文、理、工、医等所有学科内容,A~F六道大题选一道,每道大题包含三、四个小题。每道题都有自己侧重的方向,大致地分为预测、评价、原理建模和优化类,其中优化类(或和优化相关)的题会多一些,同时优化类的题型是近年来每年必有的。最近几年的优化类均和飞行器、无人机的动态调度、规划等有关。如果对优化类比较擅长或者是赛前不知道自己擅长什么及不知道怎么准备,其实准备优化类的题目是一个较好的选择,相当于有了一个明确的方向,进行相应的练习和前期工具的准备就可以了。

        个人感觉这个比赛和本科的那个国赛含金量(较之于各对应的层次(本科和硕士)的题的难度)差不多,比本科国赛那个相对低一些,因为综合来看的话,华为杯的获奖比例在31%-35%左右,其实已经很高了。

        下图是18届比赛的赛程时间节点,比赛前和比赛中时刻注意是十分重要的。每年时间都会相应调整。

“华为杯”第十八届中国研究生数学建模竞赛历程及感悟_第1张图片

二、比赛过程

1.组建团队及赛前练习

        我是在我们学校的数模交流群中寻找队友的,在群里说有没有队伍还缺人,然后就成功地组了队。关于组队我想说的是一个团队里面最好是三个人来自不同的专业,这样能分工明确(建模-编程-写作)且互补,当然如果三个人都是大佬的话,那么可以忽略这个,哈哈。恰好,我们三个也是来自不同的学院,不同的专业。我本科的时候参加过一次数学建模及一次美赛。第一次参加的时候真的是啥都不懂,那时候怎么查资料及比赛的流程都不知道,后来也是不懂就问、现学现用的勉强拿了个没啥用的省奖。

        关于赛前练习,我觉得还是很有必要的。首先能让你在正式比赛的时候得心应手,同时前期的工作:相关算法文献,代码,论文模板,及编程工具和其他的求解器这些,你们前期就已经解决了。这样较之于临时组队参赛的队伍来说,这样可以省去很多的时间,花更多的时间专注于问题本身。如果有时间的话,建议三个人卡着时间练习一下往年赛题,亲测很有用。

2.正式开赛

        我们小队选择的是F题(航空公司机组优化排班问题),经典的排班调度问题,相关的资料和论文网上有很多。这道题其实和前两年的对应的题很相似,而且今年比较好的是,题目直接点明了目标函数和约束函数,可以说是建模省去了不少时间。

       工具的话,我们组用的是vs2017和IBM CPLEX Optimizer。

        时间安排:

        第一天:上午-仔细阅读题目,第一天上午往往不用太急下手,最好认真读题,对关键部分进行标注,同时进行相应文献的查阅,并且及时组内沟通交流。

                      下午-建模手开始着手第一题,同时写作手开始写第一部分(问题重述),编程手查找相应算法及思路。

                      晚上-讨论时间(休闲时间~~)-分别说出自己的问题,并合并处理。

        第二天:上午-建模手完善第一题,并将思路和其余两人分享,同时撰写第一题草稿,写作手开始写第二部分(问题分析),建模手调试代码。

                      下午-大家均遇到瓶颈,同时受到其他组的影响,觉得题可能有点难,有一点小动摇,还好我们之前对这种情况有过预警,最终还是按照计划来,继续嗑F题。下午进展不多。

                      晚上-讨论时间(休闲时间~~)-分别说出自己的问题,并合并处理。

        最后的两天差不多都是按照上面的节奏走,每天一道题,我们组是三个人并行工作的,独立又有交叉,当一个人完成了自己的任务时,就会帮助另外两个队员,做一些辅助工作,建模手往往完成的比较早,这时候我就会帮他们写一些文档,画画visio图。这三个方面,其实每个人都会遇到一些棘手的问题,我们也是如此,比如模型太复杂,建不出来,代码写不出来,写作手不明白公式含义等等,这时候往往会产生‘摆烂’情绪,其实这在建模中是很正常的,我第一次参见比赛时,我还看见有的组打到一半,组员走了一个,有的组讨论讨论着开始吵起来了。其实这些都是会出现的。重要的是团队里面在这种情绪出来的时候,就要有人或者大家一起点明,并互相鼓励。还好,我们组大家心态都很好,虽然做第三问时我心态有点崩,但是最终我们组完整地提交了作品。


总结

        最终我们组拿到了国二,其实说实话,我们组的建模过于复杂,同时其实问题的代码也没有编写的很好,因为我有过两次参赛经验,我知道,其实这两点的缺点都可以用论文写作来弥补,尤其是论文摘要,因为论文那么多,评委其实很难对每一篇论文都有很细致的把握,而摘要就是你论文的凝练,摘要往往能决定你论文能不能获奖。记得数模交流群里有句调侃的话——数学建模×——论文建模√。从某个侧面来说,足以说明论文写作的重要性。这里不是说论文写好就行,建模和编程瞎编,这样肯定是不行的,你模型和代码都没有,你怎么编呢。你的模型和代码能决定你的level的天花板,而你的论文(摘要)能决定你的level的地板。

        所以,当你们对这个题目实在是不会做的时候,也不要灰心,全做出来的都是拿数模之星或者国一的队伍,这时候,你就要转变心态,尽量奔着能拿奖的目标去进行下一步的规划。建模建不出来,代码不会写,这时候就需要靠写作来进行相应的补充,尽量完成每一道题,一定要确保论文的完整性和完成度,这十分重要,这时候就不要纠结模型和代码的对错了,时间不等人

        当完成终稿后,一定要记得提交前再多检查几遍论文的排版和语病等问题,不要急着提交。

        比赛中每一天都要有一定的规划,如果可以的话,可以定一个规划表,就算最后达不到,也能起到敦促自己的作用。

        还有就是,比赛中一定要相信自己,相信对队友,不要半途而废,中途退出。你中途退出,其实是对队友的一种不负责的表现,同时你也失去了一次很好的锻炼机会。

        希望看到这里的每一位小伙伴数模都取得好成绩,加油!!!

你可能感兴趣的