数学建模——五步建模法

本文转自知乎Eric Huang

首先上图:

第一步:提出问题.

大家可能会想,题目不是已经给出问题了吗? 是的,但是这里的提出问题是指:用数学语言去表达。首先,题目一定要通读若干遍,“看不懂,读题目;看不懂,读题目”,如此反复循环的同时查阅相关资料。这通常需要大量的工作,而且要根据题目的特点做一些假设。

看的差不多了,就开始用数学形式提出问题,当然,在这之前,先引用或者定义一些专业术语。 接下来进行符号说明,统一符号(这点很重要,三个人之间便于沟通,论文便于展现),并列出整个问题涉及的变量,包括恰当的单位,列出我们已知或者作出的假设(用数学语言描述,比如等式,不等式)。 做完这些准备工作后,就开始正式提出问题啦。用明确的数学语言写出这个问题的表达式,加上之前的准备工作,就构成了完整的问题。

这部分的内容反映到论文结构上,相当于前言,问题提出,模型建立部分。注意,刚开始建立的模型很挫没关系,我们随时可以返回来进行修改的。

第二步:选择建模方法.

在有了用数学语言表述的问题后,我们需要选择一个或者多个数学方法来获得解。 许多问题,尤其是运筹优化,微分方程的题目,一般都可以表述成一个已有有效的标准求解形式。这里可以通过查阅相关领域的文献,获得具体的方法。为什么不是查阅教材呢?基本上教材讲的都是基础的,针对特定问题的,教材上一般找不到现成的方法,但是教材依然是很重要的基础工具,有时候想不出思路,教材(比如姜启源那本)翻来翻去,会产生灵感,可以用什么模型。

第三步:推导模型的公式.

我们要把第二步的方法实现出来,也就是论文的模型建立部分。我们要对建立的问题进行变形,推导,转化为可以运行标准方法解答的形式。这部分通常是借鉴参考文献的过程,做一些修改,以适应本题的情况。

第四步:求解模型.

这里是编程的队友登场的时刻了。

统计模型:SPSS,Eviews,Stata ,都是菜单式操作,easy的。

数据分析:R,数据库SQL Server,IBM
DB2

微分方程:Maple,Mathematic,MATLAB

运筹规划:Matlab,Lingo

智能算法:Matlab,R

时间序列:统计模型中的那些软件,或者R,Matlab

图像处理:Matlab,C++

总结: Matlab是必须的,再来个SPSS,一般情况下够用了。

第五步:回答问题.

也就是论文的讨论部分。这部分是对你整篇论文成果的总结,一定要写的有深度。除此之外,通常还要写上一些灵敏度分析,如果是统计模型的话,要有模型检验。论文通常会需要画一些图表,可以使用Matlab、R等软件来画跟数据有关的图,使用Visio或者PPT画流程图之类的图。

关于比赛的一些个人体会

1、国赛和美赛是有区别的

国赛讲究实力,美赛讲究创新。 美赛不一定要多高级的方法,但是一定要有创意。而国赛,组委会往往是有一个模糊的“标准答案”在的,按部就班做下来就好了。

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 现在的题目动不动就要粒子群等智能算法,强烈建议大家至少熟练掌握一种智能算法.

  • 9
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值