四天四夜的疯狂——参加美国数学建模竞赛的感受 整个寒假每天都重复一件事:上午在阶梯教室里听俩个数学模型实例,下午去编这俩个模型的计算机程序,求出其结果来。这样的生活,我经历了俩个寒假,但是我喜欢。但是我着迷于数学的魅力和创造力,当你发现在现实生活中一些极其普通的事情竟然在数学里能找到答案,你不陶醉吗?比如,“椅子能在不平的地面上放稳吗?”“没有任何避雨的可能,怎样才能在雨中淋得雨最少?” 还有“怎样减肥,能减多少?”“怎样进行早期糖尿病的诊断?”等热门话题,更有“打赢运动战和游击战的条件是什么?”这样的军事问题。所以,我参加了俩次美国大学生数学建模竞赛,经历了两次四天四夜疯狂的数学实践。主管我院参加建模竞赛的指导老师说,“美国建模竞赛对参赛队数有限制,参赛人数所占在校学生总数比例非常少,能参加俩次比赛的同学更是少之又少!”指导老师说的,我相信。 美赛时间到了以后,所有的题都在网上下载,考试时间为96小时(四天四夜)。从等待下载考题之前,我已经做了很多事情,不算寒假的培训,早一天就请了假去睡觉(俩次都睡不着?),把该用的资料收集起来,把数学建模实验室的电脑搬到考试的宿舍里。然后带领我那俩个“兵”去超市采购“粮草”,把平时想吃的零食和甜点都买回来(这也是一队之长的责任嘛)。 每一个参赛队都要在自己所能选的俩个题中选择一题。我们要选本科组中的一道题,虽然是二选一,但仍是一件很难做的事。去年的考题是数据多,A题是血管重组问题,起血管的切片图有100幅,要求在这100幅图中重组出血管来。B题是公共汽车公司的调度问题,它的数据是在一个工作日中每隔一个整点的上行方向14各站点和下行方向13个站点的上下车的乘客数统计。今年考题的特点是数据不多建模难度大,在没有规律的事件中建立模型,也有一定难度。相比而言,去年的选择要快一些,只用了半天时间就放弃了A题,虽然我们知道问题的关键在于建立切片横截图中点的算法,但血管重组问题还是为难了我们这些文科生。今年的选择要困难一些。由于我曾用C语言编写过体育彩票的抽奖程序,因此对B题感觉有把握。然而我的队友却建议选择一道富有“挑战性”的题。几经考虑反复琢磨,直到天黑,我们才决定选择A题!选择一道适合自己的题十分关键,花一天半天时间也是很正常的事情,关键是在接下来的时间里如何攻克难关,交出一份满意的答卷来。真正进入到数学的角色,那是废寝忘食的。第一夜根本感觉不到累,等你或你的队友抬起头时,才发现此时已经深夜,学校的大门早已锁了,肚子里却还没有充饥。面对着毫无进展的“工程”,也许只不过多了几十页稿纸,也许你们早已吵得口赶舌燥。这时,可以冲一杯咖啡和,彼此鼓励一番,把采购来的食品品尝一下,也可以照顾一下女队友,让她先睡一会。在你的脑子里,可能早已有了问题的大概思路,但总是被意想不到的情况所动摇、所否决……对了,这就是我们所要接近的目标,等你攻克这个难关后,才会想起这本来是多么的“理所当然”啊! 去年的考试中,模型建立的很简单,但是数据的处理却十分复杂,先是对数据用SPSS软件做聚类分析,然后求出27个“站点取舍系数”,根据这么多的系数,将一个复杂问题转化成一个相对复杂的问题,而这些工作整整花了一天时间。今年的进度似乎更缓慢,我们将一个空间问题转换成平面问题后,在建立目标函数却发生了很大的分歧。在第二天一整天没有达成一致意见,到深夜3点钟分歧仍然存在,而留给我们的时间不到30小时,如果不采取措施,我们的任务就很难完成了。此时此刻,谁还有睡觉的心思呢?我们决定不在目标函数上浪费时间,转手从约束条件里寻找问题的突破口,而另外一名队员立即着手写论文的准备。换了思路后,用Mathematica一积分,结果让人大吃一惊,那显化后目标函数实在太长了,如果打印出来,一页A4纸都打印不下,而这只是分类讨论的一种情况,要是全部考虑的话,需要四个这样的函数。我们面临的挑战更大了。队友们已经俩天俩夜没有正常的睡过觉。我和另一名男队友除了在第一晚睡了四个小时外,再没有合过一眼。虽然我们没有一个人喊累,但是彼此都能感觉到对方那红肿的眼睛里已经少了许多兴奋。我们要检讨自己!我对他们说:“不要灰心,我们一定能把它做出来,其实我们的思路已经非常非常清楚了,现在就差了那么一点点,也许这正是这道题的精辟所在吧!”我和我的队友们从头开始分析光路图,发现我们考虑的情况太全面了。于是加了一条大胆的假设,结果目标函数的确变的很简单,但这样正确吗?为了验证这条假设的合理性,我们不得不进行大量的工作,用Matlab模拟了线光源上没一点光的反射情况,运行结果和实际情况完全一样!难道我们真的到达罗马了吗?谢天谢地,这次真的到了!此时为最后一夜8点钟,离交卷还有12小时。像这样的煎熬与刺激在去年的建模中也出现过,当时已经编出了相应的内容,但是在计算公交公司需要多少辆汽车时,编出相应模型计算机模拟的程序却出现了麻烦。当时的情况可以说是万事具备,只欠“程序”。甚至连论文都排好了,就缺需要程序。我们三人极尽脑汁,从Matlab语言编到C语言,从C语言编到Matlab语言,画了n份流程图,喝了m杯水,甚至打算不如手算好了。也许工夫不负有心人,到晚上10点钟,我们用Matlab语言得到了一个醉人的结果这种成功的喜悦每个人都能想象出来,为了奖赏自己,报复电脑,我们和电脑下了一局棋,虽然悔了几步,但还是把它杀成了光杆司令。那一天晚上正下着雨,也很冷,我们兴致勃勃地吃了一顿饭。和这一晚的轻松相比,今年的那一晚真是太紧张了。由于时间紧,三人紧急分工,我编写程序,一个写论文,另一个打字。程序的算法不是太难,我用Matlab很快就搞定了。最缠手的还是打字,我们没有一个专门训练过打字,那数学论文却不比纯文本论文好打,频繁地用到公式编辑器,还有七八幅光路图要画,真是苦不堪言啊!如果这种情况出现在第一个晚上,也不是什么困难,偏偏出现在最后一个晚上,这正是队铀们最筋疲力尽的时候,也正是考验一个人意志坚强与否,耐久力与否的时候。我高兴我的队友们都做到了,他们都是第一次参加建模竞赛。就这样疯狂到底,我们轮流打字,谁也不敢轻闲(一轻闲就会打瞌睡,只有在紧张的思考中才能将疲倦赶跑)!到交卷的时候,我们只是匆匆的看了一遍论文,时间不允许我们推敲它,就像车站送人那样只有匆匆的一俩眼。但是这种成功后的喜悦和快感是不会消失的,全身心的压力和重负在刹那间消逝,前所未有的充实感令人舒畅。四天四夜里只睡了四小时,似乎还有点心犹不尽,扫了几把雷,选的是有180颗雷的“自定义”。+ o% _+ Z2 ~. ~! Y* B3 e
这是我经历的俩次美国数学建模竞赛的过程和感受,对我的收益只大不逊于大学四年所学的文化知识,使我终生难忘。
2 o/ a U- ^% H8 U4 ]' Z" t5 @
8 ^9 o7 q L3 L& O" S$ i |