当我谈数学建模时我谈些什么——美赛一等奖经验总结作者:彭子未前言:2012年3月28号晚,我知道了美赛成绩,一等奖(MeritorusWinner),没有太多的喜悦,只是感觉释怀,一年以来的努力总算有了回报。从国赛遗憾丢掉国奖,到美赛一等,这一路走来太多的不易,感谢我的家人、队友以及朋友的支持,没有你们,我无以为继。这篇文章在美赛结束后就已经写好了,算是对自己建模心得体会的一个总结。现在成绩尘埃落定,我也有足够的自信把它贴出来,希望能够帮到各位对数模感兴趣的同学。欢迎大家批评指正,欢迎与我交流,这样我们才都能进步。个人背景:我2010年入学,所在的学校是广东省一所普通大学,今年大二,学工商管理专业,没学过编程。学校组织参加过几届美赛,之前唯一的一个一等奖是三年前拿到的,那一队的主力师兄凭借这一奖项去了北卡罗来纳大学教堂山分校,学运筹学。今年再次拿到一等奖,我创了两个校记录:一是第一个在大二拿到数模美赛一等奖,二是第一个在文科专业拿数模美赛一等奖。我的数模历程如下:2011.4校内赛三等奖2011.8通过选拔参加暑期国赛培训(学校之前不允许大一学生参加)2011.9国赛广东省二等奖2011.11电工杯三等奖2012.2美赛一等奖(MeritoriousWinner)动机:我参加数学建模的动机比较单纯,完全是出于兴趣。我的专业是工商管理,没有学过编程,觉得没必要学。我所感兴趣的是模型本身,它的思想,它的内涵,它的发展过程、它的适用问题等等。我希望通过学习模型,能够更好的去理解一些现象,了解其中蕴含的数学机理。数学模型中包含着一种简洁的哲学,深刻而迷人。当然获得荣誉方面的动机可定也有,谁不想拿奖呢?模型:数学模型的功能大致有三种:评价、优化、预测。几乎所有模型都是围绕这三种功能来做的。比如,今年美赛A题树叶分类属于评价模型,B题漂流露营安排则属于优化模型。对于不同功能的模型有不同的方法,例如评价模型方法有层次分析、模糊综合评价、熵值法等;优化模型方法有启发式算法(模拟退火、遗传算法等)、仿真方法(蒙特卡洛、元胞自动机等);预测模型方法有灰色预测、神经网络、马尔科夫链等。在数学中国网站上有许多关于这些方法的相关介绍与文献。关于模型软件与书籍,这方面的文章很多,这里只做简单介绍。关于软件这三款已经足够:Matlab、SPSS、Lingo,学好一个即可(我只会用SPSS,另外两个队友会)。书籍方面,推荐三本,一本入门,一本进级,一本参考,这三本足够:《数学模型》姜启源谢金星叶俊高等教育出版社《数学建模方法与分析》MarkM.Meerschaert机械工业出版社《数学建模算法与程序》司守奎国防工业出版社入门的《数学模型》看一遍即可,对数学模型有一个初步的认识与把握,国赛前看完这本再练习几篇文章就差不多了。另外,关于入门,韩中庚的《数学建模方法及其应用》也是不错的,两本书选一本阅读即可。如果参加美赛的话,进级的《数学建模方法与分析》要仔细研究,这本书写的非常好,可以算是所有数模书籍中最好的了,没有之一,建议大家去买一本。这本书中开篇指出的最优化模型五步方法非常不错,后面的方法介绍的动态模型与概率模型也非常到位。参考书目《数学建模算法与程序》详细的介绍了多种建模方法,适合用来理解模型思想,参考自学。分工:数模团队三个人,一般是分别负责建模、编程、写作。当然编程的可以建模,建模的也可以写作。这个要视具体情况来定,但这三样必须要有人擅长,这样才能保证团队最大发挥出潜能。这三个人中负责建模的人是核心,因为建模的人决定了整篇论文的思路与结构,尤其是模型的选择直接关系到了论文的结果与质量。这次美赛,我们选的是A题,我负责建模与部分的写作。模型的选择与论文的结构是按照我的思路来做的,现在看来还是比较成功的。对于建模的人,首先要去大量的阅读文献,要见识尽可能多的模型,这样拿到一道题就能迅速反应到是哪一方面的模型,确定题目的整体思路。其次是接口的制作,这是体现建模人水平的地方。所谓接口的制作就是把死的方法应用到具体问题上的过程,即用怎样的表达完成程序设计来实现模型。比如说遗传算法的方法步骤大家都知道,但是应用到具体问题上,编码、交换、变异等等怎么去做就是接口的制作。往往对于一道题目大家都能想到某种方法,可就是做不出来,这其实是因为接口不对导致的。做接口的技巧只能从不断地实践中习得,所以说建模的人任重道远。另外,在平时训练时,团队讨论可以激烈一些,甚至可以吵架,但比赛时,一定要保持心平气和,不必激烈争论,大家各让3分,用最平和的方法讨论问题,往往能取得效果并且不耽误时间。经常有队伍在比赛期间发生不愉快,导致最后的失败,这是不应该发生的,毕竟大家为了一个共同的目标而奋斗,这种经历是很难得的。所以一定要协调好队员们之间的关系,这样才能保证正常发挥,顺利进行比赛。美赛特点:一般人都认为美赛比国赛要难,这种难在思维上,美赛题目往往很新颖,一时间想不出用什么模型来解。这些题目发散性很强,需要查找大量文献来确定题目的真正意图,美赛更为注重思想对结果的要求却不是很严格,如果你能做出一个很优秀的模型,也许结果并不理想也可能获得高奖。另外,美赛还难在它的实现,很多东西想到了,但实现起来非常困难,这需要较高的编程水平。除了以上的差异,在实践过程中,美赛和国赛最大的区别有三点:第一点区别当然是美赛要用英文写作,而且要阅读很多英文文献。对于文献阅读,可以安装有道词典,开启截屏取词功能,这样基本上阅读英文文献就没什么障碍了。对于写作,有的组是写好中文再翻译,有的是直接写英文,这两种方式都可行。对于翻译一定至少要留出8小时来,摘要可能就要修改1小时。如果想快点翻,可以直接使用有道词典,翻出来后再修改,虽然可能不地道,但至少比较准确,这样可大量节省翻译时间。另外word要打开纠错功能,绿线代表拼写错误,红线代表语法错误,完成论文后整体浏览时要多注意这两种线,很可能会发现疏漏之处。我一直认为翻译不是美赛的重点,只要能把意思表达清楚就行了,不必在翻译上浪费太多时间。第二点区别是美赛大量的用到了启发式算法,如遗传算法、模拟退火、粒子群等等。如果说你在国赛时还认为这些算法遥不可及,那么到了美赛你就必须掌握它了。其实我认为对于搞编程实现的队员只要弄懂一种启发式算法就好,因为启发式算法是用来解决优化问题(多数为NP问题)的,不同算法间有很大的相似性,所以只要把一种学精了,这一类的问题就都能解了。个人认为粒子群算法还是不错滴,遗传与模拟退火有些老套了,不过选择什么还是由你个人的接受程度决定,甚至你也可以自创算法。第三点区别是美赛论文的排版不少人会使用Latex,一款用代码编辑的排版软件,它多用在对书籍和论文的排版上,效果美观但是操作很复杂,尤其是插入图片与表格,不是一般的麻烦。而且,学习这种软件必须是一次性全部学完不能间断(据说完整的学习时间大概是几十个小时),只学某部分是没有用的。如果时间不够,不建议去使用。其实除了目录功能,生成的PDF文本使用Word排版几乎能实现与Latex一样的效果,所以我个人建议用Word。前期准备:关于参赛经验,小组成员最好都曾经参加过数学建模比赛,无论是国赛或是电工杯或是挑战赛等等。个人认为美赛的难度比较大,如果是第一次参加,往往很难做出理想结果,这样会打击到参加数模的积极性。所以不建议第一次搞数模竞赛就参加美赛。赛前要准备吃的东西,酌情而定。要准备一些红糖,以防身体不适。要注意尽量不要上火,可以准备些水果。另外,我建议准备3瓶红牛,第二三四天各喝一瓶,确实能有保持精力的功效。正常的饭还是要吃,可以叫外卖或者托人去买饭。总之这几天一定要吃好。关于书籍,没什么好说的,尽可能的借吧,虽然借了不一定有啥用,但是放在那里总归是心里踏实。建议编程、模型、算法方面的书都借一些,另外最好也去借些数学工具书,方便翻译。另外还有就是要准备好查找文献的期刊网入口,无论是中文的知网、维普,还是英文的SCI、Springer等都要提前找到,一般学校的图书馆都会有,没有的话问其他学校同学借图书馆账号,或是找代理,总之最后不要影响到比赛查找文献就行。时间:美赛的时间是四天四夜,日期上是经过5天,比国赛多一天一夜。因为需要翻译,所以美赛的时间同样很紧张,这就要求牺牲睡眠时间来完成比赛。一般来说,国赛期间的睡眠时间不超过10小时,那么美赛期间的睡眠时间最好不要超过15小时(我是国赛6小时、美赛10小时)。这样能保证高质量完成论文,并且身体能承受这样的负荷。现在来讨论一下时间安排。第一天上午出题目,几名队员可以分工合作在一小时内翻译出题目的含义,搜索一些关键词,看看题目的资料与数据是否能找到,根据题目的具体情况来选择。一般来说,MCM会出一道离散模型题目、一道连续模型题目;而ICM题目是交叉学科的,涉及其他专业知识。总之第一天的上午必须将题目定下来。接着第一天下午的工作就是找资料,数据库、资料搜索方面的知识这里就不详细叙述了,数学中国上都能找到。这一阶段的任务就是大量积累资料,资料包括文献与数据。先不着急阅读,把能下载的资料都下载下来,下载不下来的保留网页。知道再也找不到相关的资料就可以停止搜索了,当然在做题过程中还需要针对某些细节再次查找资料,这里所说的停止搜索是指停止大范围集中式搜索。大概在第一天的晚上开始阅读资料,这要进行到第二天上午,在这个过程中,要选择可以接受的模型,想办法加以创新改进。第一天晚上建议睡5小时左右,这样能保证之后的工作。第二天一天是阅读资料理清思路并建立模型框架的过程。第二天晚上之前论文的总体思路要确定下来,就是针对题目中的某个问题选择什么方法,主体模型是什么,创新点在哪都要清楚,而细节问题暂时先不考虑,总之论文思路与模型的总框架要在第二天晚上之前全部搞清楚。如果没有理清论文思路建议不要睡觉,知道理清楚为止,第二天晚上建议睡眠4小时左右。第三天,必须开始写作与实现模型。其实第二天就可以写一些关于问题介绍、前人研究历程等的内容。到了第三天就必须动笔了,可以先简略写中文,之后再详细翻译成英文,也可以直接写成英文。根据模型所编的程序一定要这一天内跑出结果来,可以根据所得结果来改进模型,争取得到较优的结果。当然数据的处理也一定要在这一天完成。第三天是对模型的修正与完善,主要是对细节的把握以及模型结果的处理。建议得到比较合适的结果时再休息,第三天晚上建议睡眠3小时左右。第四天,写作与翻译。根据前面的思路与得到的结果进行写作与翻译工作。写作要力求表达清晰准确。另外还有一个工作是为模型配图与表,图片能够生动的表达模型含义,表格可能是模型结果得到的数据,图与表要按照要求写标题与注释,要大小合适、美观。第四天晚上要完成主体部分的写作,这时开始写摘要,先由一个同学写成中文,然后三个人讨论修改,可以请指导老师提供意见,中文定稿后再翻译,译好后再修改给指导老师检查,最终定稿,这一大概需要5小时左右的时间,在这期间另两位同学完成诸如参考文献、优缺点之类内容的写作,在第五天的凌晨完成全文。第四天晚上建议熬夜,如果需要休息建议睡眠3小时以内。第五天清晨,检查通读全文至少3次至无语言错误。编辑目录、页眉等格式内容,待一切就绪后,转换pdf文档,看有无差错,有差错再调整,无差错就可以将最终论文发到举办方邮箱了。确认邮寄成功后,按照要求打印论文,黑白彩色均可。之后,收拾规整物品,休息,建议睡眠10小时以上。最后,按要求寄送邮件,等待成绩。大概四月前会出成绩初稿,五月前出正式成绩与证书。文献与图表:我一直认为“文献为王”。阅读文献的数量很大程度上决定了你论文的质量。因为看过的文献越多,知道的方法越多,可选择的范围越广,建立的模型越符合实际。关于文献搜索,三个人要分工,即根据题目中可能涉及到的知识,分头寻找。一般先找中文资料,在知网、维普、万方等数据库上进行搜索。我的建议是把一个数据库上关于这方面资料10年的所有相关论文都下载下来,然后用浏览的方式看完,有了一定的了解后选择其中适合的方法加以改进创新,完成模型的建立。其实很多中文文献都是借鉴英文文献而来的,读中文资料相当于读英文资料的概要。阅读完中文文献