小白也玩数学建模--引! D' U. x$ _. Z6 l& `0 m: }9 T% Q
0 h- B. m; T& H6 B. t9 F
小白也玩数学建模–引3 V/ U7 U$ x" c3 L# X, M c
" l# m( e/ ?; {, o* c1 K
概述3 A1 ?- i% _+ F( v4 T
. c1 U! T4 I z# F先大概介绍一下数学建模是个什么玩意吧.数学建模,说白了就是让你用数学和编程解决”高档”点的应用题. , R- h4 S2 ^! R% ^1 ~
但它在各方面都跟我们传统理解上的数学题不大一样. # I. ^& V. j3 Q9 J一般一个大题会分3-4小题,难度逐渐上升,而每题都没有固定的解法,其中你解决问题过程就是建模的过程,而产生的的一系列解决方法就是传说中高大上的”模型”了. 0 D. c; Y% m+ `' e: J
数学建模比赛算是一个开放性很高的比赛了,3人一组,你们可以运用各种除人力以外的其他资源,其中计算机和编程就是必不可少的了.同时你们有两个题目可以自由选择.中国赛一般是9月中旬开赛,从第一天上午八点比到第四天上午八点(3天时间),最后交论文等成绩,江苏这大概是10月份会出初定的结果,11月份结果就敲定了.- n7 Z6 Q$ D! Q% ?' E, g, O* H
! ^5 Y i v! G o: f5 \$ d, \4 W. t
个人经验 : k$ j6 H c/ B X) F % Q; B$ h6 L. V7 w* n组队&职责分配) g! w, v9 z* P1 m9 {( ~2 w1 y
) ]3 P V4 J) ?( S0 w
首先就是组队问题,3人一组,直觉上是强强联合比较好.但实际上不是这样,最好是一个实力强两个实力稍弱点.或者两个实力强带一个弱的.主要是怕三个大神谁也不服谁,到最后就出事了.而有打酱油的在适当时候就能充当润滑剂了(一般比到最后一天心情都超差的).* K6 Z2 `3 m* ?) D' Q
1 y v: R' ?/ q
然后就是一个职责分配问题了,三个人,不多说,一个负责建模思想,一个负责实现,就是编程,还有一个负责完成论文. ! I0 X9 P" m1 x' ^ 3 @& v4 U# V6 C0 M负责建模思想的人需要对数学感觉较好,看了题要有发散性思维,也要能往已有的模型上归类.思想要严谨,这很重要,我们比赛最后一题就是思路有了问题,导致最后没做好. # g1 R0 x! B) w1 p7 h/ _: `. t7 `( }: j- ~* i% h
负责写论文的要及时跟进,前两天不要以为没事做.抓紧时间把模板搭好.平时一定要尽可能搞清楚解决问题的思想,尽可能把思想体现到论文上,练习时就要多看看得国奖的论文,看看他们文字怎么组织的. & A5 Z4 g" _% ^
排版要漂亮,用词尽可能高大上一点,我之所以要求那么高是有原因的,之前有个朋友,他们三个人选了一题,都不会做,最后硬靠论文吹出了国二.# u% X3 w1 M- r/ e
# ?3 |; q. e2 H$ m& U A
重点说负责编程的,因为本人就处于这个位置,经验也比较丰富.首先,作为一个负责实现的人,手速一定要快,不要人家有个思路,你半天还没把它写出来,自然也就无法验证正确性,更别说添砖加瓦了. % M- v$ [ E8 T& b7 F0 z, Q0 }
所以说,记事本党的就算了,Matlab, Mathematica甚至python,挑顺手的用.像lingo和spss我就不怎么用,而matlab的YALMIP工具箱结合gurobi解决优化问题既优雅又有速度(我极力推荐gurobi,针对个人和学院免费,虽然变量有限制,但是感觉你的变量超出那个限制,一般是你方法选择不当).况且matlab语法,还可以套其他算法. 6 f3 i5 e8 ]( G- Y& @# }说到算法,作为一个搞编程的,算法是不能丢的,这几年出题都往ACM那边偏,没事学点DFS和DP都是有好处的,再有就是工具箱的问题,之前练习时记得代码的重用性,这样比赛时你就有一套自己的函数库了.像那些最短路算法,层次分析我都是备好函数库的,不然比赛现写来不及的. r) _( F6 U6 f$ b# t; c再有就是软件版本问题,不要装x去装最新版本的语言,不然等你用别人代码的时候你就等着出BUG吧.总之,个人感觉这个位置还是蛮重要的,实力强的话能为建模的人省很多力气. _6 |! G+ }+ t% C( J2 x9 j
+ V6 K2 ~% Z/ b6 a- A( U& u
比赛经验. k* N U, B! f
+ [, m$ q$ P, Q
之前做练习时多练点综合性的题,因为这两年不怎么喜欢出数据分析题. ) l; C' V+ d: R# E( g
比赛三天时间,第一天上午务必把题目确定好,每道大题的第一题普遍比较简单,不要被骗了(不信自己去做碎纸片拼接的那题),一定看完四题后再做选择.而一旦敲定就不要变了.下面就是基本假设了,这个地方很重要,一定要量力而行,假设多了,自己作茧自缚,到最后题目变成小学应用题,结果自然不好.假设少了,一会手速没跟上,题目做不完,也是不好的. : S6 p. C# v5 w# ?; W/ j! \6 Q9 u
到第一天晚上第一和第二小题搞完算是比较好的情况,一般是2点钟睡觉. 4 Z4 x2 D3 o! v: N8 ^* c" i8 M/ o
一般第二天直到第三天白天是比较平静的. - c0 B) `$ @* i0 h. B) u1 o4 e
直到第三天下午,研究最后一题,难度达到最大,晚上一般是要通宵的,而且心情也不是很好.这时大家一定要互相打气, ( J. v q- K! {& H2 Z
不会就吹,先搞出个结果,管他像不像样,其实大家都不会写,有总比没有强. 5 I; K3 a3 @$ V- V! k6 i! \- ]+ u) B% ]1 G- D" G
最后说几句; {$ p; j w$ d- g2 R
/ S, A8 U2 o4 y4 E$ D- z# X8 k, u
真的很感谢我的两位队友们,不论自己会不会,都能跟我一起装逼到最后orz.我还记得最后那个负责建模的没事做帮我们打苍蝇,而没有一个好写手也不会让我们拿到国二的好成绩. 5 g, a( Y/ {. n5 y% ^
参加数学建模还是能学到很多东西的,其中一些实用的算法,在信工院我无法学到.同时它极大拓展的我的知识面,其中涉及到的经济学,建筑学一系列知识方便我以后从事各方面的研究工作. 4 o$ g6 g* W2 _! {最重要的还是它能提高你的自学能力,即是极大可能的用最少时间学到东西并将它投入使用.这根我们传统的全方位学习方式是完全不同的.而在此之后,我也会在编程的角度,用尽可能白的方法介绍各种数学建模常用方法,欢迎关注." |, q9 T" U4 X
———————————————— . ^! L2 }0 s& `6 T+ Z( K& i原文链接:https://blog.csdn.net/Anem0ne/article/details/50575936 9 b1 L/ V$ m& K$ o: U & Q8 [( O. ~( _9 A# [! L; D/ ~" C' t9 g' p2 H; U! Y6 S( ?5 a h