数学建模国赛全过程回顾
Posted Z|Star
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数学建模国赛全过程回顾相关的知识,希望对你有一定的参考价值。
前言
距离2021年数模国赛过去已经五天时间了,本打算比赛之后的第二天就写这份总结。奈何比赛期间身体损耗过大,加上西安较大的昼夜温差,我成功患上了感冒,以致计划延期。国赛时间是从周四晚上到周日晚上,比赛完之后又有连续的早八课程。带上低烧、疲惫的状态上了几天课,直到现在身体才略有好转,方能做此总结。
周四晚上
国赛是在周四晚上6点开始放题,在五点多吃完饭,我就在电脑前等候。到了六点,密集的流量让系统直接卡住。再等5分钟之后,才顺畅地把题目下载下来。
国赛的题目总共有五道,其中DE两题是只有专科生能够选择,本科生只能选择ABC三题。看了半小时题目,很快就确定了选题。A题通常比较硬核,今年也不例外,物理题通常有标准答案,我们没有物理专业的队友,果断放弃;B题今年是出成了一道化学题,我们没有化工专业的队友,自然也放弃。C题是数据处理的题目,对于我们一个统计学两个工科的成员组成的队伍来说,最为贴合。因此,通过半小时阅读完题目要求后,我们就确定了选C题。
C题看上去应该是开放性的题目,没有标准答案。确定选题之后,我就先对问题做了拆解。把题干中的关键信息整理成表,以便后续处理更为方便一些。拆解完问题后,发现C题虽然表面上只有4道题,实际上题目非常琐碎,第一问至少包含两个小问,第二问至少包含三个小问……
C题的数据是官方给出的,给了两个附件,包含企业的订购数据,供货商的供货数据,转运商的转运数据。拆解完问题后,我就开始对数据做一些预处理,挖掘出了一些比较浅层的信息,并做了一些简单的数据可视化。再结合问题一,初步拟定了解决问题的大纲。问题一是评价类问题,比较常规。选定指标,选定评价类模型,把数据输进去就能解决。剩下的时间还搜了搜相关的论文,发现可供参考的论文并不多,于是便没看几篇。
周五
周五早上我还有两门课要上,课上人稀稀落落的,很多同样打数模的都请了假,但我不请假也影响不大。整个早上没听课,就通过纸笔勾画出整道题的思路大纲。之后,重新修改了昨天第一题定下的几个指标,并手推了一遍熵权法和TOPSIS法,一上午写了五张A4纸。
下午,和两个队友约在学校为我们比赛提供的实验室见面。我把5页纸给了论文队友让他开始排版,第一问的程序用的是赛前准备的模板,输入数据很快得到了结果。然后,我把程序给了编程队友,让他修改,毕竟程序算作论文的一部分,会列入查重的范围。因此,修改变量名和注释,可以有效降低查重率。通过一下午的努力,我把第二问的第一小问模型建立好了。然后抛给编程队友去求解,论文队友去排版。下图是实验室环境。
这天晚上,相对轻松一些,我们没留实验室,回去做各自的部分。晚上我又基本勾画了第二问剩余两小问的框架。
周六
周六一大早我就去了实验室,实验室人还不多。等我把第二问的模型全建完,两队友也差不多来了。编程队友告诉我,程序有bug,运行不了。于是,我又和编程队友研究了一上午matlab关于线性规划/整数规划的求解函数。解决完bug,程序开始运行。等我们吃完午饭回到实验室,差不多经过了四十分钟,发现程序还没跑出结果。因为这题是个较大范围内的规划问题,matlab要跑出最优解需要很长时间。
于是下午,我和编程队友把数据分成两部分,一人跑一半。跑到晚饭时分,终于把第二问的两小问跑出结果。模型方面,我也顺着思路,建了问题三和问题四的模型。晚上,又对模型进行了一定地修改更正,到了实验室十点关门,差不多所有模型已经建立完成。论文队友还排到第二问,编程队友第二问的程序也还没跑出最后结果。回到寝室,我又看了看遗传算法的内容。为了提升求解效率和准确率,智能优化算法必须得用。matlab有个ga的遗传算法工具箱函数,进行迁移最为方便。
周日
周日是国赛的最后一天。早上八点半,我和编程队友到达了实验室。论文队友迟迟未来,我连打十几个电话,总算把他从睡死的状态里唤醒。早上,为了加快论文队友的排版效率,我又独自写了摘要、问题分析、模型优缺点、模型推广。论文队友差不多排完了四个问题,又对一些图片进行了修正。编程队友的程序跑到中午,算是把第三问跑出了结果。
下午,我先审阅了论文队友排成的半成品。他用的是Latex排版,直接生成pdf文件。我对论文中的公式错误、错别字、逻辑错误等错谬进行了标注。国赛要求在晚上十点前完成论文,此刻距离截止还有7个小时。编程队友已经把程序结果跑完了,正把数据填到表格中。这次C题的附近中包含6个表格,格式有统一要求,需要把规划结果填入表格内。我又审阅了编程队友填完的表格,发现明显的问题。数据中的部分结果完全违背常识,显然,有个限制条件编程队友没添加进去。再排查bug肯定是来不及了,修改完bug,跑程序又要数小时,唯一的补救办法只有一个——人工修改数据。
此时的压力很大,我们队前面的队伍选择的是硬核的A题,他们提前半天就已经完成了论文,此刻正商量着晚上去哪里放松。我和编程队友顶着压力,分析如何修改数据。这个数据并不是简单地就能修改,两个表之间是有相互关联的,修改一个的同时若不修改另一个,用程序验证很容易被发现。之前,看到网上有种言论,说论文不进国赛对结果是不会验证,但本题显然不一样,结果的格式是有统一规定的,估计评委会用程序进行验证。
由于表格很大,一个人操作很繁琐。于是,我操作A表,编程队友操作B表,他报一个点,我再在相应行列进行操作。就这样一直操作到七点多,我们整理了一下内容。论文还在修改,我们先将半成品和支撑材料整理出来,先赶在八点前上传一次md5码,根据规则, 八点前可以无限次上传,八点到十点,只能上传一次。
没时间吃晚饭,饿着肚子干到8点多,基本上都完成了。最后,我直接根据之前审阅的标注版本,在latex源文件上进行修改,同时其他两队友再修改摘要。虽然比赛截止提交是在10点,但保守起见,学校都让我们在九点半之前提交。我们在九点一刻时,也差不多修改完毕,然后就将pdf论文和支撑材料的md5码提交。导出论文纸质版,吃饭的同时顺便打印出纸质版论文。
到了十点多,我们回到实验室,进行论文的提交。提交时,发现系统显示有3000多人再排队,等了5分钟左右,电子版论文提交完毕。然后,我们给学校邮箱也发了电子版论文,再将纸质版论文签名后上交到学校的数模办公室。至此,比赛结束。
赛后复盘
本次的C题选择人数应该最多,以我们学校的选题人数来看,C题的选择人数比A,B两题加起来还多。
省奖是根据参赛人数的比例分配,国奖仍是固定数目,这意味着选C题获得省奖的难度不变,但获得国奖的难度倍增。加上我们的结果数据存在一些问题,国奖自然是不奢望了。等出了结果再更新。
总之,这次数模国赛是我们第一次也应该是唯一一次参加。数模国赛在九月份,并且是以学校的名义报名,不能个人报名,因此参加国赛最早也只能是大二。在大二,由于基础不扎实,我们放弃了参加国赛的机会。现在大三,应该是我们唯一的机会。到了大四,各项排名已经出来,我们也没有参赛的必要了。同样,这应该也是我们本科阶段最后一次接触数模。
国赛全过程总结
参加一次国赛,就弄清楚了国赛的整个流程。下面我把我们学校的流程介绍一下:
1.五月,校内选拔赛。五一劳动节左右,学校会进行一次数模的校内选拔赛,30%的队伍会获得二等奖以上。得奖之后,进入校队培训的成功率大大提升。
2.六月,国赛预报名。学校会进行国赛的预报名,填表之后,会统一举行面试。面试形式是单独一个老师进行问答,首先需要准备三个人的队伍简历,如果有之前美赛、校赛的参赛经验,老师会问比赛论文的细节,如何做的;如果没有,可能会问一些常用算法的基本知识。(对于毫无经验的小白,可以看我博客内总结的数学建模专栏,涵盖了大部分的模型算法)
3.七月,国赛第一轮培训。面试之后,学校会保留200-300多支队伍,进行第一轮培训。由于处于暑假,第一轮培训是线上进行。每天基本上都有2-3节课,每节课都会有一个数学系的老师介绍一种模型,主要以理论为主,实操不多。时长跨度差不多大半个月。最后,会布置一次真题作为大作业实践,加上平时零零散散的小作业作为考核。(老师不会看结果,就看交没交)
4.八月,国赛第二轮培训。在第一轮培训之后,学校再筛选掉第一次作业没交齐的队伍,剩下的队伍需要自行联系指导老师,进行第二轮培训。第二轮培训有4次,每次都是做一次真题,指导老师给定题目,4天内做完,还要留出一天时间答辩。期间,会进行国赛的正式报名。
5.九月,正式国赛。看过上面的国赛经历,应该清楚,国赛是从周四晚上开题到周日截止。具体的时间轴参看下图。
国赛注意事项说明
- 1.国赛需要依托学校报名。上传作品需要知网开发的专用客户端,一般从学校的专用界面里可以下载。
- 2.国赛中,MD5码在周日晚上八点前可以无限次上传,八点到十点只能上传一次。MD5码的作用是防止作品被修改。上传完MD5码后,作品不能再次打开,否则,MD5码会发生变化,之后再上传作品,系统发现两次MD5码不一样,这样就会导致上传失败。因此,上传完别动论文!别动材料!这个最重要。
- 3.在周日晚上十点到周一晚上八点是论文和支撑材料上传的时间,尽量早点上传,否则对作品误操作导致MD5码变化就糟糕了。
- 4.电子版论文不能出现学校等信息。电子版是用作网上的盲审,出现学校信息就算违规,将会取消成绩。
- 5.纸质版论文必须附带前两页的承诺书和评审页,同时需要签名,上交学校。
- 6.第一页从摘要算起,理论上总页数不应该超过20页,实际中稍微超出一两页问题也不大。
- 7.支撑材料中的程序要可运行。
- 8.报名尽量不要用QQ邮箱,使用的话,国赛期间就尽量不要用QQ交流数模内容。不加任何数模相关群聊(学校的通知群除外),否则被人举报会直接取消成绩。小队间交流可以采用其它交流软件,比如,我们本次使用的是Telegram。
- 9.条件允许,尽可能线下交流,线下比线上的效率高很多。
- 10.更多技巧,可以进群交流。
我新建了一个关于数模/Latex排版/算法相关的QQ群,感兴趣的可以加入交流更多技巧。 QQ群:710413249
以上是关于数学建模国赛全过程回顾的主要内容,如果未能解决你的问题,请参考以下文章
干货 - 往届国赛建模方法 - 2021高教社杯 国赛数学建模