2018年数学建模国赛终于尘埃落定,第一次参赛,非常幸运地拿到了国一,在这里记录下这段难忘的经历,分享一些个人的看法心得。

其实严格来说,我从接触数模到参赛只有一个月左右的时间,我之所以能拿奖很大程度上要感谢两位认真负责、经验丰富的队友,当然我也绝不是一路躺过来的,我们每个人也付出了很大的努力。

作为计算机专业的,其实一开始并没有想到要参加这个比赛,甚至一度认为这比赛特别高大上,特别难,而我数学学得又不太好(虽然高数线代都是90+,但知道自己只是会做题而已),所以潜意识里有点不敢参加。但为了将来保研的时候能提高竞争力,就想拿个奖,听说数模含金量相对高一点,就开始关注起这个比赛。

后来阴差阳错地在老乡群里看他们聊数模比赛,也过去凑个热闹,认识了后来的队友。他们也恰好缺个编程的,就一拍即合组了队。

然后介绍下我们的队伍配置,我觉得是比较完美的阵容了。
队友A机械专业,负责建模
队友B应数专业,负责论文
我计算机专业,负责编程

其实我有看到那种三个都是理学院或者三个都是偏计算机或者信息专业的,我觉得这样不好(当然大佬除外),最好不同专业组合着来,各自发挥特长。如果让文案能力强的妹子来负责论文就更完美了哈哈哈哈。

当然这并不是意味着每个人只干一种活,首先自己负责的部分一定要保质保量地完成,然后最好对其他人的工作也能帮得上忙,毕竟大家是一个team。比如大家要一起讨论模型,一起找资料,一起改论文,配合默契很重要。
然后队友很放心地把所有编程工作都交给了我,这样他也可以专注建模不必多考虑其他因素,如果模型我觉得不能实现我也会告诉他。

接着讲讲我这次从准备到参赛的整个过程吧。我们学校是每年派出30+个队参赛,校内培训赛报名了90+队,所以还要刷人。不过两个队友已经有过一年多的数模经验了(队友拿过一次省一、美二),所以培训赛就是让我练手的。培训赛有八次题,前三题的时候我还在实验室实习,所以都是队友再弄,我水过。后五题是全程参与的,而且是按照国赛的时间点,三天一题,中间休息一天拿来讲评,那半个月还是挺累的。而且学校出了好几道大数据的题,有点押题的意思(虽然没压中2333),数据清洗痛不欲生T_T。最后学校根据八题得分排名选队伍参赛,其实我们培训赛做得并不好,所以参赛前还是有点慌慌的。后来也是赛前拿着论文去找老师,给我们指出一堆问题,主要还是在论文表述上的,模型解释不清等等。从培训赛结束到正式比赛的一周时间里,A整理各种常用模型,我看了一堆常用算法,备了些代码模板,B看了一堆历年的优秀论文,大家都卯足了劲冲国奖。

国赛那三天学校给包了一层宾馆,每个队一个房间,待遇真的很不错了。倒霉的是那天A的电脑居然坏了,开不了机,最后自己试了半天都不行,然后拿去店里修,那时候都已经放题了。然后我和B就在房间里看题找资料。
A题是隔热服,偏物理的,看了下第一题就是给了些数据,建一个回归模型,模型的建立需要查文献来确定,而第二题、第三题就是在此基础上的线性规划问题。这种题对第一题建模和计算的要求较高,也应该是有个固定的答案,如果没算对国奖的几率就很小了。

B题是RGV调度策略,典型的调度规划问题。第一题针对一道工序,第二题针对两道工序,第三题是在前面的基础上引入了故障情况,难度是越来越高的。由于A是机械专业的,有背景知识,而且A题感觉看了些文献也没有什么眉头,于是当晚十点我们就决定了做B题。

说实话这题刚开始觉得很复杂,因为小车移动、上下料、CNC车床加工零件都分别需要不同的时间,系统运行过程中会有各种时间差。第一晚我们查了些资料,一点钟左右就睡觉了,没熬夜。

第二题一大早起来就开始深入读题,一上午基本上把上下料这些的流程给弄清楚了,之前有过前车之鉴,如果题目没理解就开始动手,后面如果发现走错路就gg了。刚开始考虑当作TSP问题来做,作为线性规划问题用lingo来解,最后发现情况实在太复杂没法建模。之后也考虑过排队论,用遗传算法的思路来解,最后都否决了。所以第一天还是很痛苦的,搞了半天没啥头绪。在队友苦思冥想建模的时候,我就开始手工推算前几次的情况,看看能不能发现什么,最后还真发现,第一轮的时候当RGV给每个CNC上完料以后,第一台机子还在加工中,这段时间RGV根本动不了,而当第一台机子加工完成后,RGV过去换料,过程中其他车床也陆续完成了加工。可以这么认为,只需要对第一轮加工过程进行调度,后面都只是在重复第一轮,直到八个小时结束!但是这种做法并不妥,是迎合数据去的(CNC加工时间比RGV移动、上料的时间要多出一个数量级),不过倒是坚定了我之前的一个想法。

作为计算机专业出身,看到这题我第一反应就是操作系统的进程调度算法,FCFS、SJF、RR调度等等,如果能简化成一轮内的调度问题,那就相当简单了,代码也非常好写。但我之前有担心一个问题,就是"饥饿"问题,有可能会造成一个现象,就是在这种调度情况下,某台CNC永远处于闲置状态,然后CNC在其他几台车床间来回跑,这种情况是不符合实际的。但是明显这题的数据是给凑好的,不会造成这种现象。

最后我们采用了动态规划的思路来建模,初始阶段就是第一轮,通过搜索全排列四万多种组合,找出用时最短的一种方案作为起始,之后每一次调度都当作一个子问题,基于”最近距离先服务“的调度原则求解每个子问题,然后进行状态转移,以此类推。
思路定好以后,就开始了神奇的建模和编程分离的过程...因为我们都明白思路了,然后A开始造模型,写公式,我就用模拟仿真的形式去实现代码求解,解出答案填表格。

第二题两道工序更加复杂了,不过还是延用同样的思路,在此基础上假设CNC是严格按照第一道工序、第二道工序交替进行,来简化问题的复杂度(其实题目的意思也是如此)。然后A根据他的专业知识提出用生产节拍同步来计算两道工序刀具的配比。这题我是第二天晚上熬夜写完的,所以印象深刻哈哈哈。

第三题就是引入故障情况,我也没管队友模型咋建,按着自己的想法来写代码了。
最后做了个模型推广到多台RGV的情况,算是个小特色吧,为了拿国一有点小料。

晚上8点前先交了一波,然后开始改论文摘要,改排版,九点半交了终稿。然后吃了顿夜宵,美美的睡了一觉~

最后总结和分享一些备战国赛的经验吧:
1.参赛时间点:最好还是早点接触,第二次参赛和第一次参赛的简直就是天壤之别,我们学校拿国一的基本都是大二的。一年玩下来,这个比赛啥套路基本都摸清了,参赛就很有优势。如果是为了保研的话,大三参赛是来不及的,因为出成绩都11月了,保研早结束了。

2.关于队友:有大腿抱可以成长地非常快,但是抱大腿不是意味着躺,而且你得有一定的实力,大腿才会愿意带你。

3.学习资料:建模这块入门看姜启源的《数学模型》,其他的诸如《数学建模方法与应用》进阶也可以看,不过我是编程的,所以这块没怎么深入。算法这一块,去图书馆随便借几本MATLAB的书就行,入门的话可以看下中南大学的MATLAB的网课,还是很不错的。然后编程这块最好是计算机专业的同学来负责,学过数据结构、算法之类的课,不管是设计算法还是敲代码都很高效。

4.多读优秀论文:组委会将历年评选出的优秀论文都公开出来了,可以去学习一下(重点还是在于结构、格式、模型表述等方面,毕竟内容需针对题型,但形式的规整和美观可以模仿) 历年国赛优秀论文

5.想拿国奖,切忌无脑套模型、算法,尤其是遗传算法、模拟退火、神经网络等等元启发式算法,除非很熟悉并且能够定制化地进行设计,否则不要轻易尝试,会被评委认为是“不懂装懂”、“套用模型”、“为了建模而建模”。

6.摘要是重中之重:一份论文20页,评委根本没时间细看,所以摘要要好好写,务必写满一页。还有要提的一点是,用语不要太口语化,要让评委觉得这像是一篇科研论文,而不是小学生作文,毕竟第一印象很重要。举个栗子,“带入数据发现,最好的策略就是按照这样的方案不断重复:XXX”这样的说法感觉就有点口语化,改成“代入数据,计算可得对于任一阶段的最优调度策略为XXX”读起来就显得书面化一点。最后,摘要最好能腾出三个小时以上的时间来写,大家一起读一起改,避免一些语句的语病、逻辑错误等等,不要因为语文不好而错失国奖。

7.坚持!如果要冲击国奖,意味着暑假的大部分时间都要投入到备赛当中,当别人还在享受暑假,旅游打游戏的时候,你要苦逼地练数模,这时候你要能抵制诱惑坚持下去,同时也要对自己充满信心。我们队在校内培训赛的时候,成绩也只是中等偏上,完全不是老师眼里冲击国一的种子队伍,但我们相互之间也常常鼓励,一有机会就找老师揪问题然后改进。所以我想说,尽人事听天命,越努力越幸运

最后附上本组源码:赛题程序源码(matlab)
然后本人也整理了一堆网上搜刮来的资料,各种模型、软件、代码、教程等等大概20个g,我自己备赛用的就是这些,需要的可以自取,下载地址: 数模资料  链接:https://pan.baidu.com/s/1zNwtnq0-PS8X211aP7nj-w 提取码:ry3p

关于论文,因为一些原因暂时不方便公开出来,可以的时候我再放出来。现在回头看看其实写的一般,要模仿学习的话,建议还是看组委会公开出来的优秀论文,那些参考价值更大。

2018数学建模国赛回顾(国一)相关推荐

  1. 数学建模美赛、国赛真题训练——滑雪场的设计(原创)

    摘要 本文分析研究单板滑雪过程,设计出了能使熟练运动员最大限度产生垂直腾空的半管滑道形状,并结合运动员在空中完成翻转等动作的要求检测优化了该滑道的形状. 首先,根据调查所得资料,半管滑道是具有一定倾斜 ...

  2. 2018数学建模美赛B题翻译

    背景: 目前地球大约有6900种语言.全世界约一半人口的要求有以下十种语言(在大多数人)作为母语:中文(包括普通话).西班牙语.英语.印地语.阿拉伯语.孟加拉语.Portuguese.俄语.印度语.日 ...

  3. 2018数学建模美赛A题翻译

    在高频率(HF,定义为3 - 30兆赫),无线电波可以长途旅行(从地球表面的一个点到地球表面的另一个遥远的地方)通过电离层和离地的多次反射. 对于最高可用频率(MUF)以下的频率,高频无线电波(HF ...

  4. 2018数学建模国赛总结(A题/编程选手视角)

    2018数学建模已经告一段落了,先说说基本情况吧,我们队伍专业分别为:金融(A),会计(B),计算机(我),配置还算可以,他们俩会数据分析软件也会写论文,我可以写代码,画图.他们俩打过美赛(M奖),我 ...

  5. 数学建模美赛特等奖提名、国赛国一队伍经验分享

    数学建模美赛特等奖提名.国赛国一队伍经验分享 奖状证书 赛前准备 团队分工 实用软件与链接准备 学习方法 资源推荐(详细学习线路与资源将整理至本专栏其他文章) 算法储备 赛中策略 模拟复盘 评委解读 ...

  6. 2020年全国大学生数学建模竞赛喜提国二

    2020年全国大学生数学建模竞赛回顾与总结 多数人因为看见而相信,少数人因为相信而看见,愿我们都能坚持自己的理想,耐得住寂寞,才能守得住繁华! 今年,我们学校首次参加全国大学生数学建模竟赛,三天两夜的 ...

  7. 美国大学生数学建模竞赛赛题题型分类

    美国大学生数学建模竞赛赛题题型分类 美赛赛题应用模型 • 运筹优化类问题(规划模型.排队论.神经网络.启发式算法) • 评价类问题(层次分析法.聚类分析法.主成分分析评价法等) • 机理分析类问题(回 ...

  8. 美国大学生数学建模竞赛赛题特点

    美国大学生数学建模竞赛赛题特点 • 赛题灵活度高,内容广泛: 反恐.防灾.环境.健康医疗.交通.新能源等等: • 开放性大,评价类问题多且复杂: • 离散型优化问题多(除A题): 如:2016B太空碎 ...

  9. 写于数学建模美赛准备期间

    这学期稀里糊涂的与同学组队参与了数学建模美赛,原本是没有打算去参加的,后来大致是考虑到拿奖后可以加分而且拿奖的概率挺高,这对当代大学生(至少是我)来说非常具有吸引力.由于当时已经过了学院报名组队时间, ...

  10. 记第一次(失败的)数学建模校赛,脚踏实地

    记录第一次(失败的)数学建模校赛,脚踏实地.现在数学建模还没结束,但我已经可以开始总结自己的失败的教训了,具体的过程不想讲了,失败的教训有:首先,选题不利,在选择自己的题目上,过于快速,只是粗浅地看了 ...

最新文章

  1. centos6.8防火墙模块未加载
  2. 实操将TensorFlow模型部署成Docker服务化
  3. openMP的简单使用
  4. 最优化学习笔记(十九)——拟牛顿法(5)BFGS算法
  5. java oracle.sql.struct转字符串_JAVA oracle.sql.OPAQUE转String
  6. python redis模块常用_Python基础-redis模块使用
  7. python将图片转换为Framebuffer裸数据格式(终端显示图片)
  8. su root无法切换到root用户
  9. 常用的SQL注入语句
  10. AD怎么设置相同网络的线宽
  11. Android性能优化之页面优化
  12. List集合转字符串,逗号隔开
  13. C语言-初识C语言(4)
  14. Android aosp10,AOSP Android10 hook dlsym
  15. QGIS 1. qgis的下载和安装(Windows和macOS)
  16. react手脚架安装
  17. 回归生活:清理微信公众号
  18. 物联网时代的工控机防病毒/主机加固需求分析
  19. 农民伯伯喜气洋洋在阳光下唱丰收之歌
  20. DIV2K数据集官网点击但是不能下载的解决方法

热门文章

  1. css炫酷标题,分享几个CSS小众但炫酷的技巧
  2. AppStore跳转链接
  3. 使用OBS录屏有很大的电流回声
  4. 最新推出SAP ECC EHP7最新版本IDES带演示数据,带开发ACCESS KEY。
  5. Douyin-Bot 项目优化-改进,优化效率,本地cv2识别过滤
  6. Cocos2d-x初级篇之工程的创建和编译(windows环境)
  7. 山东大学项目实训十六——可控音乐变压器Controllable Music Transformer
  8. 思科交换机等设备基本配置
  9. .NetCore Mediator的简单使用
  10. arduino 红外遥控小车