聊聊数学建模的这段经历及一些感想

前言:

很久没更新博客了。

在这一篇文章中,我们主要聊一聊我和数学建模从相遇那天起到今日的这些事情。

正文:

1.相遇

大一时在与学长学姐们的交流中了解到了一个叫做数学建模的竞赛,听说时看到这个比赛的名字叫做“数学建模”,对于数学课程感到头疼的我自然是对它十分抗拒,多次数学建模竞赛的机会我都错过了。

到了大二下学期时,有一个朋友突然找到我,说:“近期有一场数学建模比赛,咱们要不组个队?”也许是对自己长时间没有进步的不满,也可能是害怕自己跟不上步伐的恐惧,我接受了他的邀请,在那时我刚刚了解到这个比赛原来要三个人参加,分别负责论文、编程、建模。

很快,我的第一场数学建模比赛开始了,这场比赛是华中杯。我们三个人三个小白啥也不会,只好在网上看别人的思路,那是一道优化类的题目,任务是安排出最优的货物分拣方案。我们这几个小白看到题目后只能说是完全不会做,但非常幸运的是我们找到了一个附有代码的题目思路,看懂后我了解到原来这种题目用“智能优化算法”就可以解决,为了显得不是看了这个网上思路做的,爆改了网上的代码,改成了在比赛期间刚刚学会的混合模拟退火算法,熬夜写完论文后,最终交了上去。

那一场比赛最终结果是三等奖,现在来看那场比赛真的是几乎没有难度,用贪心算法就可以得出非常好的解,而且几个小问所需要使用的方法也基本类似,我们当时就用一个模拟退火做完了三个小问。但不得不说最后熬完夜做完后的感觉真是非常有成就感。

2.集训

比赛结束后,对数学建模产生了一点点好奇心,同时也想要找到一个东西去约束自己去努力,了解到我们学校有国赛集训后,果断报名了。因为校内测试时成绩还算过得去,我成为了我们队的队长,并在群里找队友,一位同专业的同学(信息与计算科学)找到我,我们后来又找到另一个环境专业的同学组成了队伍,队伍分工为我负责编程,同专业的同学负责论文,环境的同学负责建模。就这样,我们开始了以国赛为目标的数学建模集训之旅。

印象很深刻,集训是8月初开始的,到家还没两个星期又启程前往了学校。集训分为4轮,简单说就是一轮完成一篇论文,并且集中讲评与交流,讲评/交流结束后立马开始下一轮。

第一轮集训,学校让我们报名华数杯作为训练,这一场我们做的是插层熔喷非织造材料的题目,这道题目比较典型,第一问是分析各个参数之间的影响关系、第二问是一个分析+预测问题,第三四问是一个优化问题。由于在那时我的数据分析能力比较差,第一问全权交给了我们队负责论文的队友去做,而我和建模手则负责剩下的几问。但在做第二问时,建模手负责用matlab的拟合工具箱来做拟合以进行分析和预测,而我则现学支持向量机来进行预测,第三四问则是使用模拟退火来做优化,最终我来写论文的主要部分(建模求解),他们写各自负责的部分,然后统一润色后合并排版,在大家的努力下,那一篇论文顺利完成了。

那一场打完后我记得我很累很累,拉着另外几个同学就去炸金花,打了一晚上扑克,在欢笑声中疲惫也渐渐散去。很快又开始了下一轮练习。

第二轮训练,深圳杯,我们做的是自动驾驶电物料车换电站选址与调度方案这个问题,这个题目可以说完全把我们队心态做炸了,三天练习时间中,我们花了几乎2天的时间研究第一、二问,最后用了网上的思路才做出来,而后面三、四问我们队伍没有思路,本着不能空着的原则,我硬着头皮去语文建模,结果竟然扯出了5页论文。最终合并论文并排版后,交给老师批阅,结果自然是不佳,分享时看到其他组的成果更是自愧不如。当时为自己没有能力懊悔了很久,怀着郁闷的心情在学校里兜兜转转,集训不会因为我的烦恼而推迟到来,又开始了第三轮的集训。

第三轮,是由我们老师自主命题,一个与营养有关的分析/预测题目,我们选择了熟悉的支持向量机去做,做着做着发现题目很奇怪,也许是我的题目理解有问题,我们需要去通过体检指标去预测人体内营养素含量,同时缺乏数据,这对我来说简直是不可完成的任务。若说上一轮的深圳杯对我来说是“深圳悲”,这一轮自主命题则是悲上加悲,那场训练的具体细节我已不愿回忆,只记得那篇论文一半都是语文建模。那一轮训练结束后,我仰天长叹,开始怀疑人生,只是生活并不是一直落落落落落,还是有起的,第一轮训练的华数杯我们取得了一等奖。

时间流转,酷暑逐渐过去,迎来了第一缕秋风,集训也迎来了收尾的第四轮。最后一轮依旧是学校老师自主命题,总共有四问,第一问是对市面上的空气净化器进行综合评价,第二问是建立空气净化器中空气流通的数学模型,第三问则是考虑空气净化器的隔板、摆放位置、外观形状、出入风口的位置及数量来研究室内空气净化效果,第四问则是由第三问得出一个最优净化器。按照惯例,第一问交给了我们队伍负责论文的同学去做,后面二三四主要交给我来做。第二问是使用计算流体力学模拟勉强建立了模型,第三问则是综合元胞自动机与计算流体力学来解决,由于从来没碰过计算流体力学,结果根本做不出结果,第四问综合二三问进行语文建模,熬夜写论文后交了上去。虽然我们没有做出结果,但是模型还算完善,于是我们也作为优秀队伍上台做了分享。

3.国赛

转眼间,就到了国赛的比赛时间,我们早早的在机房集合等待赛题发布。赛题发布,拿到题目时我们是懵的,首先瞅一眼A题,是我们不擅长的题目,忽略,然后看到B、C两题,此时产生了纠结,到底做哪一道题?三个人讨论了半小时没讨论出来,最终决定我负责B题,队友看C题,如果B题有办法就做,没有办法就去内卷最严重,但也是我们比较擅长的C题。花了几个小时研究后,我没有好的思路,最终转去C题。

C题是古代玻璃成分分析与鉴别,这是一个主要研究化学元素关系/规律,以及预测和分类的问题。第一问进行关系研究以及风化前化学元素预测,第二问进行玻璃分类及其亚类划分,第三问是对第二问的应用,第四问是分析不同类别之间化学成分的关系及差异性。

和之前的训练一样,我的队友负责数据分析,而我负责预测及分类。但是在这一场比赛中我犯了个很大的错误,那就是没有查相关文献就开始做题了,结果我们队在第一问的预测卡了一天,最后随便用了一些方法进行了预测。在问题二及问题三中,为了模型的可解释性,使用的是logistic判别以及k-means聚类,但在这个过程中,我和队友在一个基础性的问题上争论了很久,最后花了很长时间才达成一致。而这些耗费的时间已经远远超过了我们队的承受范围,在三个人高强度写论文后,论文算是勉强交了上去。很长一段时间后,了解到我们最终的成绩是省三。

我想过很久我们的问题到底在哪里,在4轮模拟训练中,我们队伍的实力是还算可以的,我在集训期间可以说是尽心尽力,我的队友虽然有一些模型并不熟悉,但是他们也坚持着为我们队伍付出。但是我想问题应该有一下几点:

  1. 我的水平不够,这也是最重要的一点,在第一问的预测中没有找到较好的方法,在第二三问的分类中没有快速给出结果,特别是关系分析这类问题的知识欠缺直接导致在第一问和第四问的解决中没有发挥很大作用。

  1. 队友合作问题,在比赛的时候最好三个人不要在确定模型后去做同一件事,比如两个人最好不要同时做一个模型的实现,会导致队伍合作效率低下。

  1. 水平问题,简单来说,队伍中三个人最好能形成擅长方向互补,并且在基本的知识点上没有缺漏,那样不会形成被架空的尴尬场面,同时也不会因为基本的知识点上的缺漏导致一些基础性问题的出现。

总之,国赛之旅在遗憾中结束了,但我的数学建模之路还没结束。

4.新的起点

在国赛之后,一种压抑的感觉困扰了我很久,同时由于各种原因沉不下心去学习,当我抬头看向天空时,已经步入了秋天。我的一个同专业的同学找到我,邀请我和他一起找队友去准备美赛,后来我们在老师的联络下,找到了一位国际营销专业的同学和我们一起备赛美赛,队伍的分工是我负责编程,同专业的同学负责建模,国营专业的同学负责论文,作为练习,我们报名了大数据赛。

比较不幸的是,大数据赛时间内我们基本都有课,只能在周末没有课的时间及工作日的晚上聚在一起做题,我们选择的是数据题,一道关于工业机械故障的题目,问题一是选择判别故障的指标,问题二、三为故障判别,问题四为问题二三的应用,问题五为对机械故障的量化分析。

好在这一次比赛一开始我们就发现了问题,那就是我和建模手都没怎么碰过分析,结果第一问就卡住了。我两经过漫长的推锅之后,终于决定一起把分析做了,用的是普通的正态性检验及相关性分析,第二三四问中用的是现学的随机森林及决策树,第五问中使用的是回归分析。这场比赛打得非常轻松,在不耽误学业也没熬夜的情况下打完了,队友也很给力,最后我们在这场初次合作的比赛拿到了二等奖。

在那一个月后,冬意已至,我们决定再参加亚太赛作为练手,这一次我们选择的题目是一个关于全球变暖的数据题,这个题目不得不说它与我们往常做的所有题目都不同,问题一中的a问要求2022年与10年前进行差异性比较,b问要求建立2个以上的温度预测模型,c问就是b问的应用,预测温度什么时候到20度,d问则是模型检测。问题二中a问要求分析气温与时间/位置之间的关系,b问要求讨论自然灾害对全球变暖的影响,c问讨论全球变暖的主要原因,d问则是写关于如何阻止全球变暖的小作文。

整个题目看下来似乎都是很平常的题目,但是细看就会发现难点所在。

  1. 数据难点,出题组仅仅给了全球各个城市的维度及不同年月的气温数据,简单说只有第二问的a问能用上这个数据,其他都用不上,数据得我们自己找。

  1. 方法难点,问题一a问中研究对象主要研究趋势的变化,不能用普通的相关性分析。

  1. 字数难点,问题一bcd问中要求多个模型的研究,且都需要做出预测与检验,第二问更是字数大户,在25面(后来我们知道是30面)的限制下,对我们文字的精炼性有着很大的要求。

  1. 第二问的各类难点,原谅我这个难点取名非常的随便,因为第二问确实不能简单的用一个词来概括,这个问题需要分析一些比较抽象的事物对气候造成的影响,比如厄尔尼诺现象、森林火灾、新冠肺炎等,数据的搜集暂且不提,如何分析更是难点。

难做归难做,办法总比困难多。

面对第一个难点,我们找了1天全世界的各个网站,从知乎找到国外的不知名研究所,从森林火灾数据找到二氧化碳排放,算是凑齐了完成这道题所需的基本数据。

对于第二个难点,我们在查阅了一些文献资料后了解到有一种突变点检验的方法,常用于气象领域,遂速通了它的用法,并变成代码解决了问题一的a问。

对于第三个难点,非常有意思,我们完成论文时正好写了30面,按照不记得在哪里看的要求,要求我们改成25面,于是开始了浩浩荡荡的删字改图排版之路,从最后一天晚上10点改到凌晨3点,改到三个人都极为暴躁的时候终于改完了,回去休息后发现页数要求是30面,后悔莫及,气急败坏,不了了之。

对于第四个难点,我们最后实在想不出来能用什么方法来分析各种事件对全球变暖的影响,只好用比较简单的方法,森林火灾、厄尔尼诺这种事件使用突变点检验,然后综合石油销量、人口数量、新冠人数、二氧化碳排放量这些数据与气温进行相关性分析。小作文则全权交给国营的同学去写,算是顺利克服了这个难点。

在克服这一堆难点后顺利完成了比赛,字面上看着很轻松,但是那几天还是非常煎熬的。在我们队伍的共同努力下,拿到了一等奖。

5.现在

时间匆匆,转眼间就到了现在,这期间欢笑与泪水都品尝过,也愈加仰慕那些高人的阔达的心境,像《浪子心声》中的歌词:“命里有时终需有,命里无时莫强求。”

这期间有过付出但没有回报,有见过他人仅靠抱大腿就拿到一等奖,有过由于不可抗力的原因而擦肩而过,还有过累到晚上回到寝室茫然看天空;但也有凭自己努力拿到奖项的快乐,有着与家人共同进步的幸福,有着课后几个人一起打扑克的简单的喜悦,更有着看着自己一天天成长、肩负起责任的一种说不出的感觉。

也许就像我的这一段数学建模之旅,只要努力过了(虽然我觉得还不够努力),结果并不重要,简单的说,就像《顺流逆流》中的歌词:“不相信未作牺牲竟可先拥有,只相信始靠双手找到我要求。”找不到我要求怎么办呢?哭一哭,笑一笑就过去了。生活仍在继续,也许在未来我仍会为付出而未得收获而痛苦,也许仍会因劳累而陷入迷茫,但我想最终我总会看开这些的,再不济,不论活得好不好,活到老也是成功。

后记:

时间是个有意思的东西,它能唤醒我摆烂了太久的灵魂,并让我接受我也不过是个普通人的事实,不过总得对自己有点期望,说不定“醉翁他朝醒觉,是否化凤成龙”?

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>