数学建模美赛还要求提交程序吗(数学建模美赛MCM经验分享)

点上方超级数学建模可加关注

传播数学干货,学会理性的方式去思考问题

【作者按】今天收到一个学妹的邮件,对于数学建模美赛提出了10个问题。回答完了现在贴在这里,算是抛砖引玉:希望去年参赛的同学也写一写,并且今年参赛的同学比赛完也写一写。去年自己准备时得到了几个师兄师姐的热心帮助,这里也算是一种延续。中财数学建模资源有限,大家更要互相帮助。祝参赛的朋友好运!

以下是学妹提出的问题:

1、学长在备战期间,做了一些什么准备?比如说,自学了哪些方面的知识,看了一些什么样的资料?

自学知识:Lingo Matlab 软件; 和队友精读了一本教材——《数学建模方法与分析》(http://www.china-pub.com/25701)并且做了讨论; 阅读优秀论文(google可以搜索到国外的,另外北邮建模网有北邮的历年参赛论文) http://www.sci.bupt.cn/sxjm。

2、相关的数学知识方面,现在仅对每个方法有大致的了解,知道它使用的范围,这样够了吗?我们现在大概可以掌握的数学知识:高等代数、数学分析、概率统计、运筹学,十大算法稍有了解。请问学长觉得我们还需要对哪些知识进行学习、了解吗?

差不多了,可能没那么多时间看书;最优化模型是重点,动态最优化、多目标规划也要看看,证明等繁琐的不用,理解方法和思想即可。

3、计算机方面学长你们是怎么准备的?

编程的基本功来自C语言的学习;matlab的掌握主要靠具体例子的演练,比如准备全赛时编程解了两个题目。

4、MATLAB最主要需要掌握哪些方面?还有,学长你们用到C语言了吗?

matlab作图、回归、以及基本的循环,最后看了一下模拟(Simulation)—这个挺重要的,但是有点难,我们也是匆匆忙忙上阵。

比赛之前几天我和队友把一些常用的软件功能复习了一下,包括word作图、excel常用功能、matlab计算功能等,还是有必要的

5、学长你们参赛的时候用到哪些比较好的网络资源?

google 狂搜索 "filetype:pdf" 语句用来仅搜索pdf的文件 google每页设置显示50个搜索结果 然后用迅雷右键下载全部链接 然后再筛选 量很大 这样能搜到好东西

6、据说MCM时收集资料很重要,那学长认为检索资料有什么技巧吗?

上一问提到了 jstor也可以用,另外中文数据库或许也有帮助,但是不要花太多时间。还有,重要的一点是:搜索文献的难度和赛题高度相关,如果赛题恰好属于被研究得很透的问题,文献会比较好找,只要搜索方法得当,文献应有尽有——比如去年的全球变暖问题,文献多得不得了。 但是也有可能碰到文献不好找的,比如前几年有一个“登机最优方法”的题目,文献就不好找了。 另外,也不是找到文献就万事大吉,如何模仿、灵活运用文献中的方法也很重要。 比如登机最优方法那道题,找到文献,但是不知道作者是如何编程模拟的,也没办法。

7、指导老师会有什么帮助吗?

老师的帮助主要在后勤保障上,关于赛题的讨论也是有收获的。

8、学长你们比赛4天的时间安排?

选题要果断,文献搜索要到位,“实现”很重要——即使有了思路,到成文仍有很大困难,又很长的路走,要认识到。具体时间安排

1st:初步文献搜索、审题。

2nd:第一天形成的是一个很粗糙的思路,大概审清楚了题,明确了哪些工作是一定要做的,由此把论文的结构构思了一下。第二天,写文章的可以开始考虑些问题重述、introduction之类的,另外两个人则是针对几个基本问题继续查文献,一边读一边想自己的模型。第二天晚上我们又查了大量的文献,找到了一些很相关、具有可模仿性的文献。

3rd:开始分头建模型写文章,整理数据,第三天感到很困难、痛不欲生。因为前两天查文献想思路可以说是一个愉快的经历:不断有收获,而且没有太多时间压力,感觉找到了思路后面就很简单了——是一个开疆扩土的征服过程,有成就感支撑着。但是到了第三天需要把思路落实到模型、数据、文章。很多细节问题需要解决。到处都有困难。这一天我们是很苦的。

4th:最后一天,写文章,还有些问题没解决,心情仍然是沉重的。到了晚上9点文章大概是有些样子了。但是最后的创新点写的仍然不好,所有人都说看不懂——别人看不懂绝对是坏事,注定会失败。文章很多细节上也还有问题。那天晚上我和另外一个队友一通宵,小宇宙爆发,改写了文章的好几个部分。天亮开始写摘要

我们前两天其实已经抓得挺紧了,但是最后还是觉得时间紧。我不赞成一开始就熬夜。我们三个人的睡眠时间:第一天1点睡;第二天8点起,2点睡;第三天9点起,3点睡;第四天,9点起,通宵。

9、我们很担心我们的模型会很幼稚,或者建好了模型但是解不出来。若是遇到这种情况,学长觉得我们可以请外援吗?还有啥其他的方法呢?

原则上是不可以找,但是由于没有监管,找外援是可行与较普遍的。关键是找到外援不容易,即使找也只可能帮你做一些你能够明确交代他/她怎么做的工作。操作起来不容易,外援很难帮你扭转局面,还是要靠自己

10、参加了那次MCM比赛,学长有什么遗憾?对我们还有其他意见和建议吗?

遗憾:寒假MCM的准备消耗了太多精力(尽管并没有真正做多少事,但是自己当做是个大事,挺劳神),由此耽误了后来GRE的准备,导致6G不成,拖到10G。

2009年1月30日 增补两个最新的问题:

A1、貌似特等奖有一个特点:特等奖往往突破了题目给的限制。比如06年的A题,题目要求设计使维护灌溉系统用时最少的方案,而一篇DUKE大学的特等奖论文设计了三个模型——Lazy farmer model,creative farmer model,fastidious farmer model,其中只有Lazy farmer model是针对时间最小化的模型,该队在此之外,还给出了考虑到灌溉均匀程度、系统稳定程度的模型,而不是拘泥于题目给出的时间最小化是否应该适当地跳出题目规定,提出更加全面、更加贴合实际的解答。

Exactly. 这样的地方就是亮点,不仅特等奖,一等奖的也是如此。

好的论文对题目涉及的实际问题负责,很有可能超出出题人的预设,不仅仅是拘泥于题目的问题。题目的问题是基础,是必须要解决的。但是亮点往往不能靠它,需要另辟蹊径。

我们去年的文章的亮点应该是最后一个模型:在做了海平面上升预测、海岸线后退预测、台风频率及损害预测后,我们考虑了政府应该如何制定最优政策。我们不是讨论具体的应对措施,而是考虑到任何具体的措施都需要消耗资源和社会财富。由此,政策的制定就是社会财富的分配。并且,这种财富分配不仅仅是地域间(沿海与内陆)、各利益群体间(沿海有产业者与物产业者)的,还是代际间的分配。因为大型的工程往往是当代人决策与建设,而收获与获益却要等到下一代人了。由此,我们提出了一个问题:“如果我们视子孙福利如同自己的福利,那么是否存在一条最优的投资路径呢?” 比如说有可能现在正是自然条件适合采取应对措施的时候,如此,现在多投资的未来受益比未来投资的受益在考虑时间价值后仍然更大。基于这样的思路,我们建立了一个动态最优化模型。 尽管有很多不合理之处:如我们没有考虑科技的进步,模型中的抽象函数有些过于理想,而且代际间是有交叠的,人也不可能无私视子孙之利如己等等。但是我们提出并且清晰表述了一个较有新意的问题,并且用数学模型做了描述、给出了解析解。 这样就已经算是亮点。

这里需要指出的是,我们这个思路也不是纯自己想出来的,参考了清华经管钟笑寒的一篇文章。较之他,我们的优势是在表述上:娓娓道来,自圆其说。

A2、这点不是很肯定:内容的花哨(如:精美的图片、表格的制作,详细背景的陈述,过于多的前期处理工作)可以弥补模型的简单?(从重庆大学的一篇08年一等奖论文得出的推测)

是的,任何考试都有技巧。任何评委都有第一印象,这些“花哨”本身也并非没有价值,他们有利于表达,有利于读者快速接受信息。

比赛时的建议:

1.读文献时要做好笔记,免得量一大,要用时找不到。理想状态是分门别类,如数家珍。

2.另外,可以做一些中间文档,整理一下思路

3.比赛时要明确自己的创新点,有的放矢:有的问题是很难做出新意的,中规中矩即可;有的点可能是别人想不到的,可以培育成创新点和亮点,则要下大力气。

4.文章写作要清晰,要娓娓道来,思路清晰,别人读不懂不行的。重要的地方要图文并茂,并且附上例子(如算例)。文章最好是有数据、有图标,不要仅仅是纯粹的理论模型,没有求解。

5.摘要关键。传说是评委先筛摘要,摘要过关就有二等奖。(不知真假,但其重要性可窥)

准备时的建议:

一定要提前模拟一次,最好成文,不能成文也要成思路,要提前认知比赛时可能遇到的问题。去年我和另外一个队友花了3天模拟了“最有登机方案”的题,对比赛时帮助很大。

还有一个和这个无关的问题:

想问下学长,出国方面有些什么事情,学长觉得可以从大二就开始准备,或者是学长遗憾没能早些开始准备的呢?

我觉得如果想申master没太大关系,晚一点就晚一点;如果申phd一定要早下手,多修一些数学课和高级的经济学课程,认真做一两篇论文作为writing sample.而且可以早一点物色推荐人。

问题挺多,又麻烦学长了,真的很不好意思!谢谢学长!

没关系,祝好运!

五六年后,作者再提几个建议

(1)对于数学建模而言,编程语言学习Python即可。edX上有两门MIT的基于Python的编程入门课,我认为它们是极好的编程和数学建模入门。

6.00.1x Introduction to Computer Science and Programming Using Python

6.00.2x Introduction to Computational Thinking and Data Science

(2)可以学一学Coursera上吴恩达的Machine Learning课程,然后结合基于Python的Scikit-learn机器学习工具实践一下基本的方法。现在如果数学建模比赛中出现预测问题,机器学习的方法应该属于标配了。而Scikit-learn的工具包很好用,不需要多少行代码就可以实现各种方法。

(3)在学习以上内容的时候,多看别人的代码,特别是基于iPython Notebook的代码,学习效果非常好。Github上有很多好的内容。学会用Google搜索资料非常重要。

作者:黄一飞,2008年参加美赛MCM,获得了一等奖。(PhD Student in Economics,California Institute of Technology)

此文2009年曾是发表在人人网,今投稿于超级数学建模。

转载请联系本公众号。

超级数学建模,每晚零点,风雨无阻

专注数学、数据、数模干货

商务合作请zxn19921018

数学建模美赛还要求提交程序吗(数学建模美赛MCM经验分享)(1)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页