数学建模作为理工学科的一项基本技能,是很多学术研究开展的基础,参加相关竞赛可以锻炼数学思维,提高解决问题的能力。我一共参加了去年和今年的两届中国研究生数学建模竞赛,并很幸运地分别获得了国家二等奖和一等奖。在今年12月,应竞赛组委会邀请,我前往西安交通大学参加第十四届中国研究生数学建模竞赛总结交流活动,期间学习了其他队伍的成果,并认真听取了组委会老师对题目设置初衷和评分依据的分析。在这里,我结合西交之行的学习内容和自己参加数学建模竞赛的过程,总结了一些心得体会和参赛小技巧,希望带给大家一些启发,能对大家以后参赛起到帮助。
团队组成
我是咱们山东大学电气工程学院2012级本科生,于2016年保送本校、本学院直博,现在算是一名博二的学生。在本科期间,我参加了比较多的科技创新竞赛,但没有参加数学建模,算是留下了一个遗憾。在读研期间参加数学建模比赛,一方面是考虑到数学建模与我们专业的研究内容息息相关,希望借此锻炼、提升自己的能力;另一方面也是为了弥补一下本科时候的遗憾,没想到能够在优秀、给力的队友配合下,幸运地取得国家一等奖的好成绩。
我们团队另外两名优秀成员也均来自电气工程学院,分别是:韩林晓,山东大学电气工程学院,2016级硕士研究生;李毅,山东大学电气工程学院,2016级硕士研究生。
我们三个来自同一个课题组,都是山东大学电气工程学院张恒旭教授的学生,比较有趣的是,我们课题组包揽了咱们山东大学两年来的三个中国研究生数学建模竞赛国家一等奖。能取得这样的成绩,绝非偶然,而是与张老师对我们平时的悉心培养分不开的。在日常的课题组会议和交流中,张老师很注重对我们的工程、数学逻辑思维与科学方法的培养,其中的很多思维方式和处理问题的方法都在我们建模过程中起到了很重要的作用。我在参加西交的竞赛交流活动中得知,我们建模所用的这些思想和方法得到了组委会老师很大的认可,被当做了我们竞赛论文的加分项。
竞赛准备与过程
课题组实验室有足够的工位和电脑,使得我们不必为竞赛场地的问题发愁。在同一个课题组,经过一年多的共同学习,我们之间有足够的默契,能够按照各自的特长,明确分工,团队协作效率较高。由于我们队伍没有涉及过通信专业的内容,所以直接放弃了华为专项奖,而按照优化和数据挖掘问题来准备本次竞赛。
就竞赛准备来说,我们团队并没有局限于竞赛开始的前几天,而是在更长的时间尺度内,对一些常用的模型和算法进行了分类整理,例如关于优化问题,我们整理了传统优化方法和现代智能优化方法,并对相应的Matlab程序进行了储备,以增强我们团队应对各种问题的能力,提高我们团队建模的鲁棒性。等到了竞赛开始前一周左右,我们团队开始搜集、阅读最近几年的竞赛题目,分析了涉及优化和数据挖掘的题目涉及的工程应用场景、建模模型和求解算法。同时,我们还阅读了历年的优秀论文,研究了其中的亮点,并按照其格式,提前构建了论文的Word模板,便于在竞赛过程中迅速填充内容,保证不在论文格式上浪费时间,能够较快地完成论文。
在竞赛开始后,我们团队做的第一件事情就是讨论做哪一道题目。本届竞赛的6道题目中,B题是华为专项题目,D题是数据挖掘的题目,剩余的4道题目都是工程优化问题。我们首先排除了华为专项的B题,而数据挖掘的D题是以监控视频为应用场景的,处理起来需要先把一帧一帧的视频转化为矩阵,感觉不是特别直观,所以我们也放弃了D题,决定选择一道优化的题目。本届4道优化题目都是工程背景下的规划和调度问题,考虑到E题与我们专业研究内容最为相关,选择了E题作为我们的竞赛题目。
之后,紧张的建模过程从搜集、查找相关论文资料开始,E作为一道经典的工程优化调度问题,以国防为背景,对导弹发射车的转移路径进行合理规划,已经有一定的研究基础,网上可以搜到很多相关的内容。在整理讨论之后,我们发现现有的论文中要么解耦求取局部最优,要么采用动态规划的方法,前者结果很不理想,后者处理起来很麻烦。考虑到工程优化问题的通用性,我希望从本专业知识中寻求一种思路,进过一个下午的反复思考,发现E题与本专业机组组合问题非常相像。所以我们团队依据已有的专业知识,将E题类比为机组组合问题,迅速地提出了一种多层优化模型和基于0-1规划、禁忌搜索的求解方法。
由于较为顺利的确定了题目和求解思路,我们团队后续的竞赛过程较为顺利,早早的完成了E题的5个子问题,并在没有通宵、熬夜的情况下完成了论文。在此要特别感谢一下能够任劳任怨、忍受我独断专行的两位队友。
西交之行总结
今年12月份,西交之行的竞赛总结交流活动按照不同选题分组进行,主要包括各优秀团队的PPT展示和组委会老师带领的小组讨论两部分。
在PPT展示过程中,我的开篇是,“这是一个比较经典的工程优化问题,与许多工科专业的优化调度问题类似,作为一个工程问题,应放在具体的应用背景和假设条件下去讨论,同时应兼顾解的质量和处理的速度,需要的是具有时效性的工程解而非一个纯数学问题的精确解”。这一观点得到了组委会老师的认同,得知我们论文最大的两个亮点是构建的多层优化模型和提出这一建模理念。正是基于平时树立的这一处理问题的思路,使得我们团队不是汲汲于求取一个很好的解,而是将模型的简化与解的质量进行折衷,类比本专业的问题,较为顺利的完成建模。
在与组委会老师的交流中,我得知数学建模竞赛的各题目很多都是基于组委会老师的研究课题,所以网上可以搜到很多相关的文献资料。但老师针对E题说到,“今年的E题已经有许多相关的文献成果,但是大多都不是很好的,仿照网上方法做的,都没有取得很出彩的成绩”。我感觉竞赛时你能搜到的,组委会老师和其他团队都能够搜到,所以网上的资料可以用来开拓思路,如果照搬的话,可能不会有很好的成绩。组委会老师在评阅论文时,是百分制,按照每个子问题规定的分数进行打分。想要得到国一的话,除了论文的总得分要高之外,还要有亮点,例如结果比其他团队好、采用一种新的方法或者提出一种新的理念。
心得体会
我就数学建模比赛的各个环节,总结了一些心得体会,希望能对大家有所启发,帮助大家为我们山东大学共创佳绩,具体如下:
1.参赛组队
数学建模涉及数学理论知识与方法、软件编程和工程物理概念等多方面的内容,涵盖多个学科,因此,在组队上,跨专业、跨学科是大家比较推崇的。但是,在实际组队的时候并不需要真的集齐数学、计算机和工科三种专业,只要尽量选择能够与自己的互补的队友即可。自己熟悉数学理论与各种算法,就选择擅长编程、善于分析应用场景并提取模型和熟悉Word整理报告的队友,反之亦然。当然,除了知识和能力外,性格上的互补也是非常重要的,一个团队,总需要有人作出判断、拿定注意,也需要有人认真执行。此外,组队的时候还需要充分考虑准备做什么类型的题目,如果是数理统计题目,可以找数学和经管专业的队友;如果是工程优化问题,可以找工科专业的队友;如果准备挑战华为专项奖,可以找通信专业的队友。
2.赛前准备
我认为数学建模竞赛的准备工作是各个环节中最重要的,“只有准备充分,才能即兴表演”,长久而充实的准备过程是在竞赛中取得好成绩的基础。数学建模竞赛不是平时的期末考试周,所以在开始的前几天才进行突击准备是远远不够的。赛前准备应该是一个长期积累的过程,因为数学建模涉及的知识范围很广,熟悉基本的模型和求解算法,才能在竞赛中从容不迫。除了知识之外,注重积累一下算法的程序,以便竞赛需要的时候随时调用也是非常重要的,这样比临时现场编写或者搜索能够节省很多时间。当然,数学建模的准备也不用刻意的进行,刻意在平时本专业的科研学习中,就自己研究的内容,多阅读一下模型和算法的文献,这样日积月累,在参加竞赛的时候就能够有足够的储备。我们团队能够轻松、顺利的完成E题,也是与平时积攒的专业知识分不开的,能够类比本专业的问题和方法,固然有运气的因素,但熟练的掌握知识也是必须的。
3.竞赛选题和建模思路
选题是非常重要的,选题不好,可能解起来很吃力,半途而废的换题会浪费很多时间。赛题的选择应结合自己专业平时所学的知识和内容,这样能够充分利用平时的积累,也能够提升专业能力。竞赛开始后,不要急于确定题目,可以花费半天到一天的时间搜集资料、团队讨论,毕竟这是竞赛的起点,起点选的不好,会很大的影响你们团队能够顺利到达终点。如果选题是确定起点的话,建模思路就是确定从起点到达终点的路径,如何选择一种多快好省的建模思路是非常重要的,学会类比本专业的研究内容是一种比较好的方法。在竞赛过程中,要多搜一些相关的文献,开拓思路,但不要拘泥于其中,要有自己的想法。将整个问题的各个子问题联立、耦合起来分析,提出一个系统的思路,不要割裂开考虑,因为各子问题都是相互关联的,一个整体的框架更能够帮助你们团队顺利解决问题。
4.赛后成长
竞赛带给大家的不仅是一个证书,而应该是自身能力和知识的成长,各理工科专业的研究内容都是相通的,参加竞赛也会在一定程度上对本专业的科研有所帮助。
希望大家能够共同努力,在数学建模竞赛中,为我们山东大学共创佳绩。
作者:电气工程学院2016级博士生曹永吉