浅谈大学生数学建模竞赛心得
2022-01-27◎陈劭
◎陈 劭
(中国农业大学信息与电气工程学院,北京 100083)
数学建模是根据实际问题建立数学模型,并利用数学模型求解问题,是当代解决实际问题的重要手段.
目前,中国比较认可的大学生数学建模竞赛主要有“高教社杯”全国大学生数学建模竞赛(简称国赛)、美国大学生数学建模竞赛(简称美赛)、华中地区大学生数学建模邀请赛、数维杯全国大学生数学建模竞赛等.特别是前两个竞赛,参与的大学生团队非常多,含金量也比较高.高教社杯全国大学生数学建模竞赛是全国高校规模最大的课外科技活动之一,该竞赛创办于1992年,每年一届,九月举行,是首批列入高校学科竞赛排行榜的19项竞赛之一.美国大学生数学建模竞赛,由美国数学及其应用联合会主办,是唯一的国际性数学建模竞赛,也是世界范围内最具影响力的数学建模竞赛.我多次参与数学建模竞赛,有校级的、国家级的,也有国际级的,都获得了好成绩.这里我就自己的参与经历,浅谈大学生数学建模竞赛的心得.
一、建模前期准备
良好的开端,等于成功的一半,建模前期准备工作的充分与否,直接影响后续建模的成败.准备工作主要有以下两个方面:
(一)队友选择
一个好的团队,他们的凝聚力、战斗力势必非常强大.选择队友的面很广,可以是你相同专业的同班级同学,也可以是不同班级不同专业甚至是不同年级的同学,只要是同一个学校的都可以自由组合.联系的渠道很多,原来认识的同学,可以直接沟通探讨,不认识的同学也可通过在一些公共社群发出招贤合作信息,例如在学校的数学建模群(大学里面一般都会开设数学建模的群)里投发自己的意愿,招纳合作人士.在建模组队、选择合作伙伴时,要注意:
1.队友要有高度责任感.这是数学建模竞赛非常关键的因素.建模是一项团队合作的项目,必须同心同德,不可出现责任不强或者想搭便车的人.
2.组队时,可以男女搭配,但尽量不要出现情侣关系.数学建模过程是很辛苦的,团队中有异性伙伴,对团队的互相激励有很大的作用,但最好不要有情侣关系的同伴,因为建模团队多数是3人,若其中有两人是情侣关系,另外一个队友可能会比较尴尬,影响战斗力.
3.适当考虑个人的特长,合理组合.队伍中最好有一个擅长编程的人,有一个写作能力强的人,在参加美国数学建模竞赛时,可以适当考虑加入一位外语较强的队友.
(二)赛前训练
赛前训练对于正式建模的进度效率影响很大,相当于阵前磨刀.最重要的是对算法模型的熟悉理解,知道它们能用于哪些问题,能解决什么方向的问题.三个人都应该掌握,不能把希望寄托在其他人身上,因为在这种需要灵感的学术研究中,多一份智慧,可能就会有意想不到的收获.
团队一起训练时,可以找往年的赛题.可能有些人觉得,每年赛题都不一样,训练的题目也不可能是今后比赛项目,做了也是浪费时间.但我认为,团队训练是非常重要的,通过训练,可以加强团队间的默契程度.通过团队一起反复演练,很多细节分工,合作问题会暴露出来.比如在赛中,通常是要花一天的时间确定选题、收集材料,理清每个小问题的大致框架,把可能的解题思路列出来,最终形成的论文篇幅很大,若是没有分工,到最后时间可能来不及;在美赛中,通常安排一位英语较强的队员负责文章写作,另外两个队员负责编程建模.那么在还没有清晰思路的情况下,这位负责英文写作的队员又该做些什么呢?这些分工细节,如果没在赛前多演练,上场时可能就会手忙脚乱.
二、建模思路要点
(一)简化题干,明确关键词
比赛时,建模时间非常紧迫.团队收到赛题后,就会开始着手分析赛题.在此我强烈建议,大家收到赛题后,先把比赛题目打印下来,然后用不同颜色的笔,把题干进行简化,把关键词圈起来,这个细节貌似微不足道,但却可以使团队始终保持明确的目标方向.因为当大家刚拿到数学建模题目的时候,一般是没有思路框架的,思路跳跃很大,想到什么,就会去查找相关资料,而资料查多了,头脑会出现混乱,甚至会忘了到底要找什么,忘了目标是什么.简化题干,明确关键词,并时刻摆在眼前,能够让你在寻找答案时不忘初心,在解决问题时更具有针对性.
(二)从关键词入手,寻找最佳方案
在关键词明确后,团队就可以着手探讨解决问题的方案.在方案初步选择中,我们往往会被直观的假象所迷惑,从而选择难做的方案,甚至走进思路的死胡同.所以在探讨方案时,大家要根据关键词,分析问题的意图,头脑风暴,各抒己见,从不同的角度构建出多个不同的模型,从中选出最优方案.
以2017年第十届华中地区大学生数学建模邀请赛D题为例,该题以香菇分类作为背景,要求实现对花纹混杂的香菇进行自动分拣.其中第一问是:
确定一种方法,快速定位如下图片(图1、图2和图3)中香菇的位置.
图1 A类香菇图2 B类香菇图3 C类香菇
此题中“位置”便是题目中最重要的关键词.如何理解“位置”的含义呢?可能有些同学认为眼睛看到的位置就是“位置”,但是事实上自动分拣是靠机器来识别的,它是依据接收到的数据来判断的,所以我们需要建立一个数学模型,让机器接收合理的数据.刚开始,我们想着利用香菇在图片中所占的像素的坐标来表示位置,但是香菇的面积太大,像素坐标太多,定位起来太过麻烦.若通过某种手段能把香菇所在区域的上下左右四条边界线找出来,四条边界线围成一个小方框(如图4、5、6所示),那么利用小方框四个角的点坐标表示香菇的“位置”,就相对简洁多了.
图4 A类香菇图5 B类香菇图6 C类香菇
第二问是:
根据香菇表面纹理的不同,选取适当的指标建立相应的数学模型,识别A型和B型香菇(题目中包含附件,里面包含许多A、B类型香菇的图片),并讨论模型的效果.
这一问题的关键词是“识别”,要求我们要建立数学模型来识别,而数学模型是要根据相应指标建立的.那么A、B这两种类型的香菇,有什么区别呢?从直观上看,A香菇有较多的明显的白色条纹,若从这一特征着手识别,显而易见,条纹越多,它的边界就越多,那么我们可以通过条纹大小对两种香菇进行区分.然而,我们换一种思路考虑,条纹越多也意味着条纹面积越大,所以也可以通过条纹面积进行区分.相比之下,后面这种方案准确率会更高.
(三)重视建模逻辑性,大胆假设
在三、四天之内让大学生想出一个万全的、具有真正可行性的建模方案,这本身就是非常困难的事,所以不要因为考虑到的因素不周全就失去信心.我们建立的数学模型,必定要选一些重要因素作为假设基础,并忽略一些次要的因素,没有办法做到尽善尽美.甚至有些时候,虽然你提出的方法并不实用,但是只要你拥有合理的逻辑,做出合理的假设,能够自圆其说,就达到建模的目的了.
以2020年美赛D题为例,题目提供了上个赛季某支球队的具体信息,包括每场比赛每个球员的传球情况,以及每一场比赛的胜负情况等.第一题的要求如下:
Create a network for the ball passing between players,where each player is a node and each pass constitutes a link between players.Use your passing network to identify network patterns,such as dyadic and triadic configurations and team formations.Also consider other structural indicators and network properties across the games.
这一题目,我们想到利用足球队较为固定的阵型,球员之间的站位大概率相对固定的现象,大胆假设一场比赛该球队阵型不会发生较大的改变.但其实看过足球赛的人都知道,球场上的局势是千变万化的,很少会出现整场比赛局势、位置一直不变的情况.然而我们通过大概率的大胆假设,就可以利用图论知识来构建网络.可以看到,虽然我们的模型并不一定真正具有可行性,但是它有合理的逻辑,因此所建立的模型也就有一定道理了.
三、建模论文写作要点
(一)摘要清晰,高度概括
摘要在数学建模论文撰写中起着举足轻重的作用,一篇好的摘要会让老师眼前一亮.老师评阅一篇论文的时间一般不会很长,如果他通过摘要就能够清晰地知道你是在什么平台,运用什么模型,用了什么方法来解决这些问题,那么当老师阅读你们的论文正文时,就会比较清楚该论文的脉络.
(二)布局合理,方便评阅
排版布局的合理与否,会直接影响老师的评阅心情.作为参赛者,应考虑老师评阅论文的方便性.所以在文章排版布局上,要美观大方,层次分明,逻辑清晰.
(三)论文数据,直观可视
建模论文篇幅较大,若相关数据都很生硬地罗列在文章内,老师评阅的时候会很麻烦,因此数据可视化分析是一件非常有必要的事情.有时候一张图就能够让老师了解到你在做什么,避免了冗杂的文字,也会让老师对论文的好感度大幅提升.
(四)所建模型,经得起验证
通过验证模型,可以大大增加结论可信度.老师在短短的评阅时间内,不一定能完全清楚你做的模型是否合理,而通过检验,让模型更有说服力,老师就会更加认可你的模型.
以2020年“高教社杯”全国大学生数学建模竞赛A题为例,该题以电焊炉为背景,电焊炉如图7、图8所示.炉内有多个温区,通过设定炉中不同温区温度和传送带过炉速度,可以使得焊接区域在入炉后有不一样的温度变化情况.第一问(其中的一部分)是:
图7
图8
请对焊接区域的温度变化规律建立数学模型.假设传送带过炉速度为78 cm/min,各温区温度的设定值分别为173 ℃(小温区1~5)、198 ℃(小温区6)、230 ℃(小温区7)、257 ℃(小温区8~9)和25 ℃(小温区10~11),请给出焊接区域中心的温度变化情况,并画出相应的炉温曲线,并将每隔0.5s焊接区域中心的温度存放在提供的result.csv中.
对于这道题,我们可通过题目的已知条件,利用牛顿冷却定律求解出合理公式.但是我们怎么知道对不对呢?于是我们利用题目所给出的已知数据条件,将一个个单点数据绘制成一张图,再与公式求解出的曲线在同一张图上作对比,可以发现有很好的拟合效果.最后,我们通过计算相关指数,发现值接近于1,从而深度验证了模型公式的准确性.
四、其他
很多没有参加过建模的同学看到获奖比赛的论文会感到高不可攀,觉得里面用了非常高端的模型.事实上,那些看上去很难的算法,一般都是别人已有封装好的资源,或者写好的代码.你需要做的就是在建模时找到这些方法,能够在网上找到资源进行套用,根据具体的题目进行分析和修改.
另外,数学建模竞赛是三人组队,队员之间需要相互信任,充分展现协作能力,发挥团队精神.竞赛要求我们在短短的比赛时间里完成选题、建模和求解,还要写出完整的学术论文,这是一个很大的挑战,必须集三人之合力,汇集大家的智慧和能力,才能交出一份优秀的答卷[1].建模过程中,最好是建模与写作并行,切忌最后一天才开始写作.如果是美赛,最好两个人一边建模一边写中文论文,另一个人同时翻译.
五、总 结
大学生数学建模竞赛,在短短的三到四天的时间里,仅靠一个人的努力是很难完成一篇学术论文的.因此在组队时,要找到合适的人选,队员的团队意识和合作意识要非常强.参加建模比赛,对大学生的创新精神有很大的提升作用,同学们会想办法解答出最优方案,很好地锻炼了学生的思维能力和创新意识,不仅能够拓宽大学生的视野,也能很好地提高个人的建模能力和水平,是一个非常好的锻炼机会.另外,数学建模还有助于解决生活中的问题,对大学生的未来科研也有着重要影响.若能在参赛中获得名次,还可以获得一些荣誉.当然,数学建模的过程是非常辛苦的,常会有“山重水复疑无路”的感觉,但只要坚持团队合作,总会柳暗花明的.希望我的浅薄之谈,能对准备参加建模的同学有一些启发.