Home

winterliu

我的数学建模(1)

Math-Modeling

前言

数学建模这里指的是全国大学生数学建模竞赛,简称“国赛”,在每年的9月中旬左右。同时还有美国大学生数学建模竞赛,简称“美赛”,在每年的过年前几天。美赛的时间对于想放假回家过年的人来说并不是太方便。

现在是 2018.10.4 ,距离 2018 年全国大学生数学建模竞赛已经过去 20 天,我想只有经过一定时间之后再来总结,那么剩下的东西才是真正这次比赛所带给我的,所以趁着国庆放假,我想对我这次参加的国赛做出一个总结。

本文结构

我将按照以下 5 点内容来对这次数学建模做出一个总结,包括对队友选择、前期训练方式选择、比赛工具选择、临近比赛时的准备、为期 3 天 4 夜的比赛时间的安排等方面。

  • 参赛准备
  • 暑期在家
  • 暑期集训
  • 正式比赛
  • 赛后总结
  • 资料

    参赛准备

    报名参加学院组织的数学建模培训是在 2017 年 12 月份左右,也就是在我大二的上学期末,现在回头来看,前后所跨越的时间竟然超过了 10 个月,这也是我在大学除了教官之外所花时间最多的课外活动了。因此对它也抱有很大的期望。

在大二上学期末,学院组织学生参加 2018 年数学建模比赛的前期训练,记得当时开会的地点在 D301 ,来了一屋子的人,老邹以及另外两个学长也来给我们讲了一下他们参加数学建模竞赛的总结。这次我们学院总共有 19 组参赛,其中 16 级共 13 组,17 级有 6 组。

前期老师让我们自学,内容主要是 MATLAB、Lingo、SPSS 的使用,还有一些常见的模型。我们每个人都要学习这些,我花了 2~3 周将老师给的 MATLAB 课件学了一下,后面由于大二下学期实验比较多,而且尤其是数据结构的实验报告太 TM 难受了,所以 Lingo 和 SPSS 这两个软件基本没涉及。其实后面我们真正比赛这两个软件也没用到,不知道是这个题目不需要还是我们太水了,我是写论文的,我们组软件的使用基本交给一个队友来操作,所以比赛的时候我就没碰过软件。

所以前期应该是把 MATLAB 用熟练,也不是一直看书上或者 PPT 上的教程,因为这样确实有点无聊,我想的做法应该是期间搭配着看一些往年优秀的国赛论文,看的时候先理清一篇论文有几个部分,各个部分的排版怎么样的,内容写的是什么,点到为止,现在你只需要对论文有一个接触,不需要花大力气去研究一篇论文是怎么写出来的。这样一是可以先熟悉一篇最后提交的论文到底是怎么样的,二是可以有针对性的利用 MATLAB 来实现这些论文中的软件使用部分,这样就不会做不下去。至于另外一些软件的使用,由于我们组今年没有用到,我也不好再做评价,我觉得软件的使用应该从论文入手,应为我们不是单纯的学习软件怎么用,我们的目的是利用软件来解决我们在解题过程中遇到的问题,这才是重中之重。所以再次强调应该以解决论文中问题为目的来使用软件。

前期的准备工作是磨砺人的耐心的,我们最开始来了一屋子的人,最后剩下的也就不到 60 个,所以想把一件事情做好,就得比别人更加耐得住寂寞。

当你学会了一些 MATLAB 的简单使用以及对论文有了一定了解之后,这时你已经甩掉了三分之一的人了,你会发现之前你所不敢触碰的数学建模其实就是针对生活中一些难以解决的问题,先分析,抽象出来,用数学方法将这种实际问题转化成一些数学公式,利用一些软件,结合一些前人已经研究出来的模型和解这些模型的算法,来解出这些数学公式,得出一个结果。其实现在你会发现有一点像解应用题。只不过我们中学时期的应用题是单纯的利用一些已经学过的数学公式,得出一个准确的答案。而数学建模则不一样,她的魅力就在她可以设计很多领域,在你拿到问题之前你可能连那个领域做什么的都不清楚,所以必须查阅很多相关的文献,才能对那个领域有一些了解,然后再做出一定的合理假设、分析、建立模型、解模型、最后来一些误差分析最好不过了,因为对于一个数学建模问题,每个人解出来结果都可能不一样,用到的模型、算法也不一样,所以针对自己所用的模型、算法等做出误差分析是很重要的。

暑期在家

大二下学期由于课程压力比较大,所以虽然说一直待在 D301,但是并没有做与数学建模相关的内容,而只是把那里当成自习室,所以大二下学期图书馆我基本上没去,一直待在机房。所以正式开始训练是在 7 月 20 号 Java 暑期集训完回到家里,那时我已经确定了和占文勋、周佳鹏一组,关于组队的事情待会单独讲。暑假在家,我提议应该每隔一段时间进行小组讨论,讨论内容就为自己所看的历年优秀论文。

占文勋先找出往前5年的一些国赛优秀论文,然后整理好,我们从 2017 年国赛 A 题开始往前看,一共 10 题,每题 2 篇论文,差不多每天看一篇论文,我们每隔 2 天进行一次视频讨论,我是负责论文,占文勋负责软件,周佳鹏负责模型,我们针对自己的分工来看论文,并且需要写出一些总结,在视频讨论的时候讲解给另外两个队友听。我并不确定这个方法对我们比赛有什么作用,但是我确定经过这 20 天的讲解,我的表达能力似乎有了一定提高,第一次视频讨论的时候,我记得我很紧张,清晰记得占文勋还让我不要紧张,说就我们三个人。然后后面讲讲就好了,不会紧张的结巴,偶尔也会讲个笑话。

暑假在家算是第一次真正对论文有了一次了解,明白一篇论文有什么,该怎么写。看完这往前 5 年的论文之后,也为我后面暑期集训、比赛写论文做了铺垫。

暑期集训

暑期集训时间在 8 月 14 号,早上 9 点我们参赛的同学到机房开始正式暑期集训,前面3天老师还是让我们自己看,所以我们小组就安排了我们组第一次模拟训练,我们在网上找了一个题目,然后花了 3 天时间基本把它做出来,目的是走一遍流程,然后发现在比赛中可能出现的问题。在整个 15 天左右的时间里,我们做了 4 次模拟,其中两次老师安排的,两次自己加的,但是最终发现模拟做多了也有坏处,就是可能出现厌倦心理,就比如我们安排的第二次模拟最后也以失败告终,一是问题模型我么很难创新,很难加进自己的看法,所以大多参考别人的文献中的模型,但是一旦我们找到了类似的模型我们又出现懒得去套用,因为不是真正的比赛,所以很难得出一篇好的论文。

经过暑期集训,我似乎发现所谓的数学建模一定程度上也有点糊弄在里面,换种说法就是绝大部分最终得出的论文其实是东拼西凑出来的,并没有什么真正的价值,也没有解决实际问题,只有很少一部分是真正解决了问题,得出了一定程度上比较接近的结果。因此,当你觉得自己写的论文并没有解决出问题的时候,要不需要慌张,因为这种问题本来就很难解决,比较好的是得到一个接近正确结果的答案。

正式比赛

比赛时间是 9.13 晚上 8 点到 9.16 号晚上 10 点,一共 3 天 4 晚的时间。在 13 号晚上 8 点我们拿到比赛题目,然后就在贴吧里面加了几个 QQ 群,看看别人的思路,这时候第一个晚上主要用来查阅一定文献先把题目选出来,我们在前面训练的时候一直是打算选 B 题的,因为按照往年规律来看,B 题相对于 A 题可能更适合我们组,A 题理论性更强,需要数信那边的同学去做。所以我们打算在比赛的时候选 B 题,但是今年的题目一反往常,A、B 题和往年的不一样,B题来看竟然理论性、逻辑性比 A 题更强,所以我们组就选择了 A 题。

查阅文献选题主要是在中国知网上看有没有类似的论文,可以借用里面的模型,对于初级选手来说这大概是一条比较好的路,但是厉害的组肯定会加入自己的东西,而且在论文排版、文字编写、最后的误差分析总结等方面会更加完善。如果找到了类似的论文那就很好了,没找到也可以换一种方式去找,比如找同一种类型的问题,但是可能是其他领域的,所以找论文的方式要灵活。

确定题目之后,我们组第一个白天早上 7 点到的机房,我们先各自去知网找 3 个小问相关的论文,各自针对论文做出一定的理解之后,然后开始 3 个人一起讨论自己找到的论文是否有用,和自己的一些看法。讨论完之后写论文的同学开始写问题重述等框架,模型的同学也开始在论文中找第一问的模型,并且抽离出来模型的主要步骤供写论文的同学更加快速的了解所用模型,从而可以更快转化成自己论文的东西。同时软件的同学则开始对第一问要用到的数据进行处理,然后一并汇总到写论文的同学那里,当论文同学问题重述等框架写出来之后就开始看模型同学抽取出来的模型,碰到看不懂的地方可以看对应的论文或者和模型同学讨论。模型看懂之后便开始针对自己的数模问题写论文,其中插入软件同学的数据。差不多第一问就这样解决。模型同学在找完第一问模型之后马上去找第二问模型,不需要等论文同学写完第一问和软件同学处理完第一问数据,三个人只有处于不同平行线上并行工作效率才最高,同时还要注意每个人都应该知道自己的手上任务是什么,完成任务的时间是什么,完成后数据给谁,这时候领导的作用就非常重要了。关于领导的作用我等会单独说明。

第二天早上来机房

熬夜干粮

倒数第二晚凌晨三点半我回去睡觉还在机房打算通宵的人

凌晨三点半回去寝室睡觉,左一是搞模型的同学,右一是快睡着的本人

最后一天老师请我们吃的午饭

比赛结束晚十点提交论文后

比赛完合影(1)

比赛完合影(2)

赛后总结

选队友

参加数学建模第一件事情就是选好队友,当然这是建立在你对旁边一起参赛的同学的了解的基础之上,所以我们开始时先尽量和不认识的同学组队,这不是正式组队,确定组队人员是在提交名单上去之前几天,也就是说在提交名单之前理论上可以换组员,但是这个时间越往后越不好,太早了太不好,而应该是当三个人都有了一定了解之后,各自大概有了自己擅长的方面,然后就确定下来。

选队友时如果一段时间之后发现三个人有方向性错误,也就是三个人的劲根本使不到一起,那么很可能需要更换队员了。就比如我一开始是和自己班上的另外两名同学组队,但是一段时间之后我发现我们三个人虽然都想用力,但是就是感觉不对劲,所以之后我也找机会和他们商量我可能要和别人组队。他们两个后面找了另外一位同学。我也找到了另外两名适合我的队友。

一篇论文大致分为论文、模型、软件三个方面,解决每一问时我们都是先确定出模型,然后等模型同学抽离出模型之后论文同学再转化到自己题目里面,并且软件同学根据模型同学说的需要什么数据去利用软件处理得到相应的数据然后给论文同学。所以可以发现模型是一篇论文的心脏,是汽车的发动机,软件的数据处理就是汽车的汽油,论文的写作则是负责开车的驾驶员。三个人都负责好各自方面整辆汽车才能开起来。一般来说车子动起来之后就需要方向,而接下来要说的领导则是方向。一般来说,搞模型的人或者写论文的人是队长,但是我们组负责软件的同学担起了队长的职责。对于我们三个人来说,这是正确的。

当你发现一组三个人在负责的方面上都很不错的时候,这时候才是走回了正确的轨道。

队长

自从数模之后我才真正发现一个领导于一个队的作用,我也从我们小组队长占文勋同学学到了很多。我从我们队长身上发现的队长的品质如下:

  • 距离
    距离也叫张弛有度,一个真正好的队长可以很好地处理好自己与队员之间的距离,欢乐时可以和队员亲密无间,做事的时候队员能敬队长三分,这就是距离。和队友打交道时时刻要记住自己是队长,酒也要一起喝。
  • 领导力
    领导力也是建立在正确处理好距离的基础之上,一个队长能够让队员听从自己,而且是心甘情愿的服从自己安排。自己的安排也要合理,要让队员明白自己的任务是什么,完成自己的任务的最后期限是什么,任务做完后结果提交给谁,如果是小组要让队员稍微明白整个流程,自己处于哪个位置上,达到终点还要做什么。也要时刻关注自己队员的状态,不是一味的发布任务,根据情况调整任务进度。
  • 远见
    皇冠的作用不仅仅在于可以高人一等,也在于可以在危难时让底下的人可以看到金黄色的希望,所以一个队长应该有远见,能够看到整个流程。
  • 听取队友意见
    我们组比较特别,搞软件的同学做了队长,所以这也因为软件之于整个流程的不熟悉,汽油虽然重要,但是他不知道整个车子长什么样。所以我们组前期由于队长的一些建议,我是写论文的,所以对整片论文的结构更加清晰,当我听到队长的安排之后,我给出了自己的看法,我们三个人也就此讨论了很久,最后搞模型的同学和我站在了一起,把队长撂旁边了。哈哈,最后队长也同意了我们俩的建议。

但是在这之后,队长还是队长,我想说的是,可能队长在某些时候会做出错误的判断,这是队员应该发表自己的看法,队长也应该结合整个队当前情况充分考虑队员意见。当发现自己不对时应该听取意见,但是也不要因此羞愧,而应该始终记住自己是队长,自己要有绝对领导力,队员当发现自己的意见被采纳时候也不要自大,应该帮助队长。这样,整辆车子才能平稳运行。

  • 其他品质
    在困难时比平常人更加乐观、坚持。

END

2018 全国大学生数学建模竞赛结束了,现在成绩还未出来,而且自己论文可能有被毙掉的可能,但是无论怎样,整个过程还是学到很多的,有一个美好的结果固然很好,但是若是没有,也不要不开心。

2018.10.6 国庆


winterliu
10/06/2018