我的数学建模之路:从国赛二等到美赛M奖!

Datawhale

共 6258字,需浏览 13分钟

 · 2021-10-17

↑↑↑关注后"星标"Datawhale
每日干货 & 每月组队学习,不错过
 Datawhale干货 
作者:李运佳,上海交通大学,Datawhale成员

在2017年的数学建模竞赛历程中,我参加了大大小小的数学建模竞赛,个人参赛经历从美赛小白(sp)到东北三省数学建模(一)到国赛(二),再到小美赛(F),最后美赛(M),随着参赛经验的逐渐丰富,也逐渐学习到了常见的数学建模问题分析方式和解题套路。

非常感谢数学建模让自己认识到了一群志同道合的伙伴,还有五湖四海的朋友,其实比较感谢的是春哥(春哥带你学建模)的资料、驰神(知乎ID@张浩驰) 的帮助和我本科学校大连海事大学的陈国艳老师、张运杰老师以及一些学长的帮助指导,正是因为他们给予的一点一滴的帮助自己才能让自己在这条路上走的这么远。

最后也感谢数学建模让我认识到了自己偏执的性格,让我认识到了自己的缺陷。每次的争吵,每次的绝望,每次的想破罐子破摔,最后还是要拾起磨牙吮血的勇气,坚持到最后。

我可能和其他同学不一样,我每一次的比赛几乎都是可以讲两宿的故事,真正的经历了太多的离合悲欢,自己也在大喜大悲中学会了从容。

首次比赛:美国大学生数学建模

16年的美赛是我第一次接触数学建模,为了准备这次比赛,自结束期末考试后我便和同学进行全程准备数学建模竞赛了。准备期间,主要学习和用到的材料是当初<春哥带你学建模>以及数学中国等地方收集到的各种资料。前期我们将队伍的安排分别划分为写作、建模和编程三个方向,每人负责一个方向。由于是第一次参赛,所以这三个方面的能力都有较大不足,所以比赛最后并没有获得较好成绩,但是积累了非常好的经验。

再战:东三省数学建模

时间转辗到了17年4月份,我的数学建模写作队友找到了我,问我要不要参加东三省数学建模。最开始时她直接拿出来一个路径规划问题问我怎么做。我觉着小姑娘考察方式很奇特,应该很靠谱,我就这样被吸引过来了,也一直和她走过了数学建模国赛。

为了不辜负写作队友的期望,我主动寻找了编程队友,当时感觉她能力很强,就让她做宏观指导,我们两个队友都听她安排。当时东三省比赛是三个星期,我们选的是深圳杯的垃圾成本计算的问题。在编程队友的指导下,我们找了很多资料,两个星期终于完成了第一问。在最后两天,编程队友把腰给摔了。我平常的时候遇到这种情况是打算直接放弃参赛了,当时心想着如果这都能拿奖,我就跳进大连海事大学的心海湖.....但是写作的同学坚持不要放弃,我就陪写作的同学坚持到了最后,希望能对得起自己的付出,问心无愧就足够了。所以我们只能在最后两天内在没有编程队友的情况下完成题目的2,3,4问。。。

结果还好,拿了东三省数学建模一等奖。

通过那次比赛我学会了以下三个道理:

  1. 无论如何都不能放弃,一定要坚持到最后,也许真的就这么幸运呢
  2. 不要特别强调抱大腿等思想,要注重自己团队的建设,提高团队的凝聚力,发挥每个人的作用,这样结果一般都不会太差。
  3. 原来数学建模可以没编程队友... 建模思路逻辑性、排版的好坏、数据可视化>编程结果

东三省数学建模让我自己对论文排版、数据可视化、建模思路逻辑性的认识都较为偏执。这几个方面很大程度上影响后面获奖水平的高低。

数学建模国赛

在参加国赛的时候,我感觉既然拿到了东三省省一,证明我们团队有这个能力,于是还是我们三个小童鞋力挑国赛。编程队友在暑假之前给我们两个布置了每个人的任务。emmm,然后编程队友给他自己布置的任务是没有任务.....

写作和建模的任务是:写作队友是只看论文就好,看优秀论文的排版进行学习。我作为建模队员也是看论文,看大量的解题过程,尽可能把这五年内的国赛题目看完。记得在暑假期间我几乎把《数学建模优秀论文精选与点评(2011-2015)》完整的看了一遍。国赛的时候还来回翻看,看看有没有借鉴的方法和思路。另外,这个里面一些老师的思路分析特别好,能让我们可以站在老师的角度去认识数学建模。

穿插看论文的tips:


(其实对于建模的同学,在最开始对司守奎老师的《数学建模算法与应用》中评价、优化以及预测等算法有了宏观了解后,去尝试看大量的优秀论文和论文点评很有效。

如果你要准备数学建模,就去读优秀论文吧,去体会操千曲而后晓声,观千剑而后识器的真谛。


我基本上是按照这个思路学习的 ,即看论文时思考他们是怎么做的,换做是我,能否形成这样正确而可行的思路?

有的时候看论文能给自己很大启发,让我暗叹作者的才思与深厚的语文功底。现在还有几篇论文是我认为很优秀的学习论文。


比如(知乎ID@熊风) 学长的论文,当时读学长论文和学长《如何备战美赛》PPT(见附录)的时候不禁佩服学长对于评价问题的理解,几乎可作为评价类问题的典范解答(学长的题目是2014年美赛MCM关于教练的评价问题,网上可以找到公开的原版论文)


还有一篇论文是2016年国赛B题的一篇优秀论文,从下面这篇论文我深刻的感到一篇优秀的论文不一定是特别高大上的模型,反而是你要把问题考虑的尽可能全面(虽然很多老师说,一开始不要考虑那么复杂,否则做不出来,但是如果没有对模型一点点的复杂度的提升,或者对问题诸多方面全面而细致的考虑,真的很难拿奖),越全面越好(给别人一种工作量很大,考虑细致的感觉),这其实是数学建模在排版不出问题情况下获奖的关键。

这个论文其实很多方法大多都见过,比如层次分析、元胞自动机、NS模型、最短路模型等等。。。基本上在入门数学建模的时候都能了解到。关键是如何将他们糅合成一体,立于不败之地。这就需要从大量的论文来学习来借鉴了。

而且从这篇论文里面,我还有一点体会是语文水平对数学建模比赛极其重要,可能有些投机取巧,但是比赛就是这样。


从这篇论文分析来讲。首先是如何构建合适、完整、系统的模型,这就需要自己考虑全面。就比如这篇作者“构建了道路通行能力、安全性、便捷度。其中道路通行能力由车道数、拥堵系数、路旁干扰系数、区内支路饱和度来决定,安全性由交叉路口个数来决定”。通过这一段话,能明显的感受到作者建立的全面、细致,而且干扰系数、拥堵系数的概念的提出具有创新性,对该概念表述非常准确。

(其实讲到这儿就大致的明白了,模型构建要全面,语文功底要好,一篇好的数模论文一定要有自己构建的东西,比如干扰系数、拥堵系数、潜在危险度、可达度等等,否则很难拿一个奖。)


其实从这篇论文能学习到的不仅如此,很多方面都可以深入研究,能看的出来作者的功底还是很深厚的。

比如对模糊综合评价的改进、结合主成分分析法的层次分析法模型来避免层次分析过于主观、选取不同特点小区进行分类来解决小区是否开放的问题、用VISSIM仿真来检验建模结果等等都是值得我们学习的。可以在我的文末附录《数学建模想法》《国赛优秀论文分析》中看到。

在比赛临近开始的时候,编程队友告诉我她在建模那三天不能和我们一起做,要去新东方实习,,,但是一定会圆满的把自己的任务完成,不会脱团队后腿。我知道她的性格是说一不二,我们几乎不能左右她的想法,就只能这样硬着头皮参加国赛了。(我的内心几乎是崩溃的,本就怕自己给大家很多压力,自己暑假在家呆了一个星期就回来了,把写作队员和自己应该注意的东西都学习了,还把《正确写作美国大学生数学建模论文》看了一遍,看优秀论文的时候注意构思整篇文章的文法整理了一遍。)

下面说说编程队友的国赛安排吧,希望能给意愿远程参赛的同学提个醒。我们是在出来题目之前,基本上就确定了选择B题,从我上面的分析可以看出来,这个题目是相比较而言比较容易去宏观构思解题框架的一个题目。出了题目之后,我们三个小时不需要讨论,然后每个人搜索文献,进行问题背景的了解。每个人要写自己对整个题目的解题报告,把对问题的看法以及想法都写出来,尽可能细致一点。写完解题报告之后再进行交流。这个感觉是有用的,避免了大家的思路过于统一,思路容易被一个人带走。然后国赛的时候由于我和编程队友的性格都比较偏执,所以出现了一些矛盾,很感谢写作队友的协调。所以大家如果真的遇到问题,最后第三个人能出来协调。

虽然以上国赛远程的时候都没做到,尴尬

在我下面附上的《数学建模交流》PPT里面就可以看到第二问的时候我们舍弃了一种方案。原因是因为我想了一种方案,编程队友想起来一种方案,然后到写作队友整理逻辑的时候麻烦了。。。。不过我写作队友厉害之处就是把两个人对一个问题的两种做法糅合在一起(大家见笑了)。自己就这样把该经历的大忌在比赛中几乎都经历了,矛盾、远程做等等。

PS:后来我们队友之间和好了,其实每个人的想法不同,不能强求。希望大家比赛是比赛,朋友是朋友,要学会化解矛盾。我最害怕的就是做一个比赛失去一个朋友,这也是我最不愿意看到的。但是随着时间的推移,这种事已经不鲜见了,因为主力队员闹崩的、因为比赛奖金分配闹崩的等等。希望大家能在比赛中获得友谊,获得成长,学会包容,学会谦让,而不是做一次比赛失去一些朋友。

还穿插在国赛期间的一个段子是MD5码的故事,也是一个小技巧吧。

众所周知,国赛的时候,比赛时间是到12点截止。12点之后再次提交论文,只有一次提交机会。而且因为提交后已经生成了MD5码,所以原来的论文不能打开。我们是这么做的。先在12点钟之前把桌面上的word完整版论文生成的PDF论文分别放在桌面和国赛文件夹里各一份。然后用国赛文件夹里面的论文生成MD5码。之后修改桌面的word论文,最后在12点之后提交桌面上的论文修改版。 这样没有违法国赛规则,并且能多出来6个小时的时间(现在这种方式不一定可以了)。

我在提交论文后,由于前两天没有磨合好,几乎都在熬夜,实在撑不住了,就和写作队友说:“有实力拿到国奖的论文肯定是包含了对真实情况下的考虑,咱们整篇论文没有考虑真实情况。你如果想改的话可以在这边下下功夫哈,我要睡去了哈”然后是4个小时后,她说让我看看她建立的模型好不好,我还是很震惊的,因为她之前几乎没有了解过模型,但是这次建立的模型很到位,把实际情况也都融合的很好。然后在4点钟,我强忍着困意,一点点的和她检查排版、检查摘要。修改论文的结构、检查摘要的措辞。

就这样国赛结束了,还好结果不错,拿的国二。。。。

关于国赛我的思路大家可以看我附录“数学建模交流”PPT,后台回复关键词「建模」可得

2018数学建模美赛

我在美赛的经历比国赛还要折腾,因为队友家庭原因,不能在一起做比赛,所以我们临近比赛之前找了一个新的写作同学,临时搭建的团队。因为我在比赛之前看的论文非常多,所以我们在比赛之前就已经将题目选择范围划分到ICM了。ICM的赛题的特点是归属于社科类的题目,会有很多小问题。在做这样的题目过程中比较关键的一点是你必须真的解决了每个问题。也就是题目所要求的每一点,你都要有回答,不要避开它。 就比如这一年E题的要求“直接或间接的因素”“找到一个国家脆弱性所在的范围”“气候如何使得政府和社会结构变得更脆弱”等等在摘要中都要有相应的回应。

讲讲对做E题的感受吧。因为E题对每个人的发挥空间较大,所以对于E题这种类型的题目肯定是大家选择的最多的。但是当我们对于E题细细做下去之后,却发现每一问都有可深可浅的研究。

比如第一问:构建气候与国家脆弱性的关系,要完成两点: 1找到这个国家所处的脆弱性范围,2 找到气候与国家脆弱性直接或间接性关系。
很明显的感觉不能直接模糊综合评价,相关性分析等等直接套,毕竟数学建模不是数学套模。难点在于找到直接或者间接性的关系,而且以下几问都是和这一问有关联,所以这一问的处理就显得非常重要。

暂时想到:

  1. 构建不能反应其影响机理的模型,(这种方法比较普遍)然后把重点放在指标的选取,并且根据指标结合国家情况来解释可能与国家的直间接关系。不过感觉很难在这种分析下出彩,可能会涉及到自己主观性过强,忽略了实际原因。
  2. 构建系统模型。题目所讲为气候会对社会产生动荡,甚至引起了政府的崩溃。那么可以构建多个指标(从多个方面考虑)之间的反馈关系。这个模型相比第一个要好一些,毕竟有真实的指标反馈。根据指标反馈结果再进行解释更有逻辑一些。

所以我们选择的是用系统动力学,我们对政府、环境、社会三个子系统之间构建因果反馈图,通过因果反馈来揭示直接或者间接的关系。

对于如何找到某个国家脆弱性所处的范围,我直接选择公认脆弱性最差的国家和脆弱性最好的国家然后求解总脆弱性。这样的话就可以判断某一个国家脆弱性所处的范围了。
这种题目就不要神经网络了吧....感觉很难得到结果分析出来,层次分析也就当个笑谈就好。不过改进的网络层次分析也可以考虑。感觉这个方法不失为反应指标之间关系的一个方法,不过我没用过,感觉和AHP区别不大..

第三问:国家脆弱性如何会变得更脆弱?何时更脆弱?如何定义临界点?临界点怎么找?
这一问信息量也比较大,如果要想拿M以上,肯定需要对这几个都有分析,但是有分析的深浅区别。

首先是如何更脆弱?也就是如何通过问题一的模型找到指标间的关系是判断脆弱性变更差的关键性因素。最初对如何二字理解有偏差,没有搞懂“如何”是指影响脆弱性变差的直接性因素,还是“气候”所引发的直接性因素。不过这二者难度差异很大,所以可以针对气候所引发的要素变化进行分析会更便捷一些。

所以我当时是针对系统动力学的环境子系统,然后对该系统内的每个要素(假设是a~x这些要素)进行预测,判断每个要素的以后的趋势。最后进行每个要素单独变化,判断国家脆弱性指数会如何影响。这样就找到了什么因素让国家变得更脆弱,假设是a c x 使国家更脆弱,然后再分析该环境子系统下的a c x三个要素是影响了什么,然后间接影响了政府不稳定,最终导致了社会的动乱等等。

针对环境子系统下面每个要素的预测是选择了一个算法后,然后求解完成。

第四问是假设国家脆弱性会不断变化,那么如何去寻找国家脆弱性变化的临界点。对于这个问题我就不太会了,毕竟临界点是指当整个国家系统处于所谓“敏感性”极强的阶段,指微小振动对系统的影响。我当时是在外文文献找到的tipping point的论文,进行了一下引用和修饰。
一三问大致如上,ps:美赛每一年的E题都可以对第四问扩展很多思路,发挥性更强一些,所以也容易做。

总结:美赛E题目还是有套路的,这两年大致相仿,如果把这三年的E题优秀论文给仔细研读,相信能获得一个质的飞跃。比如2018的E题目针对任务四中提到“哪些干预措施可减轻气候变化的风险,防止一个国家成为一个脆弱性国家”。这个就和2017美赛E题“研究选定城市的当前增长计划。测量和讨论每个城市当前的增长计划如何满足智能增长原则”有异曲同工之妙,通过看2017年特等奖论文,看他们的解决办法基本上这个问题就解决了。

希望大家用平和的心态对待比赛,认真科研,这样的底层论文了解就好,没拿奖也不要气馁。不要过于沉迷,还是踏踏实实提高自己的能力是关键。

相关资料:我整理了当时看优秀论文的总结(这个总结是通过看《数学建模优秀论文精选与点评(2011-2015)》总结的思路),还包括熊风学长的PPT 论文,和当时自己国赛的思路。后台回复关键词「建模」获取总结。

整理不易,三连
浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报