首页 📐学习随笔

一、写在开头

如果有人问,数学建模带给我的是什么?
我想说:数学建模带给我的是一种奇妙的归属感,数学建模让我心智迅速成长,数学建模向我指明数学在应用领域的方向。

从第一次参加2019年底电子科大举办的数学建模美赛模拟以来,还参加了接下来2020年5月的校级正式赛和2020年底的美赛模拟赛。在这三次比赛中,均有获奖,有拿过最高奖项,也有拿过次高奖项。虽然我承认,参加的三次比赛都仅仅是校级比赛层面,可能没有省级、国家级那么有分量,但是一直以来,我都想找个机会总结自己参加比赛的经历和心得体会。我没有数学建模培训的经历,也可能没有比较高的数学天赋,但是有一点我是引以为豪的——我在用200%的真心和努力在对待每一次数学建模竞赛,而且,我一直深深感受到——数学建模带给我的是一种归属感。

今年其实我是有强烈意愿进入电子科大校队培训,参加2021年的美赛和国赛,但是因为一些客观和主观的原因吧,并没有很顺利进队(难受了一段时间,毕竟对数模是很喜欢的),再加上从期末考完,集训队开始训练,我觉得自己错过了很多本该把握住的机会。虽然叹气常有,但是回顾自己参赛的经历,窥探自己内心队数学建模的意愿,我又觉得对未来充满期待,也许只是属于自己时候未到,好事多磨磨吧。这是因为多方面的因素,我下定决心,在期末考完对自己的一些经历进行总结归纳,当然仅仅是一些我自己的心路历程,包括不好的方法呀弯路呀等等,又鉴于时间关系,挑一些重点来写一写。
同时因为我并没有接受过系统的数学建模培训,所以这篇博文呢,只是记录自己参加几次比赛的心得体会和未来值得借鉴的地方,所以不会有那种官方的或者以偏概全的结论,如果读者认为对自己有一些帮助,可以借鉴,如果认为我走错方法,欢迎指出!

二、比赛回顾

(一)2019.11.22-11.25 电子科大数模美赛模拟

这是我第一次参加数学建模竞赛,说直接点,就是抱着试一试的心态,因为自己在大一的时候其实对模型这个词,一点点概念都没有!更别说建模二字,数学建模完全就是毫无分寸的事情。但是凭借着对数学的喜爱,我果断报名参加了这次比赛。万万没有想到的是,这次比赛,让我对数学建模竞赛产生了一种难以描述的喜欢,也是让我对数学建模的认知奠定了基础。

选题

  • A题是关于当今社会免费充电设施的经济问题,这道题呢,越读题越理解不了题意,因为从免费充电设施入手,真的太难收集数据了!这些不同场景的设备,不同场所的充电接口都没有有效的统计资料。但其实我对这种开放性的问题,更有把握,我相信自己的联想能力和解决未知问题的的能力。
    在这里插入图片描述
  • B题是关于天文导航中的星图识别问题。这道题其实“很数学”,更多的研究是在三维图形中的几何问题,包括三角函数、矩阵在立体图形中的计算。比赛那天我们刚开始学习积分,当然线性代数也没有学到很多内容,所以选择放弃这道题。放弃归放弃,但是我在拿到这道题的时候,用Matlab展开了数据包做了一点浅层的分析,并且我和同学已经把数学原理推导出四五成。
    在这里插入图片描述

时间规划
时间规划这一点我也不知道自己怎么学到的,但是从一开始我就意识到,比赛前应该先做好整个队伍的时间规划表,让都是第一次参赛的三个人都心里有个数。
在这里插入图片描述
大概内容就是如上这个表格中的文字,其实经历了真正的比赛后,才发现其实时间规划很难真正落实,很难一步一步按计划推进,但是,我一直认为一个清晰的时间规划能让队员心中有数,能让尽力去让进度赶上计划,因此在后来的比赛中,我都会根据队员情况做一个类似的时间安排表。
其实在决定选题的时候,出现了一些问题,有队员其实并不愿意放弃B题,一直在啃B题,但是第一天晚上都不能决定哪个题才是真正适合我们做的,进度就非常缓慢。我也着急了,但是作为队长,必须马上决定,所以我果断选择A题开工。

解题
在第一天晚上开始凌晨开始思考这个题目,晚上其实只有我一个人在熬夜,所以我在学校的通宵咖啡厅思考问题。对于问题的思考内容,我及时记录在word里,也是反反复复一直纠结题意,反复更新思考的方向。也就是在不断纠结思考方向的过程中,我逐渐对模型二字有了些理解,印象比较深的就是当时把模型理解成函数表达式,这样让我更好地推动建模。以下内容就是一部分思考的记录(但是很多可能都是不对的,读者随便看看就好)
在这里插入图片描述
后面两天一直在跟着自己的思考方向完善数据的分析,收集不到的数据我就类比,我通过类比相似或不完整的数据集,拟合或合理假设所需数据的发展趋势。到了最后一天下午,大量将思考的内容汇总到英文论文中。

论文成果
在这里插入图片描述
感悟
这是第一次参加数学建模竞赛,因为和队友的默契度并不高,所以很多思考无法同步到另外两个队友,导致最后的局面就是不怎么能参与进来,所以在建模、编程和论文三方面都投入了大量的精力,也在咖啡厅熬了非常口渴的一晚。这个比赛的过程是非常痛苦和煎熬的,独自踱步在图书馆外的小广场,几个小时几个小时坐立不安就为了能出一点点思路。在比赛截止的最后一刻,提交了一篇还不错的论文,是让我充满成就感的事情,三天里心情的起起落落终于浓缩成了一篇论文,这是一件很幸福的事情。这次比赛的过程很不顺利,但是我学着如何去面对看似不可能的事情,如何从无到有,如何把建模编程和论文三方面兼顾到。这次经历,为我之后带队参加比赛奠定了基础。具体来说,我对全局有了更好的把控,毕竟自己对比赛中的三方面分工都有所涉及。

(二)2020.5.15-5.17 电子科大数学建模正式赛

其实这一次的比赛,心里更有底了些,经历了上一次比赛的得失,我有了更多的把握说自己可以淡定下来解决问题。这次的队伍是重新组建的,不过我相信三个人应该可以比较默契。因为疫情原因,这次的比赛是线上进行,那么要高效,就只能打语音电话交流了。

选题

  • A题同样是典型的数据分析题,着眼于疫情期间经济发展情况,建立一个符合实际情况的模型。这道题对我来说,其实比去年的题目更加清晰明确,所以第一感:选A题。
  • B题是算法设计类题目,解决搜索顺序不同时的信息匹配问题。因为想到三个人在这方面的算法积累并不多,所以还是放弃了B题选择A题。

时间安排
其实和前一年比赛的时间规划差不多,并且抛开很多明知道不能实现的细节,所以应该更具有可操作性。看一部分规划的截图如下
在这里插入图片描述
我这人当队长呢,有个显著的特点,我会尽我的全力去鼓舞队员,不管是在比赛前还是比赛中还是比赛后的总结。怎么说呢,鼓励和安抚队员其实也是在鼓励和安抚自己,队长的压力永远是比队员压力大的,在压力本来就超大的三天里,鼓励的价值是相互的!
在这里插入图片描述
解题
在确定需要哪些参数和模型时,我列出了一些可选的算法和模型
在这里插入图片描述
在分析整体经济情况时,有明显先降后升的趋势,而回升的速度回逐渐减缓,我并没有采用逻辑斯蒂增长模型(Logistic growth model),而是采用自己构造的带多参数模型,如下图,你如果要问我怎么构造出这样一个带多参数的模型,我只能说用了天马行空的方法,然后根据实情逐步优化。
作图工具:几何画板
在这里插入图片描述
“股市是经济的晴雨表”——因为这条“名言”,我在第二天将解题重心放在了股票上,我下载了“华彩人生”哈哈,开始第一次接触炒股软件。
在这里插入图片描述
当然要做的事情就是用Matlab将函数拟合出来做合理预测(BUT!这一点非常困难,因为虽然在疫情爆发时有个明显转折点,但是由于转折点之前的数据具有波动性,所以很难拟合函数,不论是转折点前or后)后来采用的问题分解方式解决,分中长期/短期经济来一定程度简化问题的复杂度。在短期问题中,我发现神经网络可以更好预测,所以这一块用到了BP神经网络算法(借助Matlab可以更简单)
在这里插入图片描述
论文成果
在这里插入图片描述
感悟
这次比赛给我的感觉比第一次好很多,不管是团队的配合还是解题思路的顺畅度。针对疫情经济分析,我们阅读了大量经济相关的资料,从各个角度对整体经济和局部经济建模分析,个人认为算是一次比较透彻的分析过程,当然也是内容最充实的一次建模过程。但是,正是因为分析得透彻,所以论文的内容其实是杂乱的,当时想着去堆这个模型的量,没有一个模型主体,而是把问题拆分很细去建立模型,这当然是一个不小的弊端,通过看目录其实可以看出来这个问题。

(三)2020.11.20.23 电子科大数模美赛模拟

上一次比赛的三人算挺有默契,但是因为一些情况,有位队员退出了,所以在这次比赛中我重新找了写作的同学,没有磨合过,但是整体来说比较上心。这次比赛期间其实很忙碌,熬夜肝作品的同时还有全面体测(分室内测试和室外1km 50m),各种各样扰乱心情的事情,正值降温季,整天冷得发抖哈哈。

选题

  • A题是大学生选择最优假期兼职的问题,这个题简单来说就是给定给定的大学生个人信息(社交时间、期望工作距离、期望工作时间...)和工作信息(工作时间、工作距离...),决策!该大学生应该选择哪个工作是最优方案!这个问题本质就是输入输出的决策和匹配问题。我看到这个题的第一反应——机器学习,有输入有输出,就是寻找一个适当的映射关系,但是由于所有信息和数据都未知,机器学习进行训练并不是一种很直接的方法(但是这一定是很不错的方法!)我们最终选择了基于数学建模方法教程中的多属性决策算法
  • B题典型的数学推导题,是基于群体智能的无人机集群协同对抗系统,当时在理解题意上有一些困难,所以三个人统一选择了另一题。

解题
这道题基于数学建模教程中的多属性决策算法,在此基础上加入了个性化元素,也就是用户填写意愿问卷时的重视程度,用户对每一个问题有着不同的重视程度和答案,同时每一项工作对应着相应的答案范围,进而通过多属性决策算法,计算出该用户在每一项工作中的匹配度,也就是推荐指数!
在这里插入图片描述
这幅图是在理清楚整个算法的思路后,我进行初步的矩阵运算,涉及到特征矩阵、属性矩阵、决策矩阵等多种矩阵的变换过程,最终得到某用户对应八个不同工作的推荐指数J1-J8,在最右侧的演算中可以看到
$$\sum_1^8 J_i=0.9999.$$
这代表整个运算过程是正确的!所有推荐指数求和的值仍逼近于1.

论文成果
在这里插入图片描述
感悟
这次建模的过程非常艰辛,因为从一开始就发现这道题路子很窄,要么机器学习从训练集到测试集走到底,要么多属性决策算法从构建矩阵开始算到结尾。如何构建合理的矩阵真的非常困难!三天内一次次否定之前设计的算法,又一次次更新思路,找到更合理的方法,第二天结束才定下来用什么样的思路计算矩阵。在这个过程中,工程管理和软件工程的知识现学现用,我们用processon绘图软件绘制了详细的算法流程图、矩阵构建流程图、WBS分解图等,可以给大家大概看看清晰的过程。
在这里插入图片描述
总的来说,这三天很不容易,最终把这道窄路子的题目解决掉,当时还是很有信心拿奖的,毕竟每一步运算我全部在演草纸上手算验证过,每一步都经得起推敲,可以说这次建模算是最接地气也是最实实在在的一次建模吧。

三、比赛经验

因为没有接受过专业培训,所以我总结的经验都是从常识、赛前讲座、CSDN博客、赛后总结这几个方面积累而来的。可以说每一次的赛前讲座我都是认真听完并记录下来了的,这里汇总一部分我认为比较重点的地方。
在这里插入图片描述
这些重点大多是我自己遇到的问题,所以以下很多内容来自我的比赛备忘录中。

(一)建模

  • 熟悉数学建模教材的基本模型,一些题目基于简单模型进行改进
  • 如果没有充足时间学习模型,在赛前一定要看看哪些模型是常用的
  • 开放性题目要学着用一颗天马行空的心去解题
  • 合理假设,别太纠结
  • 建议多了解机器学习相关知识,对数据的处理方式会更有经验
  • 建模不是一个人的事情,而是三个人齐心协力找到最佳方案

(二)编程

  • 至少熟练使用一种编程语言,推荐Matlab或Python做数据分析
  • 建议编程的同学对编程有不错的感觉,即使遇到不会的问题,可以查阅资料编写程序实现
  • 如果对机器学习感兴趣并有一定程度的了解,就很棒
  • 事实上在初期的比赛中,只会少量用到编程做运算,后期可能会涉及编程处理拟合、预测、规划等具体问题

(三)写作

  • 尽早搭好论文框架结构
  • LaTex当然是最理想的论文写作工具,但是如果用不熟练,就果断选择word编辑
  • 没有很好的英文论文基础,就老老实实写中文后修改再翻译
  • 论文是数模评审环节最重要的!论文排版和规范性决定奖项高低!
  • 分析部分的时态是将来时!不能出现结果!
  • 图表的标注一定是图下表上,在word中有标注工具
  • 论文的目录采用自动生成,我第一次手写目录是真的吐血
  • 参考文献的标准格式,具体格式自查,现在可以自动生成论文文献格式
  • 摘要不能超过一页A4,一般在1/2-2/3结束摘要
  • 论文的多级标题排版(预设多级标题的字体字号)
  • 关键词三个字记得加粗
  • 万能假设(假设所有数据真实可靠...)
  • 用word写论文时遇到页码出现问题,分页符实在不好操作,切换到wps添加页码更快捷
  • 标点符号的规范、公式字形的规范都会是明显的关注点。

(四)比赛时勤写备忘录

写备忘录这个习惯是因为我在生活中马大哈记性不好,将备忘录用到比赛中,发现出奇地好用,不管是及时记录思路还是需要后期修改的地方,帮助都很大。
在这里插入图片描述

(五)队长要有强大的心理

如果决心要做好这次比赛,队长承担的压力真的很大。以我第一次参加比赛的经历来看,当时队员并没有和我很好地配合,所以那三天我的心态崩溃了一次又一次,还是挺下来了,在建模、编程、论文三个方面都花了非常多的心血,最后终于在最后一刻熬出了一篇论文。因为第一次比赛我兼顾了建模编程论文,所以在之后的比赛中我带队就有了更好的全局把控观,毕竟三类分工都有所涉及到过。因此,在后面的比赛中,尽管队友有负面情绪,我也坚信都是在可控范围内的!不管我的心态有多崩,或者心态有多么受到外界影响,我都要表现出对全局的自信。当然自信不能盲目自信,自信源于解题的信念、决心以及自己在之前比赛中经历的挫败、打击。队长有了强大的心理才能安抚其他人的心态,短期的沮丧过去了就是积极的面对。


最后,最最最重要的一点!在规定时间内上交论文,过时不候!
不管比赛难还是简单,千万不要输在规则!

送给大家几句话,我失利时数模学长告诉我的:

  • 吃亏最补脑
  • 人情世故,好好体会
  • 好事儿多磨

借此记录自己两年里参加数模的心得,虽然这次没有顺利进入集训队,但是这几次比赛带给我的,远远比奖项本身多得多,因为——数模是一种精神。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述



文章评论

    ShaunYoung11 访客ChromeWindows
    2021-01-22 0:53 回复

    看曾哥的总结,回忆和感慨万千。

    第一次美赛模拟

    下晚自习回宿舍路上,碰见曾哥,突然问我打不打比赛,当时一脸懵,完全不清楚有什么比赛。还好遇到大腿队友,曾哥当时打的我看着都感觉难受。不过最后还是都拿了满意的奖。

    校赛

    校赛的时候正值疫情在家,第一次线上协作,第一次和曾哥组队,我自制力不高,加上对题目不是很明白,比赛前也没有商量好战术,总感觉比赛的时候我坑了。也算是第一次写中文的数模论文,没有第一次写英文数模论文时的那股冲劲和字句斟酌的新鲜感,反而觉得中文论文的表达模式不如英文简洁清晰,甚至一度无法表达清楚自己的意思。好在word排版比较熟练,各种格式调整的还算得当。

    美赛模拟II

    第二次美赛模拟,很随意,本来不想打了,后来临时起意,找了队友,轻轻松松没怎么肝就做完了。不出所料没有获奖。(本来还有幻想至少能拿成功参赛奖的
    没拿到奖有点遗憾,不过好在学习到了失败的原因,从中汲取教训。

    集训面试

    临面试前,换了一位队友,向老师说明了情况,成功入队。保持了大学以来面试全过的记录(得瑟一下
    本以为通过面试是一件很幸运的事情然而……

    集训

    然而……美赛的集训,看似是老师对一群渴望白嫖100美刀的学生们进行选择,实际上,是双方互相的选择。到达清水河统一安排的寝室,集中在机房里用腾讯课堂听讲座,完全散养式的做模拟题,期间一直伴随着国内yq形势不断变得更加严峻。
    美赛集训?它的意义是什么?花时间买难受,最终得到区区100美刀的报名费?寥寥无几的指导,不方便的住宿、不方便的网络、不方便的吃饭、不方便的线下合作做题。
    本来以为我会很喜欢线下,三个人窝在寝室吹着空调,一起讨论、斟酌用词……但是忽略了,那种幻想中的舒服的比赛,是第一次数模美赛模拟时模糊的记忆,是身处上学期间,一切设施完备,对环境完全熟悉的情况。而非大家都开启了自由的寒假,食堂关门,寝室昏暗寒冷没网……再加上每天的“惊心动魄”。
    感谢从17号以来的集训,也算有所收获,学会了使用latex写作,用vscode写论文还真有点爽。感谢队友的理解,每人多出两百多块大洋,买三个人各自自由自在,值!22号做核酸,23号跑路,希望赶快回家,过个好年!

    收获

    对了,刚刚说到收获。这几天,我最大的收获就是了解了自己是一个什么样的人。本来以为自己会是一个工作狂类型的人,会为了比赛不顾一切。但事实正好相反。一些本令人困扰的难题迎刃而解,前路变得逐渐清晰。这就是最大的收获。

    在曾哥的博客评论区说了这么多关于自己的事,就是希望曾哥能考虑不要放弃这次数模的机会。校队集训只能说有舍有得,全看个人的选择。2月5到2月9,我们两队一起,用热爱的、或是阴差阳错就一直坚持的数模,在家里提前庆祝一个“小年”!

    祝寒假愉快!

      Mr_zwX 站长ChromeAndroid
      2021-01-22 1:21 回复

      怎么说呢,有孙哥这样的战友,真的让我感觉是我坚强的后盾,你说的这些也让我很感动和感慨,这里说的不仅仅是数模当过队友,更多的是在我学技术的过程中给我莫大的帮助。我对数模的态度,大家其实有目共睹的,逢赛必上,上就冲着奖去,为什么我有这个自信,其实我知道并不是因为我有多高的水平,而是我知道我喜欢建模,我享受那个痛苦但收获满满的建楼过程。这次没顺利进集训队,失落了蛮久,也无数次想过自费参加,但张神马告诉我“好事儿多磨,有兴趣走得更远,不着急”,也许上天注定让我把这次比赛缓缓,让我想通放慢一些脚步前进而不是未经培训硬着头皮上。我一直很看重数模,我喜欢建模带编程这样一种思考方式,也喜欢把一篇论文逐步精华的过程,我会考虑参加比赛,但是可能更倾向于暂时放放,我感觉自己没有准备好。我会把2021用来充实自己的大脑和心,去全面提高自己的综合能力,2021还有众多的挑战和比赛,如果我准备好了,数学建模,下次一定
      最后,感谢孙哥,好兄弟

目录