看到最终获得全国一等奖,也是有些意外的,但想到这段岁月,便感觉一切都是值得的,一切都是应该的。对于一名学工科的学生来讲,建模一等奖确是一种殊荣。
第一次听说数学建模比赛的是在大学一年级,我们高数老师讲了一下我们学校在数学建模取得了比较优秀的成绩,并鼓励我们学好数学争取参与数学建模的竞赛。当时我并没有当一回事,刚进入大学就只想着享受人生,不过我个人是比较重视数学的,现在还庆幸在玩乐之中没有放弃数学的学习,数学建模这个事情我也记在了心里。
真正准备参与比赛是在大二下学期的期末,报名参加了并通过了学校的选拔考试之后。虽然那时正处于工科生紧张的期末复习之中,我最终还是选择了参加比赛,跟同专业的胡茂承、吴奕同学一同参赛,并开始准备相关的知识储备。
一.建模准备阶段
2014年暑假是学校统一培训的时候,期间我和队友一起接受了系统的培训。
第一阶段培训是在暑假的前二十天,无锡天气如火,当时感觉蛮苦逼的,本来可以好好休息玩耍的暑假,却成了早上八点到晚上九点的学习时间,上午学习理论知识,下午去机房练习,不仅学习挺辛苦的,而且还深深的体会到到了智商被压制的痛苦。
趁着图书馆暑假开放的时间,我们组抱回来一摞书开始研究,作为非数学专业的学生,没有系统的数学体系,看这些书还是有些艰难的,但是聊胜于无吧,这里推荐一些比较实用的书:
姜启源的翻译的《数学建模》,有能力可以看一下英文原版,整体比较简单,重点是在学习数学思想上;《MATLAB在数学建模中的应用》,MATLAB可以说是在建模中应用最多的软件,熟悉MATLAB的各种工具箱和具体的操作方法对完成数学模型的构建都是极其重要的,这个重点是在软件上的;强烈推荐肖华勇的《实用数学建模与软件应用》,这本书讲了利用一些简单的数学模型,通过合适的软件工具来解决具体的数学问题,不单学习了解决问题的思路,而且还学习了SAS、LINGO、MATLAB的具体使用范例,可以说这是本比较实用的建模参考书。
期间我们还主要学习了一下常用的建模软件:
矩阵数学软件MATLAB,这是所有搞建模的必学软件了,这个在数学建模中占据核心地位,也是做理论研究的软件基础了。学会其中一些简单的算法工具箱,绝对会大大提高建模的效率,学好这个不单利在建模,更受益于课业。
Excel软件其实是过程中应用比较多的软件,针对一些大数据的题目,有时用Excel预先处理一下比较简单,并且Excel还很容易被SAS、MATLAB等软件调用。针对一些简单的数学规划问题,Excel还有具体的规划工具包,不得不说Microsoft做的东西确实好。
数据处理软件SAS或者SPSS,个人建议用SPSS,SPSS简单易学,用起来比较方便,虽然功能远没有SAS强大,但是对于本科生的数学建模也是绰绰有余了,我们当时使用的是SAS,用起来比较麻烦。针对大数据处理的题目,SAS/SPSS绝对是不二的选择。
规划软件LINGO,这是非常简单的一款规划软件了,主要面向规划问题,通过编程的方法解决问题,语句比较简单,做起来相对容易。当然如果MATLAB学的好的话,利用MATLAB的规划工具箱也可以解决问题。
第一阶段的培训以后,我们初步掌握了数学的基础知识,根据我们的学习情况,我们组内做好了分工,让编程思维强悍的老胡担纲编程手,心细的奕神负责论文的撰写工作,而我具体负责建模的工作了。然后就是回家休息了,带了七八本建模的书回到家里面,时时温习,一本看不下去就换一本,这真是一段很努力的时光啊。
第二阶段是在暑假的后二十天。在家里面大概呆了十五天,享受些许清凉之后又回到了闷热的无锡,面对更加辛苦的实战练习环节。回校简单收拾以后,就开始了紧张的实战训练,教练给出题目,每组自己思考查找资料,三天后交上一篇论文。这段时间真是一段艰苦但十分充实的日子,每天早晨八点背着笔记本去机房,和队友一起奋战,做题目一直到深夜。自高考以后再也没有这样充实的时光了。
在演练过程中,我们掌握了一些建模的基本步奏:认真审题,总结需要的相关知识背景;在网上查找相关论文,快速学习,获取有用信息;建立数学模型,设计算法,选择应用软件,得到合理答案;认真写作论文,体现我们的建模思路与分析过程,将所做工作以及获得的结果现于纸上;评价和修改模型、论文,获取更好的结果。
在练习中也遇到了很多困难,有时候面对一道题目半天一筹莫展,个人或者队友出现突发事件影响进度,一些题目一直没有什么感觉。在这里真心感谢指导老师在我们最艰难的时候给予我们支持和鼓励,对于我们在联系中遇到的困难给予解答与帮助,也感谢我的队友,我们互相支持和谅解,最终熬过了这最艰难的半个多月。
在这半个月里面,我们完成了四次实战练习。基本掌握了建模比赛需要的工作与步骤,形成了强烈的团队意识,更加明确了团队分工。此时我们对于比赛充满信心。
二.比赛阶段
在2014年9月12日,全国大学生数学建模比赛正式开始,我们几个在建模专用机房里面度过了三天的建模比赛时光。
当天是八点出题,我和队友七点半到机房等题目发布,看到题目以后我们就开始审题。A题是嫦娥三号轨道与着陆策略设计的问题,看起来难度较大,但是网上的相关论文比较多;B题是折叠桌问题,看起来比较简单,但是网上的论文比较少,而且涉及许多立体几何的问题。
然后就是选题了。我和老胡主张选择A题,奕神则认为B比较简单,发扬民主,少数服从多数,我们选择了A题。从个人角度讲,我是觉得A题逼格比较高,而B题看上去要求较高的空间想象能力与编程能力,逻辑性比较强,做起来可能没有看起来那么方便。
接下来就是查阅论文环节了,我们三个分别查找论文,下载论文,讨论可行的方法。真正深入了解这个题目的时候就发现题目非常困难。网上提出的许多方法都需要很强的理论水平。
然后就是建模阶段了。我们三个人面对这个题目竟然一筹莫展,提出的许多方案都非常复杂无法直接运用于建模。开始的时候我们想到利用遗传算法进行规划,因为其巨大的计算量和复杂的设计过程,我们最终放弃了这种方法;而后我们又想到了利用TSP算法做优化,但频繁的出错让我们最终放弃了。
于是一直在第一题没有进展,在下面一天半的时间里我们都是在思考和查阅文献,烦躁的情绪开始出现,这时候队友间的互相支持帮助我们度过了那段黑色时光。我们一起吐槽题目的时候甚至表示:“这次能交上论文就谢天谢地了”。终于我们在第二天晚上决定利用以前用过的动力模型结合经纬高的月球坐标系建立数学模型,解决问题。
之后就是辛苦的计算以及绘制写作工作。老胡开始编写程序,我和奕神准备论文的写作工作,每一句话都细细斟酌,生怕表意不明。整个题目终于在第二天深夜十一点写完,论文也基本上完成。
最后就是辛苦的论文修改工作的了,由于是边做边写论文的,很多地方和算法并不相符合,于是我们就一遍一遍,从头至尾看论文,一句一字地修改。将我们自己的建模策略写的更加详细准确。
建模的核心工作其实是写论文,有人说我题目都做出来了还写不出论文吗,其实不然,要把自己的策略准确的展现出来并配以详细的说明、或者图表,做出适当的舍弃,明确表现自己的思路其实是很重要的事情。工作做的好并不代表论文写的好,事后我询问其他参赛同学,他们有的模型做的非常好,但是就是因为时间紧张没工夫修改论文了,最终打铁而归。
大概在第三天早上六点半,我们基本上完成了论文,在我们自己修改完论文之后,将论文交给老师检查,询问他们的意见,又进行了进一步的修改,重点修改一些表意不明的地方,对于没有用的地方大胆舍弃,在形式上与内容上将我们的成果充分展示。当我发现模型评价没有写的时候,不禁冒出了一身冷汗,赶紧补上。
终于我们在第三天早上七点半将论文修改完毕,我们将论文电子版发到了给定邮箱,纸质版打印后交给老师,完成了三天的建模工作。
和队友一同走出理学院的时候,我们都松了一口气,蹬自行车去吃早饭,心情真是久久不能平静。72个小时的奋战,是在是一段难以忘却的经历。我和老胡、奕神成为了更加铁的朋友。
三.复试面试
江苏省的推荐表大概是在十月五号出来的,得知我们队获得一等奖的推荐,我们非常开心转而开始准备复试的答辩环节。首先我们重新再看了一遍论文,回忆起当时我们做的每一个细节,做好答辩的准备,决定让参与最多的编程手老胡来主答。
答辩是在十月十二号,东南大学四牌楼校区。我们当天十一点就到了,在校园里面散步,一起聊聊当时建模的经历,顺便再学校周边吃了一顿庆功宴。在下午一点半正式迎来了答辩环节。
答辩开始,我们讲了具体的做法和思路,并且提出了我们自己的模型评价,现在想来当时讲的比较笼统,很多具体结果都没有说出来,可能会有扣分了。然后就是老师提问环节,他们就我们的优化设定方式提问,我们回答是定常推力系统。之后他们对我们的模型的迭代误差问题展开了提问,我们没有想到这一问题,只好承认模型评价之中确实对迭代累计误差进行了错误评价。面试老师的水平相当高,只是略看了一下论文就能找到我们存在的问题。
面试之后我们感觉平常,甚至还有一些小失落,但想到能够进入复赛,就释怀了。
在十二月初我们得知我们已经获得了全国一等奖。
四.几点建议
参与此次数学竞赛,收获良多,所谓“一次参赛,受益终身”。很多经历都难以忘怀,理论学习时候的辛劳,实战演练时候的苦闷,正是参赛时候的艰辛,都是青春的情绪。能够获得全国一等奖非常意外,也觉得终于对得起那段时光。
对于想要参与数学建模的同学们,我有几点建议:理论学习的时候有些做到耐心,模拟练习的时候做到细心,正式参赛的时候做到平常心。怀着经历的心态,奔着获奖的目标,真正用心,就一定能有所收获。
对于比赛中具体建议:
1. 和队友分工明确,互相支持帮助,不要埋怨,数学建模是非常体现团队精神的比赛,是三个人的比赛。
2. 一定要写好论文,留足时间写论文,认认真真改论文,很多队伍模型做得非常好,但是到了最后没时间写论文了,只能抱憾了。
3. 多和指导老师交流,虽然现在不允许老师讲题目,但平时的练习赛的时候多向老师提问,对于深刻理解数学建模的精神是大有裨益的。
4. 一定不要放弃,今年的A题非常难,我到百度贴吧数学建模吧上看到了无数吐槽,询问许多参赛同学后也发现进度并不理想。我们三个一度感觉做不出来了,但感谢胡同学最后时刻的鼓励,使我们三人一直坚持到了最后交卷。要知道你做不出来,别人也做不出来,你快坚持不住了,别人也要坚持不住了。想起马云的一句话,放在数学建模上非常贴切:“今天很残酷,明天更残酷,后天很美好,但大多数人都是死在明天晚上了”。
5. 在关键时刻不要犹豫,坚持自己的看法。我们曾经因为A题没有思路打算改选B,但考虑到已经付出了许多,最终还是坚持了A题,结果是我们学校B题今年做的不好。参赛的时候如果出现这种的情况,我想说改选不改选都不重要,关键是要果断,选定就一定要坚持做下去,两面都做就两面都做不好。
6. 接纳自己的模型,尊重自己的看法。我们在前期枪毙了无数想法,甚至这个动力模型都不能获得全部的满意,但是数学建模是开放的比赛,也许有更好的方法但没有唯一的方法,只要合理,都值得去尝试。
以上是此次数学建模的经验贴,希望能对准备参赛的学弟学妹有所帮助,在此我再次感谢我的队友胡茂承、吴奕,这个成功是我们团队的成功,我将永远记在心上。
非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。