Skip to content

2025 国赛A题总结

约 4407 个字 1 张图片 预计阅读时间 15 分钟

前言:

这是一篇流水账,写于国赛刚比完的那天,原先是单纯为了纪念一下国赛的准备和比赛难忘的经历,在仔细想了之后感觉发出来似乎也无妨, 可以为之后参加数模的同学们提供一些经验。另外,由于之前更多是纪念/复盘性质,因此这篇文章更多是一个流水账,也可以看个乐子。

友情链接:

【数学之韵】数学建模竞赛经验分享 & 吐槽,数模 https://www.cc98.org/topic/5855651 复制本链接到浏览器或者打开【CC98】微信小程序查看~
【学习天地】2025数学建模国赛经验+资料 A题 省二 https://www.cc98.org/topic/6307085 复制本链接到浏览器或者打开【CC98】微信小程序查看~

👆我认为大部分内容上面两篇都已经写的很全了!

Part 1 赛前

Motivation:

当时有纠结过是否打数模,其实去年暑假的时候理应是开始打数模更好的时候,但是当时的我觉得“数学有什么意思”。,然后就是也错过了美赛了,因为听说这玩意是美工比赛,我寻思我又不会美工。。

然后就是校赛了,校赛是@Gezellig 来拉我组的队,但其实校赛的体验一般,当时一直跟着队友在做,而且由于我的理解能力确实不强,某种程度上跟的“有点吃力”,而且当时分工体验感觉有点问题,本来打算国赛的时候再调整一下分工的。最后校赛我们也是做了第一问的解但是没形成完整的作品,当时也实在太忙了。

国赛因为队伍的临时变动差点错过了报名,最后临时喊了朋友来一起比赛,还是很庆幸她愿意一起来玩,否则的话估计会找一个不熟悉的队友,也许会更累 QAQ

数学基础/数学建模基础:

我们的专业是信工/机械,因此修读了大部分工科数学都会修的那些课。大二秋冬都修读了工高4.5学分的数学建模课程,但是我学懂的不多上课的大作业是做2024年的数模C题,当时我和@Gezellig 就是队友,这也是完整做的第一道数模题。然后就是春夏学期修读了计院数据结构基础。LaTeX的话我个人感觉我比较熟练,但是我并不是写论文的

Preparation:

校赛的时候拿到B题,第一想法就是写线性规划,当时我提出用启发式算法(现在回头想想,可能那道题反而没啥必要),三个人研究了半天也没搞会。也就是从那时候我们决定说要在国赛前准备一下,“总不能只会线性规划”吧。所以组上队然后大家都忙完一阵子之后,就简单开了一个会看看怎么准备。

不过感觉数模“临时”好像确实没啥准备的,当时搜了一些知乎帖子,最后和队友商量读了一些论文,然后每周固定时间交流,大概就是大家读同一道题目的不同论文,每周我们都会做笔记然后分享,从解法到论文的撰写都会有关注。校内培训时谈神当时讲了一次动员会,给数模题型分了个类,就按照类别一篇篇过过来了。其实读论文的时候也有感受,像AB物理类的题目要花大力气才能看懂,相对来说C就直接好懂很多。后期我们甚至主要读C题了,因为感觉AB题大概是看了也不会做。

其实最后整段备赛和看论文过程中学的知识也不是很多,可能反而是第一篇仔细读的论文...关于dp动态规划,一些简单的面向对象知识,简单到不能简单的数值计算?但其实也看的不是很深,最终其实主要看的还是“什么问题——对应什么方法(基本模型)可以解决”。其实看论文好像更多是怎么去拆解一个题目,或者怎么开始想这个庞大的问题(毕竟数学不好,面对一个复杂的数学问题,或许手足无措会更多一点吧)。

关于分工:

其实我认同无日或忘前辈在帖子里说的,没必要非常明确的把工作分为“建模、论文、代码”三块。但是当时想了一下,必要的分工还是要有的,所以当时我们确定的是我主代码,@Gezellig 主建模,@WinkyKing 主论文。

从这次比赛的情况来看,由于@WinkyKing 主要负责论文工作,可以在我们完成了第一问,开始想后几问的思路,开始解题的时候,就开始花更多的时间在画图、完善思路等工作上。一个非常实际的情况是,在实际完成工作的时候,思路往往是不完整的,有些为了省时间选择了“调库”,这样的工作搬不上台面,而论文也不是简单的复述思路,流畅的表达和完整的思路链真的很需要写论文同学的心血。到最后也很佩服@WinkyKing 最后能把这些东西串的这么好,尤其是第一问,佩服的五体投地。

说回建模和代码,也许是之前有一些合作基础了(数模的小组作业、校赛),无论是火花杯还是国赛,和@Gezellig 的合作是非常愉快的,我是一个瞎想瞎试又没啥效率的人,而当我乱搞的时候知道@Gezellig 一定会在推进度就觉得很安心(bushi)。其实我们并没有把建模和代码部分分开,两个人差不多是一起搞的。有的时候是两条路都尝试,有的时候是改接口一起调代码,有的时候就是卡住了一起想咋办。其实合作还是需要沟通和协调,一个很基础的逻辑就是“我们什么时候应该做完什么事情”+“我们三个人目前分别在解决什么问题”,在这点满足的情况下,怎么分工倒是其次。

火花杯:

学校的数模基地(其实主要负责的只有谈老师一个人)在八月初参加了八校联合的火花杯,当时觉得有“互评”环节可以看看别人的水平,然后也可以磨合一下队伍的分工,于是就参加了。先简单评价一下这个比赛:有点草台,出题上,也许是由于企业的参与,似乎数据分析的题有点偏多,更难评的是很多题目有点表述的不清不楚的,一开始还以为是自己的问题,直到看到了比赛网站上长长的勘误和朋友私下里的吐槽评比也很草台,一个很大的参考依据是队伍的互评,但每个人都要评九篇文章,而且还没有附录和代码,最后实际上根本没有心思仔细去研读论文,分数和评语都洋溢着草台的感觉...

这个比赛其实我自己在技术和心力上还是重视的,比完赛还是感觉大松一口气,但由于这毕竟是个试水赛,也不想在这种事情上熬夜,时间安排上是松弛的。我们一开始先打算做B题,但琢磨了很都看不懂这个题目到底是什么意思,最后拥抱了机器学习。C题主要是机器学习+数学规划类的题目,其实挺常规的,在这场比赛里我的收获是终于看懂了譬如kNN之类的最基础的算法,以及也搞懂了特征向量之类的到底是什么(没错,我就是这么愚蠢,以前对于dl和ml这些唯一的理解就是梯度下降)。我们当时先让学过人工智能基础的@WinkyKing 完成前两问并且写论文,我和@Gezellig 写第三问的规划并且求解,中间我们也花了点时间一起确认了第二问的方法。这道题的规划写起来还是有一定难度的,最后一问可以卷的空间也挺大的,开始搞最后一问当时只有一晚上和一上午了,所以最后我搓了一个简单的上座率预测器糊了上去。后来互评的时候发现其他组是去爬了或者采用了一些其他数据集,还加了很多约束和不同考虑,所以完成度会差一点。最后我们的作品是最后一分钟交的,当时还没来得及调整参考文献,吓得不轻。后来我们国赛的时候,就决定提早半天的预算,至少交保底并且至少提前一小时交作品。

当时比完赛其实我是不完全满意的,不满意的点主要是当时很多没来得及三个人一起确认的部分,比如论文的排版和呈现,比如第一问。而且当时线上的合作有点黑盒,不知道队友在干什么以及搞到哪里让我心慌。所以比赛完之后我先自己复盘了一下要沟通哪些点,然后主动提出在某次一起开完会交流之后花了一小时复盘了一下。复盘之后提出来要调一下我们现在的latex模板,以及讨论了一些解决问题和合作上的点,虽然现在看来很多都是因为由于线上的方式真的不太适合合作。

LaTeX

暑假结束前折腾了一下vscode+wsl+live share+latex workshop,主要是简单调整了一下格式,然后利用之前的一些经验把配置的代码摘出正文。虽然这套工具最后并没有完全起到想要的效果,但还是推荐一下,其实就是本地编译tex,然后利用live share插件(相当于代码的共享文档),大家一起改论文,免得互传。(但是vscode也经常卡出去,导致@WinkyKing 摘要写了三遍orz)剩下有几个tips:
① 最好三个人都本地安装一下latex以及latex workshop,这样方便一起预览pdf文件(vscode live share的pdf预览是基于本地的latex的)。
② wsl+linux编译会增加latex编译速度,但是也许是由于wsl不支持NAT代理,登陆github还有开始live share需要在vscode里配一个代理(当时折腾了很久), ~~有机会一定要学一下计网(下学期好像开网络基础)~~
③ 模板其实没什么,网上也很多,但是实际使用中,自己写的舒服也是很重要的一件事情。以一件事情为例,在附录贴代码其实是一件比较繁琐的事情, ~~非常增加tex文件行数~~ ,后来我想起了mem大佬做的typst模板,也找到了lstlisting宏包的有一条命令实际上支持直接从文件夹里复制代码进来,这样整个tex的编写在附录上就清楚多了。其他就是可能善用input newcommand这些,我也只是兴致上来了随便玩玩而已

资料

感觉数模这个比赛的资料是远远过剩的,无论是LaTeX模板,还是各种代码,抑或是论文等。可以参考前辈【数学之韵】数学建模竞赛经验分享 & 吐槽,数模 https://www.cc98.org/topic/5855651 复制本链接到浏览器或者打开【CC98】微信小程序查看~

Part 2 比赛复盘

(比赛中能写的其实不多了,随便写写了)

选题

(经指正去年也是A远比BC多今年A33B15C17)

这个选题真的狠狠打我们脸。主要我们一开始是看了一些题目觉得自己肯定做不出来AB两道题,所以看了不少C题。但拿到题目的时候,看下来第一感觉是这次的B题内容比较少,只有三问,前两问队友知道怎么做,但是大家对第三问都没有思路;C题的工作量看起来有点大。看完题之后当时剩下两个队友对A题都没啥感觉,而自己当时确实感觉A题是好典型的几何题,和队友讲了一遍题意。当时确实有点低估2345问实际操作时候的难度,以及感觉B题的第三问有点悬,C题工作量太大,所以最终做了A。

根本料不到大家都做A我还以为A挺难的呢。

另外一个私心是我觉得像A题这类的几何类的题目比较容易做出新意,规划类的问题也比较好上手,我觉得我的几何脑子还算可以,想搏一搏。

时间安排

这方面大家的安排应该都不太一样,感觉写太多细节不太好,就这么简单记录一下好了。

其实我们之前对自己并没有那么多自信,之前设的目标也不是那么高,像这次5题的题目,希望能够好好完成前几问就谢天谢地了,完全没想到最后还是能做一个合理的解。

我们9.4差不多三个人把第一问的思路做出来了,然后9.5,@WinkyKing 把第一问的论文写完,我们两个把前三问做的差不多了。
9.6我们两个人卡在了三四问上,把三四问做完,论文写完,第五问糊上去,凌晨四点交了初版
9.7早上起来算是灵机一动了把第五问改出来了,下午五六点收工收摊。

总体感受 丨 一些碎碎念

比赛前我们几个都挺放松的,前期多少做了一些准备了因此就没有在赛前临时的看更多的东西。加之刚考完托福真的想摆,就硬生生摆了有三天

这里还是很感谢学校 ~~金主爸爸~~ ,由于我们是跨校区参赛,又恰好是其中一个人在zjg,学校为我们订了9.4-9.7晚上的住宿,整场比赛的通勤、吃饭、做题讨论等等,都非常非常方便。

熬夜是避不开的,但最后一天直接干到四点也是真的没想到。不过我觉得我们这次在倒数第二天先交一版作为保险还是很明智的,心里一定要有一个底。

三个人的配合是非常重要的,我对和队员的配合超级无敌满意,是最理想的状态,既不感觉自己很没用而感到自卑,也不感觉拖的很累。

最后最后,国赛是一件情绪输出和脑力消耗都很大的运动,国赛结束之后感觉真的精疲力尽...但是完成很有成就感,而且结束之后好好睡几天就缓过来了。

赛终 | 一些想法

其实在交论文的时候预料到自己这次的题目应该做的不错,至少把五问做到底了,我个人的感觉挺好的,但完全没想到能混到省一国二这样的名次。名次出了之后有很多讨论,但感觉作为一个浙大人,其实很多事情似乎没法改变。我们最多能够感慨学校的数模体系确实是谈老师在组织在支撑,也坦然接受开卷情形下,必然存在枪手代考等等事件,并且从火花杯评语开始,就能感受到,数模作为主观性很强的比赛,他的随机性确实很大。记得去年数模上课的时候,谈老师当时在上课的时候,开玩笑地聊起过一个推国一的论文的事情,当时听的津津有味,没想到一下子就跟自己相关了。

我觉得数模这件事情并不是以评奖一概而论的,诚如前辈所述,数模课程和比赛的差距还是挺大的,因此,在学数模的时候没感受到的乐趣,在打数模比赛的时候可以一点点体验。数模比赛本质还是一个“建模”的过程,更多是思路和细致全面的思考,而不是考察那么多数学知识,我们学校少了一些培训,但只要花时间摸索,也可以一点点感受到。在追求更好解的时候,也能浅浅地接触一些优化的思路,感觉还是很有意思的。后来在学习矩阵论、机器学习的时候,有时也会换一种角度,去想这个东西是用来建模什么的、这个东西是怎么建模出来的,多一种思考的维度之后就更了解学它到底有什么用。

最后终于相信了“一次数模受益终身”。

后记

|350

Comments