2023年全国大学生数学建模竞赛总结
- 一.参赛经历
- 二.组队建议
- 赛前准备
- 建模手
- 所需要具备的知识
- 编程手
- 需要具备的能力
- 论文手
- 论文手需要学习的知识
- 比赛过程
全国大学生数学建模竞赛的比赛落下了帷幕,很荣幸我能够获得国家二等奖,这对于我们队伍来说是十分荣幸的,接下来让我进行我数学建模比赛的经历的一个简单介绍,希望可以帮助到大家
一.参赛经历
我主要参加过5场左右的数学建模比赛,逐渐的了解了数学建模比赛,每一次参加比赛整个人都感觉到很累,尤其是自己是作为建模手和代码手两手抓的人,所以我参加的比赛基本上都是比较累的,但是每当下一次比赛来临的时候都会感到十分激动
二.组队建议
我大二参加国赛的时候是有位学长希望有人可以和他一起参加数学建模比赛,尽可能地去争取比较高的奖项,然后便找到了我,另一个队友是和我同届的,是学长的直系学弟,但是他本身基础不是很好,所以在国赛的时候我就担任了建模手以及编程手的任务,学长负责写作,所以在这个时候我就逼自己努力成为团队的核心成员
后面参加美赛的时候,是和自己院的同学一起参加的,这一次比赛当中我主要担任了写作的排版等问题
后面我就没参加比赛,第二次参加国赛的时候,就主要是找了两位同级的同学,两位同学都是有比赛经验的同学,我认为他们因为经历过参加数学建模比赛的过程,都体会过被自己队友坑的过程,所以我就和他们组队了,事实证明他们确实也在国赛的时候积极参与,积极讨论
所以我给大家在选择队友的时候给大家一些建议:
1.
1.
1.首先第一点,我们要明白不是我们选择队友,而是让队友有选择我们的理由,如果我大一的时候不努力,那么学长也就不能认识到我,我们也就没有办法组队了,所以大家一点要明白一定要提高自身的能力,才能有更加合适的队友会愿意和你组队,这一点十分重要,因为很多有能力的人都希望自己可以拿到更好的奖项,所以如果是带两个什么都不会的队友是很难的
2.
2.
2.在比赛之前要对这些人做一定的了解,一定要找志同道合的朋友,最好就是有参加过数学建模比赛经历的同学,这样的话大家才能相互理解,一起努力
3.
3.
3.优势互补,大家一定要各有所长,队伍的每一个人都应当对数学建模比赛有属于自己的理解
赛前准备
因为在学习数学建模相关内容的时候,我是建模和编程两手抓的,所以我在这一方面有一定自己的理解,在这里给大家简单分享一下
建模手
建模手在整个比赛的过程当中是主要进行问题解决的,他基本上是需要依靠自身的能力去建立与题目相吻合的模型,建模手所提出的模型关乎着整篇论文的逻辑是否连贯,是否可以让队友,以及评委看得懂等重要作用,所以基本上建模手都是一个队伍的核心成员,也就是队长,建模手在设计模型的时候一定要尽可能的保证所查找到的资料是合理的,是符合题意的,这样才能在保证整个比赛的过程当中可以有信心去做好,因为当我们在选题的第一天晚上就需要确定好自己选择的是哪一道题型,如果在做题的过程当中发现有的问题无法解决的时候,很有可能会有队友存在更换所选赛题的想法,此时建模手就应该要力排众议,坚定信念地去做下去(当然,这也是因为其实可能换题了也会发现自己在这方面是不太擅长的)
所需要具备的知识
建模手需要的就是要进行对算法方面的学习,我这里建议和推荐大家可以看清风建模的视频,因为目前来说,数学建模做得比较好的就是这位大佬,而且价格上来说是非常值得入手的,当时我也是跟着他学,从拟合,再到微分方程,然后再到机器学习,对一整个数学建模当中可以用到的算法都有了一定的了解(当然不是全都看懂了的),在这门课程当中的话,会涉及到比较深的数学理论知识,比如像假设检验,多重共线性等一些非常专业的术语,这些其实我在大一看的时候也是不是很能理解,后来才知道其实这些知识也是到了我们大三才学的,所以不会也是很正常的事,大家不必太过于灰心,因为清风建模也是更加偏向于实际应用,所以他会往怎么应用这些模型的方面去讲,大家可以尝试自己去做
虽然我在学习的过程当中是学的比较快的,就是基本上看一遍,但是也是对整个数学建模的内容有了一定的了解,做到了理清思路的作用,
不过有一点需要强调的是,清风建模教的内容大部分都是统计学方面的内容,所以是更加偏向于像国赛C题的,这一点大家要做好考量,因为做C题更多的是数据处理方面的内容,大家在做的时候一定要看自己是否擅长这一方面,我们当时就是参加省赛,做了统计方面的内容,但是结果其实不是很理想,因为我个人是更加偏向于有代码理论支撑的题目,但是统计方面的题代码量相对来说比较少,所以我们小组后来也是做了优化相关的题目多一些
那么再推荐一下姜启源老师的<<数学模型>>第五版(好像是更新到了这个版本),还有就是司守奎老师的 <<数学建模算法与应用>>,而且司守奎老师在B站上有账号,上面有许多值得学习的视频,连接放在这里:数学建模老师,这两本书里面包含了许多的基础的算法内容,大家也不用太焦虑,大家可以找到自己喜欢的,以及擅长的方向去学习,比如说我对优化算法方面的内容感兴趣,就会挑着相应的内容去看,可能有的同学会觉得这些书可能太老了,模型太简单了,就会选择不看,不过我必须告诉大家,越是简单的模型,越是有需要去理解的,不要小看数学建模书本上的内容,虽然它可能很老,很简单,但是对于国赛来说,评委会比较看重数学建模当中关于如何通过更加简单的算法去处理复杂的问题,网上有很多启发式的算法,但是其实对于国赛来讲,这些智能算法其实真不一定能比简单的模型好到哪里去,因为评委认为用简单的方式去完成的问题,就没有必要去使用更加先进的算法
编程手
编程手需要完成的作用就是要把建模手所提出的内容通过代码的方式进行可视化以及推演,这需要编程手擅长一到两门的编程语言,有较好的数学功底才能做到的,其实我本人在学习的过程当中因为认为光理解建模的内容是完全不够的,所以我也学习了不少的编程语言,其实简单学习过后大家会发现,很多编程的逻辑是一样的,无非就是判断,循环这些内容,与蓝桥杯这些算法比赛不同,数学建模不需要代码的运行效率有多高,更重要的是代码对建模内容的实现,将内容实现出来,可以使得大家的内容更有说服力
需要具备的能力
编程手要根据自己所擅长的编程语言进行数学建模的实现,首先推荐的就是matlab,因为它在矩阵方面的处理是有巨大的优势的,还有就是python,python的好处就在于学起来很快,可以较快的上手,我在建模手当中提到的清风建模就有matlab的建模教学,当然其中还包括了像spss,stata等这些数据处理方面的软件教学,如果需要进一步学习的也可以去看清风建模,下面是一些python入门的推荐视频:
- Python教程,油管年度最佳作品,零基础小白6小时完全入门
- Python教程《零基础入门学习Python》最新版
- python数学建模算法与应用
论文手
论文手也是十分关键的一个位置,因为最后数学建模要求提交的内容就是一篇论文,即便建模等过程的时候大家都完成的非常好,那么论文没写好也是白扯,所以大家一定要重视对于论文的润色,其实网上有的人说可能论文手可以找不是理科专业的同学,其实我认为不是这样的,因为论文手十分需要理解能力,他需要能够理解建模手以及编程手完成的具体内容是如何的,所以他不能理解相对来说比较抽象的内容,很容易在写论文的时候曲解建模手的意思,最后导致要建模手即兼顾建模又兼顾论文的编写,这是十分麻烦的
论文手需要学习的知识
因为我没有主攻论文方面的内容,所以我只能给到大家一些论文润色需要学习和准备的内容,首先,论文手必须要学会怎么使用 l a t e x latex latex这个公式编译器,可以使用mathtype还有axmath这些软件去学习,有的要付费,有的不用付费,大家可以根据自身需要去学习,在这里推荐一个latex在线的公式编译器,是一位up在几年前完成的,可以通过这个网站去了解latex公式
- latex公式编译器
- Axmath官方演示
至于论文排版的内容的话,大家可以上网查询一下,这方面我就不做过多介绍了
比赛过程
比赛的总体流程我简单说一下
- 第一天:下午六点钟发布题目,大家要在这一个晚上确定好自己队伍选择哪一条题目,然后根据选择的题目查找需要的资料,需要的话找老师帮忙查找自己需要的资料,此时论文手可以进行问题重述的编写
- 第二天:上午要完成对第一问的建模,因为第一问相对来说比较简单,花费的时间不会太长,然后就是编程手完成第一问的编写,这个大概要花费到一天下午,此时建模手就完成第二问的建模,要尽可能的保证第二天可以把第一问和第二问完成,然后要有对第三问的一个大概思路
- 第三天:第三天早上要完成关于第三问的内容,总体来看一整天,从上午到下午都是用来完成第三问的,第三天晚上的话就要去尽力的完成第四问,这一天晚上可能要熬一下夜
- 第四天:最后一天冲刺,无论怎么样,都应该保证自己的第四问要完成,保证论文的完整性,要空出一个下午去实现和完善论文,写摘要,在晚上八点之前完成论文的提交
大概就这些,就算大家没有像上述的流程一样完成相应的内容,也不要灰心,因为数学建模对于问题的解决不一定像我说的那样那么顺利,就比如其实第三天的晚上我们小组才确定好第三问的思路,才开始代码的编写,所以大家的流程往后退也是很正常的,不用灰心
最后预祝大家都可以取得优异的成绩!!