爱上工控 微信号: gongkong1314 (←长按复制) 工控哥携手8万余工控用户,与你共筑工控精神家园。 工控资讯,技术交流,人脉拓宽,能力提升,工控人最喜爱的微信,尽在“爱上工控” 。
纪念逝去的大学数学建模:两次校赛,两次国赛,两次美赛,一次电工杯。从大一下学期组队到现在,大三下学期,时间飞逝,我的大学建模生涯也告一段落。感谢建模路上帮助过我的学长和学姐们,滴水之恩当涌泉相报,写下这篇感想,希望可以给学弟学妹们一丝启发,也就完成我的想法了。拙劣的文笔,也不知道写些啥,按顺序随便写写吧。
我是怎么选择建模的:
大一上,第一次听到数学建模其实是大一上学期,not 大一下学期。某次浏览网页偶然发现的,源于从小对数学,哲学以及历史的崇敬吧(虽然大学没敢选择其中任何一个专业,尤其是数学和哲学,怕太难了,学不好),我就坚定了学习数学建模的想法。通过翻阅学校发的学生手册还是神马的资料,发现我们学校有数学建模竞赛的。鉴于大一上啥数学知识都没有,也就没开始准备,把侧重点放在找队友上。 一次打乒乓球,认识了两位信电帅哥,以后也会一起打球。其中一位( M )很有学霸潜质,后来期末考试后,我打听了他的高数成绩,果然的杠杠滴,就试探性的问了下,要不要一起参加建模,嗯,成功!
第二位队友是在大一上学期认识的(向她请教了很多关于转专业的事情),但是是第二学期找她组队的。老样子,打听成绩,一打听吓一跳,是英语超好,微积分接近满分的女生F (鄙人第二学期转入了她的学院)。果断发送邀请,是否愿意一起组队,嗯,成功。
关于找队友:在信息不对称的情况下,优先考虑三人的专业搭配,比如或信电的小伙伴负责编程和理工科题建模,经济金融统计负责论文和统计建模,数学计算专业的全方位建模以及帮忙论文,个人感觉这样子比较好。由于建模粗略地可以分为建模,编程,论文,三块,整体上是一人负责一块的,但是绝对不能走极端,每个人就单单的负责一块,这样子的组合缺乏沟通和互动。应该要在培训中磨合,结合每个人的个人特点。主要负责哪几块,辅助哪几块。
接下来就到了第一次校赛了:第一次还是挺激动的,因为之前问了几个学长学姐说,建模都是要通宵的,于是我们也做好了通宵的准备。第一次拿到的题目是关于一个单位不同工作部门不同饮食习惯的人,健康水平的关系。 后来回顾过来,这其实是一个比较简单的统计分析题。但是想当年可没有这等觉悟,做题全靠office ,对着题目想半天也不知道该怎么做。做的过程很痛苦,但是也很兴奋,校赛三等奖的结果证明了光有一股热情是不行的,需要恶补大量知识。
推荐新手入门书目:
数学模型( 姜启源、谢金星 )
数学建模方法与分析.( 新西兰 )Mark.M . Meerschaert.
第一本是姜老先生写的,很适合新手,在内容编排上也是国产风格,按模型知识点分类,一块一块讲,面面俱到。第二本是新西兰的,我是大二的时候看这本书的,只看了前面一部分。发现这本书挺适合新手,它是典型的外国教材风格,从一个模型例子开始,娓娓道来,跟你讲述数学建模的方方面面,其中反复强调的一个数学建模五步法,后来细细体会起来的确很有道理,看完大部分这本书的内容,就可以体会并应用这个方法了。(第一次校赛,就是因为五步法的第一步,都没有做到)。对了,还有老丁推荐的一本,美利坚合众国数学建模竞赛委员会主席Giordano 写的 A first course in mathematic modeling ,有姜启源等翻译的中文版, but 我没能在图书馆借到,所以没看过,大家有机会可以看看。
怎么建模
第一次国赛前的放假开始学校培训,我提前借了一大堆书,把卡都借满了。第一次国赛前的那次培训,对我而言,这段时期是收获最大的时期,比其他任何时间段都来得大。
这段时间内,我们三个人都很辛苦。白天培训要学习很多知识,完了只能休息半天,然后开始比赛,周而复始。 之前我的打算是,白天上课学习,晚上回去复习当天的内容,再看些其他东西。But 我太高估自己了,晚上基本是玩玩三国杀之类的小游戏放松,然后第二天再去上课。嗯,心态放好,身体最重要。 ^_^
通过这几次培训,基本上队伍形成了F 专业写论文,我和 M 负责建模和编程。其中我偏重建模和全队调度。
大家在培训的时候,要慢慢养成五步建模法:
五步法说明:
第一步: 提出问题 .
大家可能会想, 题目不是已经给出问题了吗 ? 是的 , 但是这里的提出问题是指:用数学语言去表达。首先,题目一定要通读若干遍,“看不懂,读题目;看不懂,读题目”,如此反复循环的同时查阅相关资料。这通常需要大量的工作,而且要根据题目的特点做一些假设。
看的差不多了,就开始用数学形式提出问题,当然,在这之前,先引用或者定义一些专业术语。 接下来进行符号说明,统一符号(这点很重要,三个人之间便于沟通,论文便于展现),并列出整个问题涉及的变量,包括恰当的单位,列出我们已知或者作出的假设(用数学语言描述,比如等式,不等式)。 做完这些准备工作后,就开始正式提出问题啦。用明确的数学语言写出这个问题的表达式,加上之前的准备工作,就构成了完整的问题。
这部分的内容反映到论文结构上,相当于前言,问题提出,模型建立部分。注意,刚开始建立的模型很挫没关系,我们随时可以返回来进行修改的。
第二步: 选择建模方法 .
在有了用数学语言表述的问题后,我们需要选择一个或者多个数学方法来获得解。 许多问题,尤其是运筹优化,微分方程的题目,一般都可以表述成一个已有有效的标准求解形式。这里可以通过查阅相关领域的文献,获得具体的方法。为什么不是查阅教材呢?基本上教材讲的都是基础的,针对特定问题的,教材上一般找不到现成的方法,但是教材依然是很重要的基础工具,有时候想不出思路,教材(比如姜启源那本)翻来翻去,会产生灵感,可以用什么模型。
第三步: 推导模型的公式 .
我们要把第二步的方法实现出来,也就是论文的模型建立部分。我们要对建立的问题进行变形,推导,转化为可以运行标准方法解答的形式。这部分通常是借鉴参考文献的过程,做一些修改,以适应本题的情况。
第四步: 求解模型 .
这里是编程的队友登场的时刻了。
统计模型:SPSS,Eviews , Stata ,都是菜单式操作, easy 的。
数据分析:R ,数据库 SQL Server , IBM DB2
微分方程:Maple,Mathematic,MATLAB
运筹规划:Matlab , Lingo
智能算法:Matlab , R
时间序列:统计模型中的那些软件,或者R , Matlab
图像处理:Matlab , C++
总结: Matlab 是必须的,再来个 SPSS ,一般情况下够用了。
第五步: 回答问题 .
也就是论文的讨论部分。这部分是对你整篇论文成果的总结,一定要写的有深度。除此之外,通常还要写上一些灵敏度分析,如果是统计模型的话,要有模型检验。
关于比赛的一些个人体会
1、国赛和美赛是有区别的
国赛讲究实力,美赛讲究创新。 美赛不一定要多高级的方法,但是一定要有创意。而国赛,组委会往往是有一个模糊的“标准答案”在的,按部就班做下来就好了。
注意不要一次性就建立复杂模型了,老外看重的是你的思维,你的逻辑,不像国赛,看重的是你的建模编程实力,要使用各种高大上的方法。
拿到一个问题,可以先建立一个初等模型,讨论下结果;再逐渐放宽条件,把模型做的复杂一点。 即 Basic model -> Normal model -> Extended model 的思路。这个思维在美赛中很好,这么做下来基本都能得金奖的,鄙人这次也是按照这样的流程,拿了个金奖。
2、文献为王
文献为王。建模的题目,基本上是某个教授的研究课题,凭我们本科生的水平,基本上做不到对题目的深刻理解。所以要多看文献。
看文献也有技巧:刚拿到题目,先查一下相关背景资料,了解题目是哪方面的。接下来看文献,找一下硕士论文,博士论文以及综述性质的文章,硕博论文一般都会详细介绍下整个课题的国内外研究情况,综述就更不用说了,它就是对大量原始研究论文的数据、资料和主要观点进行归纳整理、分析提炼而写成的论文。看完这些,就可以比较有深度地把握题目,也知道如果我们要进行创新的话,往哪方面走。
接下来,可以根据小组三人讨论的结果,有针对性的看一下有深度的文献,文献看得多了,就可以考虑开始创新了,像爱因斯坦那样开辟相对论等新领域的创新,是很有难度的,但是我们可以退而取其次,不是有句话叫做“他山之石,可以攻玉”吗? 我们要做的就是组合创新! 领域内组合创新,把一个学者的方法嫁接到另一个学者的模型上。 以及交叉领域创新,把把自然科学的知识用到社会科学上,或者用社会科学解释自然科学的结果等等。(这里就可以体现,跨专业建模队伍的先天优势了:不同专业对同一个问题的思维是不同的,可以擦出创意的火花)
PS:图书馆有买很多数据库,可以免费看论文。免费的话 google 学术是无敌的,国内文献貌似没有良好的分享平台,实在找不到论文也可以百度文库死马当活马医。
平时可以多注册一些网站,数学中国,校苑数模,matlab 技术论坛, pudn 程序员,研学论坛, stackoverflow 等。上传些资料,攒积分要从娃娃抓起,不要等到比赛了看到好资料还“诶呀,积分不够”。
想法很重要。建模思维是一种很难学习到的东西,站在巨人的肩膀上,多看文献,负责建模的同学辛苦了。
3、掌握一点数据处理的技巧
建模的题目,A.B 两道题。基本上是一题连续,一题离散;一题自然科学(理工科),另一题社会科学(经济管理)。这样的分布的,大家平常做题的时候就可以有所侧重,曾经有一支美帝的队伍,专攻离散题,貌似拿了连续两届的 outstanding.
掌握一点数据处理的技巧是很有必要的。比如数据缺失值的处理,插值与拟合等。尤其是数据缺失值的处理,基本上A,B 题都有可能涉及,建议熟练掌握。
4、关于编程水平。 More generally, 软件操作水平几乎决定了一个队伍的结果上限。 MATLAB 是必备的,必须要熟练掌握各种模型的实现。此外, SPSS( 或者 R) 也是要掌握的。 Mathematic 和 MATLAB 的替代性很强,不掌握也没关系(仅在建模方面, mathematic 当然也是很强大的)。 What ’ s more 建模比赛举办这么多年,用到 lingo 的情况几乎很少了,也可以不学 lingo. And 现在的题目动不动就要粒子群等智能算法,强烈建议大家至少熟练掌握一种智能算法 .
MATLAB推荐书目
基础:
MATLAB揭秘 郑碧波 译 (本书讲的极其通俗易懂,适合无编程经验的)
精通matlab2011a 张志涌
提升:
数学建模与应用:司守奎 (囊括了各类建模的知识,还附有代码,很难得,工具书性质的)
Matlab智能算法 30 个案例分析 史峰 , 王辉等
《MATLAB 统计分析与应用: 40 个案例分析》
数字图像处理(MATLAB 版 ) 冈萨雷斯 (13 国赛碎纸片复原居然涉及了图像处理 , 所以列在这里了 . 可看可不看 , 太专业化了 )
书很多的. 总之 , 要达到熟练运用 matlab 进行运筹优化 , 数据处理 , 微分方程的地步 . 数理统计可以交给 SPSS,R , 其中 SPSS 无脑操作上手快 .
5、格式规范:看国赛一等奖,美赛国内人得特等奖的论文,格式规范方面绝对很到位,大家可以参考。国外人的特等奖论文,大都不重视格式,人家的优势在于模型实力与创意、母语写作。所以在美赛格式规范方面,参考国内特奖的论文。
PS:有时间的队伍可以学习以下 Latex ,用 Latex 写出来的论文,比 word 不知道好了多少倍。 Latex 书目推荐:
LaTeX插图指南
一份不太简短的Latex 介绍
LaTeX-表格的制作 汤银才
参考文献常见问题集
latex学习日记 Alpha Huang
论坛:Ctex BBS
结束语:
什么是数学的思维方式?观察客观世界的现象,抓住其主要特征,抽象出概念或者建立模型;进行探索,通过直觉判断或者归纳推理,类比推理以及联想等作出猜测;然后进行深入分析和逻辑推理以及计算,揭示事物的内在规律,从而使纷繁复杂的现象变得井然有序。这就是数学的思维方式。
-----------丘维声《抽象代数基础》前言
本平台部分文章来源于互联网及其他公众平台,主要目的在于分享信息,让更多人获取需要的资讯,版权归原作者所有,内容仅供读者参考,不确保文章的准确性,如有侵犯您的权益或版权请及时告知我们,我们将在24小时内删除! 联系微信:best0539
关于我们 爱上工控
爱上工控微信公共平台 (gongkong1314)是工控行业最具影响力的微信自媒体 ,所有内容来源于百度贴吧自动化吧 、电气自动化吧、热心网友及网络,为工控网友提供最新最全的行业地资讯及生活信息,是您随时随地了解工控行业的最佳途径。 @爱上工控旗下微信贴吧覆盖行业7万余贴吧网友,1万余微信用户,我们的专业加专注,将会为你提供一道科技文化知识的盛宴。推广合作请联系微信:best0539