数学建模社区-数学中国

标题: 我的建模之路(下) [打印本页]

作者: pandengyao    时间: 2016-11-24 15:42
标题: 我的建模之路(下)
本帖最后由 pandengyao 于 2016-11-25 11:02 编辑
+ P' t  H& L, A' v9 }+ T. c; a' D, I: \, ]  G
上一篇文章主要记录了我个人的参赛经历,本篇文章我将正式写关于数学建模竞赛方面的内容。如果你想获奖,那么请认真阅读这篇文章,本文章是我接触数学建模一年多以来的心得体会以及经验总结,是我一年多以来的心血结晶。好了,话不多说,开门见山。依旧先看本文内容提纲:
/ @" g  ^& k* X! i/ t
我的建模之路(下).png 本文内容提纲

4 @0 y7 D9 j! K! ^  A  K. C7 m
7 ?; ?6 L$ Q0 j$ e
' P  c4 ?4 c; i, m
! A/ S5 b# M  N/ f$ J. }
1. 对于一个新手来说,从没接触过数学建模或者只是听说过数学建模但并不了解,该如何学习数学建模?众所周知,数学建模内容广泛,知识点杂,涵盖面广,包括工程技术、自然科学、经济、管理、金融、生物、医学、环境、地质、人口、交通等等领域。而且市面上介绍数学建模的书籍非常多,对一个初学者来说,一开始就选对一本好书是重要的,但是要从这么多书籍里选择也不容易。作为一个过来人,在此,我向大家推荐两本数学建模方面的书籍。* F0 t" u! o$ r

$ g' }4 {# v' E# \! A- B$ [
安利两本好书.png 安利两本好书

* L: E! S1 M4 ]# i$ e5 u        第一本是姜启源的《数学模型》,这本书里面的例子很丰富,而且模型都比较理想化,也都很好理解,是一本很好的数学建模启蒙书籍。如果后面要参加竞赛的话,那只看这本书是不够的。所以我推荐的第二本书是司守奎的《数学建模算法与应用》,这本是就是专门针对竞赛编写的,里面的算法都是竞赛常考的算法,而且针对每种算法都有对应的例子,并且附MATLAB源代码,供读者实践练习。这两本书第一本看一遍即可,不管记住多少,一边就好,主要是快速了解数学建模的一些实例以及应用方向。第二本书建议多看几遍,最好能熟悉书中的每一种算法,这样对竞赛大有帮助,拿奖不是问题。' T* b$ a: O6 A- F5 Q! `2 P
2.  ​推荐完书之后,再给大家推荐两款必备软件。
+ g* |- |9 H" m2 f- Y/ R# V1 ]
两款必备软件.png 两款必备软件
0 K9 a. ^5 h5 Y; P) G# r. ]
        第一个lingo,主要是处理线性规划、目标规划一类的题目. E" c% j5 j# t% f, T* q# s
        第二个MATLAB应用范围非常广,几乎可以解决一切题目。这里说明一下,MATLAB也可以处理规划类的题目,但是lingo毕竟是解决这类问题专门的一个软件,这方面的功能比MATLAB更强大。9 I* f, I6 G& [1 m
        除了这两款软件外当然还有很多其他的软件也可以使用,例如mathematia、lindo、SPSS、SAS等等,但就我个人而言,上面那两款(lingo、MATLAB)只要用熟练了,足够应付一切题目,软件在精不在多。0 }5 X# V  ]# ]  Y$ s5 w1 L+ N+ b
3. 1 d1 u8 f* W& y7 @) g/ l. p: _

' G4 w# H' O% b9 R% j有了书有了软件接下来就到找队友的时候了,一般来说,​找优势互补的队友,比如擅长建模的,擅长编程的,擅长写作的。但最重要的是三个人一定要互相配合,不要出现矛盾。下面我具体总结了一下正式比赛时三个人应该如何分工。; s+ q/ i" Q' E7 s4 Y

7 p( O3 e2 T, J+ O) @6 I) q! Y; c$ K" f9 }
三人如何分工.png
4 l" J2 R" p7 ]- N; Q) Q
我把三个人的职务分为:建模(编程)、写作、第三人。( G) d& S# f/ }5 T6 I. S$ ]/ V* X
建模的人一般应该有比较扎实的数理基础,思维活跃,并且同时会编程为最佳。
3 X5 k- z0 q# t) k6 b' g6 F写作的人应该思维缜密,语言逻辑性强,要能看懂建模人建立的模型,# T, N  J; z  ?& I* z" x% i

) J3 F- M( f$ C/ s7 v, Y2 p在理解模型的基础上进行写作。​我个人认为写作是做辛苦的。
6 j# e- t* x% w* J  Z& U* L! \第三人就是主要负责数据整理、资料收集之类的,同时也可以给建模人提供一些思路,纠正写作的人写作时的错误等等。
* ?( W  P( {( f- d: \( E- F" D" U理想情况下,三个人应各司其职但又互相配合,使团队效率达到最高。
7 I/ @5 k- @# T) n  N4.
6 m0 U% W' z( d: H
" W& k0 M4 c# Q/ p% [  O( ~, L组完队之后就到了正式比赛的时候了,正式比赛时间是三天三夜。那么这三天该如何分配呢?​5 G' r" X8 X! ~. _

5 Y2 I( x/ G+ ?
/ d5 @" K: |" w" j. G
完成论文.png 比赛时间分配
# W/ y3 ?$ N4 V, s" a. {; s. V7 ?
上图是我根据自己的多次参赛经历总结的最佳时间分配计划。
9 ~# n  e4 `; j* x4 ^) h6 m  P第一天上午为选题阶段,正式比赛时是两道题目,常规性题目和开放性题目,一般来说​常规性题目思路简单,很容易上手,拿到就可以做,但做的好坏就要看每个队队员的水平了。开放性题目不容易有思路,上手比较难,但是一旦找到突破口便很容易出彩,也很容易获奖。(我记得我当时国赛得时候是选择的开放性题目,结果整整一天过去了我们队都还没有思路,一直到第二天早上才找到突破口)选择哪种类型的题目完全视自身情况而定。一旦选定题目之后就不要更改了,我见过太多刚开始草率选题,做到一半发现做不下去了又开始换题,浪费了一天半的时间,结果发现换了题时间不够用还是做不完。所以第一天花一上午的时间选题真的不算多。
" \# K  I. `% ?上午选完题目,下午就是查阅文献的时候,这个时候要泛读文献,只要看标题和摘要就可以了,感觉有用的都可以先下载下来。晚上是精读​文献的时候,国赛的题目一般都是来自工程实践或是某个教授或博士研究的课题,所以我们需要通过文献去了解这个题目的背景以及来龙去脉。另外,第一天晚上有思路的话就可以开始建模了。( z9 o" x8 Z& B" c
第二天上午同样是建立模型,到了下午就要开始写作了,不管模型建立到哪一步了哪怕是还没建出模型,写作的人也应该开始写了。有人要问了模型都没建出来写什么啊?写写问题重述啊,模型假设啊,思路分析啊,符号说明啊说不定写着写着就有思路了呢。到了第二天晚上顺利的话模型应该已经建立出来。
5 k7 u. d( q) C到了第三天,​就是模型的求解、误差分析以及模型的改进了。但是往往有时候就会发现建立的模型解不出来或是误差太大没法使用,这样的话就只能换个思路重新建立模型了,所以时间还是很紧。第三天晚上一般来说所有人都是通宵写论文,因为三天时间真的很紧,很少有哪个组提前完成论文。
+ U) k3 D% M5 ^$ J上面的时间分配计划是很理想的情况下才能达到,根据我的参赛经历,实际比赛的时候大部分队伍实际进度都要慢于计划进度,所以当实际比赛时遇到进展比较慢时不要心急不要紧张,从容应对​就好。
% G% `& l, i8 t: m# r0 y# k最后,一篇好的论文应该包含以下几个部分:& \* C  D" P9 N% m7 H4 ]
论文组成.png 论文结构
/ z# z! l8 g0 m% ~" T0 O8 b+ d
摘要是重中之重!一般是论文写完之后才写摘要,并且最好多遍修改,摘要应该简洁干练,并且体现出你用了什么方法建立了什么模型,模型的效果如何,优缺点是什么等等。" ]3 X4 V4 I. i; x
然后是条件假设,这个在论文中也很重要,它说明了你这个模型的适用范围,在什么条件下成立。我遇到的最极端的一种情况是有两个队解决同一个问题时答案完全不一样,但是两支队都拿了一等奖,究其原因就是条件假设不一样。0 [1 |: J$ {  k5 |" I+ T1 O. N' U
模型的评价与改进这点也很重要,一般初步建立一个模型之后肯定有考虑不周的地方,可能是少了某个条件或是少考虑了哪种因素等,建完之后再对模型进行进一步的分析与改进,进一步完善模型,这一点会成为很大的加分项。5 ^5 m6 C9 z; s( }/ M( J" O
最后,模型的优缺点分析,可有可无但是最好有,一般建完模型之后总不可能没有一点缺点吧​,在写缺点方面时就可以写写模型不能使用的范围,要在这些范围使用就要加哪些条件等等,这样写的好处是评委老师感觉你考虑的很周达,缺点也可以变成优点。: l& d( \. N6 W
5.  再说说我上篇文章里我提到的那个很神奇的方法吧​, v1 p$ z4 o$ W/ b
我在参加国赛之前对近十年的题目做了研究,提炼出了常见的考点并且对常用算法做了一个分类,在这里提供给大家。: T2 C/ p+ a% e  J1 B' C
5 r6 e3 |- M! u3 `/ r

( _5 u8 J' Z4 Y6 b& m
数学建模常用算法.png 数学建模常用算法
2 `1 @3 j9 n) g, e( b! j+ e
我将数学建模中常用的算法分了六大类:规划类、评价类、预测类、物理类、分类与判别、现代启发式算法。
& |2 X7 ]+ n9 ?# u' Z2 [而且我经过对近二十多年竞赛题目的考点统计发现,前三类(规划类、评价类、预测类)是最常考的,出现的频率极其高。
0 V3 X. A$ J0 M3 I9 v
; F0 |8 E5 E* {* J5 c6 x) @- l6 Q" j# }5 C; H. N- D! e* O
历年赛题考点分析.png

+ e7 I( r7 \0 N+ R: b3 Z/ M0 X上图是我对1993年----2016年二十多年来的题目考点进行了分析,然后我做了如下图的考点出现频率统计图:
6 O7 q' s6 Z2 u, d# Y9 X8 S$ M2 }
* o& W' T! _9 N; D* l
考点分析.png

0 ?' s3 P3 D$ J% f+ E2 `. k这时候大家就会发现规划类、评价类、预测类模型是最常考的,出现频率极高。其次物理类模型考的频率也很高。
& x6 p, j1 H5 V4 K而且近几年赛题有如下发展趋势:/ j5 J' e8 u: E, x9 Q% ^5 q
​1. 对计算机能力提出了更高的要求:赛题的解决依赖计算机,题目的数据较多,手工计算不能完成,如2007年B题乘公交、看奥运。2012年A题葡萄酒的评价问题。2013年A题车道被占用对城市道路通行能力的影响(视频处理)2013年B题碎纸片的拼接复原问题(图象数据,数字图象处理)。
( ^' Z! d( a4 p' A9 @ / J! a! X" n$ n
2. 赛题的开放性增大 解法的多样性,一道赛题可用多种解法。开放性还表现在对模型假设和对数据处理上。 0 `9 b7 V9 e/ s0 P

4 J9 O+ U0 R7 k# u+ c) [" i6 g3. 试题向大规模数据处理方向发展。# K1 h8 m9 L3 R, U: \, G

9 [  o) V2 [, }' q4. 求解算法和各类现代算法的融合。3 X0 @( ?0 l2 j- R
; K0 F0 e, u2 |8 o0 l
以上,是我对赛题考点做的一个分析以及赛题趋势做的一个分析。; ~) d' X* n" w  _; W% g; q, N( w
最后,大家要是想要在国赛中拿奖,好好看看我上面总结的数学建模常用算法,争取对每一种算法都熟练于心,并且知道相似算法的适用范围等等。比如同样是预测类算法:有微分方程预测、差分方程预测、灰色模型预测、回归方程预测,这么多预测算法,那我们在碰到实际问题时该用哪一种呢?它们各自适用范围是什么呢?它们之间有什么异同点呢?​这就是我们平时学习需要注意的问题。% _$ h' Q- q0 Y/ Z* p
好了,本篇文章到此为止,以上就是我​接触数学建模一年多以来的心得体会以及经验总结​,希望能帮助到大家。也欢迎大家在下面评论留言,如遇到数学建模方面的问题可以在下面评论中提出来,我一收到通知会立马帮大家解决,模友们,一起加油!
, ^' r+ G3 h" F8 ^: {1 E
+ r, B5 J! F4 V1 L* W' J2 A. j
9 w$ {7 J2 \* x- I+ N% _0 N6 _) p
9 P! I  p& K+ A: l: ^
0 V  \5 E0 _; j& H

历年赛题考点分析.png (92.29 KB, 下载次数: 383)

历年赛题考点分析.png


作者: 春秋两不沾    时间: 2016-11-25 11:08
内容精彩,另墙裂推荐楼主的思维导图模式,赞!, j2 Y; x6 n4 ~7 G6 T( p+ j6 y





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5