联系电话
010-62513057
北美大学生数学建模竞赛一等奖
张睿 韦皓诚
在今年的国际大学生数学建模比赛,是我和我的队友十分有幸在第一次参加数学建模比赛时获得了一等奖。此次比赛是一次难得的经历,借此机会写下自己对于此次比赛的总结,希望对自己以后的比赛能够有所裨益。
1、关于比赛组队和分工合作。
同其他数学建模比赛一样,国际大学生数学建模比赛是由三个人组队参加比赛,数学建模是三人合作完成的比赛,这就避免不了分工与合作的问题。因此组队过程就及其重要了。通常来讲“黄金配置”是论文撰写者、程序员、自由人。美赛前我们并未严格按照这个“黄金配置”分配了任务,所以在建模的最初的一段时间效率很低。由于美赛要求提交英文论文,撰写者的任务很重,而且英语要求较高。程序员主要负责模型建立后的求解过程。而第三人是干什么的呢?我想这很难界定,因为每个队的情况都不一样,我们的第三人的工作是查找资料、整理数据、修正并检验模型、最后检查。比赛的组队和分工合作是我们完成美赛任务的基础。
2、关于赛前准备。
参与过国际大学生数学建模比赛与国内数学建模比赛两项赛事后的最大感受是美赛的内容更加繁多,对于能力的要求更高,所以前期的准备也是必不可少的。其中最重要的莫过于知识储备和软件操作两个方面了。
(1)知识储备:国际大学生数学建模比赛需要用到很多知识。很多人认为这些知识可以根据比赛实际情况即学即用。没错,涉及到很专业的比如地理海洋学的知识是应该如此对待,因为这些东西赛前无法准备,准备了也有很大一部分最后会被浪费。但基础知识比如常见模型和常见算法的了解则宜早不宜迟。队友韦皓诚在赛前准备时基本上将所有的常见的模型都进行了整理和归纳,当面对一个陌生的题目时总是能够迅速的将其归入到某一类模型中,在后来建模的过程中对于我们的选题以及后期过程提供了巨大的帮助。我们并不需要在赛前精通所有模型或算法,但必须要了解各个模型是用来解决什么问题的。与此同时,也需要把各个算法的程序,无论是C语言、MATLAB语言还是其他语言都要有完整带注释的可执行源代码。只要做到比赛时看到问题能立刻想到可以用哪几个模型可以解决,算法代码拿来就知道怎么针对题目量体裁衣就可以了。在赛前我们到图书馆借阅了大量关于算法的书籍与资料,在比赛过程中备用。后来在建模过程中也确实起到了很大的作用。而在赛前一定也要看看往年比赛的题目和优秀论文,熟悉比赛的出题形式,更有助于比赛的发挥。
(2)软件操作:首先从数学软件说起,常用的数学软件主要有MATLAB,SPSS,LINGO,EXCEL等四种软件,每种软件都有其独特的功能,在比赛前对于四种软件要有必要的了解和掌握,至少知道最简单的输入和输出方法。每个队员应该至少掌握一门软件并能够较为熟练的操作。但是在建模比赛中,一般对于软件操作不会有特别高的要求,一般而言都会是能够通过查阅书籍能够快速得出结果的计算,所以在赛前借阅必要的软件书籍自学和比赛时参考也是非常重要的。
其次,论文撰写时也需要一定必要的软件。撰写论文时大家主要通过Word和LaTeX两种软件,而相比较很多师兄师姐推荐的LaTeX,我更推荐参加比赛的同学使用WORD(如果使用LaTeX很熟练的同学当然可以选择前者)。虽然LaTeX功能更加强大,但是在96个小时的比赛中,面对最后的论文,最后的排版面临着任务重,时间紧的压力,所以能够选择一个自己用的更加熟练的软件必然会带来很多好处。
对于软件的操作,一定要在比赛前的准备期间反复练习,避免在争分夺秒的比赛期间因为对于软件的不熟悉而浪费宝贵的时间。
3、关于比赛过程。
国际大学生数学建模比赛虽然比国赛的时间要长整整1天,但是由于题目的复杂性,学科涉猎较广,对于比赛的时间安排和细节也要求更加严格。而对于此次比赛我也有许多感悟和总结。
(1)审题并选题:在比赛出题之后,甄选题目并选择其一继续是第一天开始最重要的任务。审题的目的在于初步确定这个问题的求解大致思路,可能会用到什么模型,是否会适合自己队伍来做。在比赛时我们三个人反复确认了每道题目的意思,经过查阅了一定资料之后讨论决定我们最后做的题目。选择题目基本也是确立了之后四天90多个小时的奋斗方向,一定要慎之又慎。
(2)资料、数据的查阅及汇总:由于国际大学生数学建模比赛不会像国赛一样给出具体的数据,只是给出大体方向,所以对于具体数据以及其他资料文献的查找具有非常重要的意义。而在比赛中数据的收集和整理主要由我来做,而韦皓诚主要负责对于文献的查阅和整理。而在这样的过程中,我们也对问题不断的更加深入的了解,最后为整个模型的建立和求解奠定了一定的基础。
(3)模型的建立及求解:我个人认为在解决问题时应尽量保持步伐一致,总是两个人在分析计算一个人在撰写文档,攻克一个再解决下面一个,这样可以保证每个人都对每一个问题有足够的了解,任何一个人发现的问题都是在三个人的认识范围内,可以很好地讨论,不会出现两个人在焦灼地争论一个问题而另一个人不知道他们在说什么,而这也是我们遇到的问题:我们并没有做到很同步。我好几次需要向另一个人解释我在想什么问题,很浪费时间。而我在比赛之后更加觉得论文撰写人和程序员基于理论或常识思考解决问题的切入点,自由人查找相关资料并提供给另两个人,当模型确定后论文撰写者开始根据讨论的结果撰写论文,他需要很详细的阐述小组的思考。程序员开始编制程序或指定解决方案,并告诉自由人需要哪些内容的数据,自由人找到数据并提供给程序员,程序员完成模型的建立与计算,交给自由人进行检查修正,这是程序员帮助论文撰写者完善这部分论文。最后自由人将修正的内容补充给论文撰写人,一个问题就解决了,而这个过程也正考验团队配合的真正含义所在。
(4)论文的撰写:我很强调论文应该有一个人执笔,因为三个人各写一部分风格很难统一,势必会使文章整体性变差,影响表达。但也不是所有文字都有一个人来写,这样个人因素影响太大,另外两个人应该尽可能提供思路,保证文章的充分客观。而最后撰写论文的过程一定要留出时间来检查全文的准确性,有没有遗漏重要的点或者建模的过程,最后统一进行排版,并转换为PDF文件上交。
(5)其他:在数学建模的过程往往伴随着高强度,大工作量的任务,因此如何在四天之内分配时间并保障休息时间至关重要。因此在比赛前准备好比赛地点以及其他必需品也是极其重要的。而在比赛中也一定要保持平和的心态,不要因为和队友有不同的意见因此产生矛盾,否则就得不偿失了。
总而言之,这一次参加比赛是一次珍贵的经历,很荣幸能够获得一等奖,我希望在今后的科研活动中继续努力,争取获得更好的成绩。