2012年2月10日至14日,我、张帆和晏天行参加了2012年度的美国数学建模竞赛。作为由大二学生组队、第一次参加美国数学建模竞赛的我们,这次竞赛确实已经给我们带来了很大的收获,不管我们最终是否能获得H奖或者更好的奖项。美赛过后,很多人都会撰文阐述美赛的经验,为了避免流于一般性,别人已经提到的内容我就少提了,这里总结我们小组这次切身体会的印象最深的几个方面。
其一,时间进度的把握很重要。尽管美赛有四天,比国赛多一天,但如果第一次参加美赛,到了最后你很可能会发现时间不够用。这里有两个原因:其一,因为你潜意识里认为时间很充足,前两天没有好好利用。比如,迟迟没有决定选哪道题,犹犹豫豫一天很容易就过去了,这次有的组直到第二天晚上才确定选题;又或者你一直想从各大论坛、群里了解一些思路,前几天就泡在上面了。其二,英语写论文的速度比母语要慢上一倍左右,你想表达一个方法,也许汉语你花10min输入就行了,可是用英语写作你可能要花上30min。
这次身为组长,我敢保证,我们的思路及得出的solutions就全国赛的范围来说,绝对不低于国家二等奖的水平,或者就美赛来说至少处于国际一等奖的水平。可是局限于写作时间的限制、英语写作的不熟练,我们在论文中并没有充分地体现出我们的算法和成果。数值实验我们只是把流程图给出了,但是很重要的记数规则、循环细节我们并没有交代。这是我们遗憾的。现在想想,我们应该至少在第三天中午开始撰写局部论文,在拼凑在一起,可是我们实质是在第四天中午才开始写的。限于时间和精力的原因,这次我们有太多的内容没有在论文上体现,太多的有用的数据没有给出来,这是身为组长的我的一个最大的遗憾。
其二,有了想法,就要想办法去实现,世界上没有写不了的程序,没有实现不了的过程,没有想不到的程序。这次我们选的是B题,关于河流漂流宿营的问题。之前我们一直没有信心去实现“no sets of groups can occupy the same campsite at the same time”的算法 ,直到第四天中午,才由组员张帆在原来的程序基础上改进成功实现这一算法,尽管整体编程看起来难度相当大,但是它确实就是如此实现的。我之前提出的一个备用模型就是我们最终模型的基础,当初这个备用模型的算法去编程也是超级复杂的,可是我们还是慢慢找出编程的算法了。所以,不管有什么想法,就大胆去想办法实现,而且要有信心去实现,用各种途径去实现,功夫不负有心人,只要实现了,就会打开一扇新的大门。
其三,和指导老师的交流很重要,把你的初步思路(自己事先一定要有具体的数学模型)说出来,老师会给你指出模型的不足之处,哪些问题没有考虑到,哪些地方可以改进,哪些假设不合适。争论之中,往往会打开你思维的大门。当然,在你去找指导老师之前,你应该就你的模型的具体实现方法有很完善的思考,不要想到什么就去问什么,这样很多思路往往会刚到你的眼前过一趟就飞走了,包括很有价值的想法。
第四,要善于找到题目的原始资料,尽管原始资料里的算法不一定适合新的模型,但是背景值得借鉴,这样更有利于你作出合理的假设。记住,美赛一般和过去20年之内的热点课题有关。至于如何查找合适的原始资料,那时我们平时需要训练的。PS:原始资料一般都是英文,包括国赛的一些资料。
总之,我对美赛的看法是:美赛比国赛更灵活,但是难度不比国赛高。
总结一下这次美赛的感慨:身为组长,我对这次我们组员之间合作的情况很满意,这次建模竞赛,终于没有人像上次国赛那样打酱油了。我唯一的遗憾是:最后写论文的时间太仓促了,有些重要的算法、有价值的数据都没有交代出来......
By the way, the best gift that MCM brought for me is that through the process of mass of reading and writing in English, I am more skillful at English. Now, I am browsing the news of Linsanity (a Chinese-American NBA player) on the English web-sites!