2013年数学建模“高教社杯”国家特等奖-经验贴

  • 高教社杯得主
  • 2013年“高教社杯”全国大学生数学建模竞赛特等奖
李文然·厦门大学
2014-11-19
阅读数14216

2013年数学建模高教社杯国家特等奖-经验贴

厦门大学信息学院自动化系 李文然

这篇文章说是经验贴,不如说成是我建模的经历和感受。希望读者能从中读出自己的想法,有所收获。如果说获得国一只需要全凭努力的话,那获得国特除了99%的努力还是需要一点运气的,至少要感谢能遇到慧眼识英雄的伯乐。所以在这里我首先要感谢福建赛区的负责人谭忠老师,感谢他对我们论文的肯定,给我们发光的机会。接下来要感谢的就是我亲爱的队友,团队的重要性在此不赘述,大家都该懂。

建模培训从1381号开始,912号结束,之后开始三天三夜的比赛。毫不夸张地说,那个夏天我毕生难忘。虽然比赛已经过去一年多,但培训时每天早起占座,骑车穿过安静的学生宿舍楼,穿过长长的空荡荡的芙蓉隧道,穿过一路蝉鸣和花香,这样的记忆还是鲜活如昨日。厦门大学在数学建模方面一直很强,这离不开老师的指导,这里的指导就是指建模比赛开始前学校统一组织的培训,培训一般持续一个多月,对建模可能用到的知识和软件进行系统地培训和指导。也许有的学校并没有这样的集体培训,所以我详细说说培训的内容和方式,大家可以根据自己的需要参考或借鉴。培训主要分为两部分:首先是基础知识培训,就是基本数学知识和建模方法的知识;另一个部分就是组队真题演练,把历年真题拿出来练手,就像高考前的模拟考试,历年真题这时候就相当于三年高考五年模拟的样卷。

基础知识培训其实强度和密度都很大,每天一个知识点或者建模方法,主要涵盖了偏微分、模糊数学、灰度理论、不确定性分析、线性回归、动态规划、排队论、存储论、时间序列分析等多个方面。基础知识培训时,上午8:00-11:00上课,课程结束布置很多题目,填满下午和晚上,这样周而复始。上课那3个小时很紧凑,就算整个过程都全神贯注也不一定能完全抓住要点,再加上前一天熬夜写作业的困意袭来,上课大家都只能基本听个大概入门。所以这时候学习能力和学习的主观能动性就很重要。其实布置的作业并不是很难,只是要想独立顺利完成作业还是需要对上课的方法有一定程度的掌握,所以我一般就是上午上课,尽量多听,中午午休过后起床看书,上课的相关内容通常都是一本独立的书,看到天快黑的时候开始写作业,尽量在凌晨1点之前完成作业睡觉。当天的作业不要拖到第二天,每天都会有新的难题,拖延症这时候绝对不能犯。学校没有组织培训的同学可以自己找几本介绍建模知识点的书籍,给自己制定自我培训或者小团体培训的方案,几个同学一起学习比自己默默啃书本要事半功倍。基础培训从1号到22号,22天每天都是同样的生活,早起晚睡,有些同学扛不住或者对建模态度不认真就选择在这个时间点放弃比赛回家过暑假。

基础知识培训接近尾声的时候大家纷纷开始组队,理论上最好不要同学院的组队,这样避免知识点的重叠,不同学院不同领域的三个人的知识堆叠起来要比同学院的涵盖得多。主动找别人组队也不是什么难事,很多同学都是坐等别人来求组队,最后落了单。我的两个队友是比较内敛一点的男生,我又是性格比较活泼的妹子,个人觉得我们搭配起来刚刚好。组队的时候也是我在群里找到的他们两个,一拍即合,没经过什么挫折。我选择他们做队友的原因很简单,他们在群聊时提到过自己的作业,我心想有认真写作业好像还不错啊。我对学习成绩并没什么要求,不存在说成绩好的同学建模能力就比较强,所以大家组队的时候千万不要太看重成绩,成绩可以作为一个衡量标准,但绝对不是最关键的。组队之后的几天是与队友的磨合期,身边也有不少在这个时候因为志向不和脾气不和或者三观不和的团队解散另结新欢,更有组好队后忽然想回家的同学丢下队友在风中凌乱。像我们仨这样一拍即合的也不少,所以第一轮没组好队后面再重新选队友就会比较尴尬,都是彼此挑剩下的。结合以上各种组队失败的原因,各位读者小伙伴一定要跟队友稍微接触一下再决定组队。我个人认为整个培训环节能力提升最快的就是真题模拟这个阶段,到了这个阶段,之前基础培训学到的内容全在脑子里,各种问题挑战也都开始明了,什么时候该用什么知识,建什么样的模型更合适,模型怎么求解,软件操作,编程能力等等。做真题的时候一定要咬紧牙关,明知道答案就在触手可及的地方,自己又没头绪,很多同学这时候就会想着埋头苦干不如直接学习借鉴。其实最忌讳就是只知道看往年真题的答案,企图单纯地从答案中学习,没有自己努力思考建模求解的过程。自己冥思苦想过后,也许建的模型并不是最优,但这时候再去看优秀的真题论文才会有恍然大悟的感觉,这是一个学习的过程。实战演习的这几天过得很规律,我和队友们每天早上8点在教室集合做案例,中午一群人一起吃午饭,午休都是视情况而定,太困了就睡一会儿,睡醒了继续建模,下午到太阳下山的时候去吃晚饭,晚饭过后打会儿游戏或者看会儿剧,之后继续建模写论文直到11点回宿舍。无比还念那段日子,我们一起玩扫雷一起玩黄金矿工一起看电影,一起为一个目标而努力。

比赛的那三天,每个参赛的队伍都牟足了劲,之前培训时候的学到的知识技能和培养的默契分工在这时候全都得以体现。第一天上午拿到题目之后,我们在半个小时内确定了选A题。为了不相互影响,我们把想做的题目写在小纸条上,打开后是三个一致的A。定了题目之后就开始各自审题或者找文献,大概一个小时过后,开始一起讨论,谈自己对每一问的看法和见解,为建模确定方向。然而在第一问的数据处理上我们就遇到了难题,在保证随机性地前提下补全数据是我们之前没接触过的。中午吃饭的时候有的选B题的同学已经搞定了第一题,也有队伍从A题换到B题去做,在这种时候我们三个又一次一致决定咬紧牙关坚守A题,改变作战方案,继续努力。第一问的坑先留给我来填,另一位统计系的队友先解决第二问,数院的队友则开始第三问模型的建立。第二问有的地方需要用到第一问的数据处理方法,所以我当时也很有压力。比赛的过程,考验的就是学习能力和利用时间的能力。那天午饭过后我看了几篇数据处理的文献和方法性书籍之后终于找到了突破点,也就是解决第一问的方法,并且统计的队友也确定了第二问的方法和解答方向。晚饭之前,数院的队友和我们讨论,提出了一个完美的分段差分模型,这样我们的前三问基本上都有了眉目,第四问就是对第三问模型的应用,所以在第一天晚饭的时候我们对A题的四个问题都有了思路,进展很顺利。晚上的时候我们三个一起对题目中的数据进行了处理,第一问和第二问也都有了很高的完成度,所以第一天晚上我们都睡了个好觉。第二天早饭的时候我们又对问题进行了进一步的审视,觉得除了之前提出的分段差分模型之外,还有更好的模型可以解决问题,那就是排队论模型。但培训时候学到的排队论模型是基于稳态的模型,不适用于这次题目的情况,我们考虑到时间紧迫,决定先用目前的模型解决问题,再回过头细细思考排队论模型的问题。于是,三个人分工明确,分别负责不同问题开始了解答,我负责第一问的分析和解答,统计的队友负责第二问,数院的队友负责第三问模型的建立。有了第一天的基础,到第二天午饭的时候,我们前三问基本已经解决并且有了各自写的初步零散的论文片段,这给我们减小了时间上的压力,也让我们有了思考更优秀模型的时间。下午的时候我们认真讨论了之前关于排队论模型的想法,觉得是可以实现的,只是要跳出已经学到的关于排队论的公式从源头出发重新推导。下午我和数院的队友一起完成了第四问,即对第三问中分段差分模型的应用求解,他讲思路我编程,配合默契。至此,我们其实已经初步完成了除了论文写作之外的建模过程,有了充分的时间可以思考第三问的另一个更优的模型。晚饭之后,我们一边开始论文的写作,一边同时查找关于排队论推导的文献希望能获得灵感。大概晚上10点的时候数院的队友通过对论文和讲义的阅读,有了新的发现,于是他不怕麻烦从头到尾把论文中的公式推导了一遍,觉得可借鉴。我就开始编程,对他提出的观点加以实现和求解。凌晨的时候程序写完了,但是得不到想要的结果,我们又开始重新审视这个新建的模型。那天晚上过得很艰难,统计的队友在写论文,我和数院的队友在专研新模型,很久都没有进展。大家随便睡了两个小时,熬到天亮,这已经是第三天的早上。早餐之后我们又开始研究前一天的模型和程序,不断改进不断调试,终于发现了原来参考的那篇论文有个致命的错误,于是我们摒弃了参考的论文,自己动手开始重新推导,重新编程,终于得出了正确的结果。接着把新建的这个排队论模型应用在第四问的求解中,两个模型得出了误差范围内相近的结果,这也证明了我们建立的这两个模型的正确性,大快人心。时间已经将近中午,前两问的论文框架已经写好,接下来剩下的就是模型过程的完善和论文的写作了。因为时间比较充裕,而且为了把模型和问题解释清楚,我们把论文反复修改,斟词酌句。就这样度过了建模72小时。

以上。

谨以此文感谢我的两名队友,厦门大学数学学院王钰聪和厦门大学经济学院刘世尧。


本文由 李文然 授权 赛氪网 发表,并经赛氪网编辑。转载此文章须经作者同意,并请附上出处(赛氪网)及本页链接。原文链接https://www.saikr.com/a/4
收藏
分享
别默默的看了,快来和大家聊聊吧,登录后发表评论~ 登录 立即注册
打赏
李文然
打赏金额(金额:¥0)
给Ta留言
赏金已入袋,多谢!(*^__^*)
温馨提示

非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。

温馨提示
温馨提示
帮助与反馈

热门问题