关于这两个比赛的准备,主要分三点吧:选队友及分工、算法准备、论文准备
·选择队友及分工:
选择队友很重要。首先要保证你们能做到各有所长,分工明确,一般来说,三人的比赛一般是一人负责建模写代码,一人负责理论基础,一人负责论文;当然这里所说的分工只是侧重而不是唯一,因为实际上很多工作需要合作完成。
·准备:
算法准备上,楼主主要使用Matlab编程,准备的内容包括几个方面:
o目标规划问题:整数规划、线性规划、非线性规划、动态规划
o数据分析:方差分析、回归分析、层次分析法、判别分析、多元分析
o数据处理:插值、拟合、筛选、预测
o优化算法:遗传算法、模拟退火算法、神经网络
o图与网络:Dijkstra、Floyd、Prim、Bellman-Ford,最大流
o方程建模:微分方程、偏微分方程、差分方程
o模糊数学模型
o概率方法:蒙特卡洛法
o以及一些常用的方法
论文写作的话要准备这样几点:
o论文格式规范:这个主要就是阅读参考书籍
o优秀论文参考:结合题目,阅读历年优秀论文
o论文排版工具:可以选择word也可以选择latex,Latex比较专业,排版美观,但是也需要提前学习,当然,一般来说比赛之前会有人出比赛的Latex模板,只需要下载模板到时候直接套用即可,不过需要注意的是,如果对Latex完全不熟悉的话不建议使用,因为套模板可能出现意想不到的问题,这时不熟悉Latex的话可能导致前功尽弃。
·几点经验
·
o明确分工。拿到一个问题形成思路之后很难做到模块化分工,这时按照主次分工,主线一个人在走,而中间的小问题可以交给另一个队友,当然,一般来说可以按照题目的问题来做划分。还有一点就是,从选定题目开始,负责写论文的队友即可开始论文的撰写,包括框架,前言后续等内容。
o密切沟通。这个问题很重要,组内必须保持密切沟通,你可以不了解组员实现问题的具体细节,但是你必须了解思路及过程,否则,写出来的论文注定一盘散沙。
五步方法
五步方法顾名思义,通过五个步骤完成用数学模型解决实际问题。它包含以下五个步骤:
提出问题
选择建模方法
推导模型的数学表达式
求解模型
回答问题
第二步是选择建模方法。在第一步的基础上我们将问题用数学语言表达了出来。第二步的目的便是选择一个数学方法来获得解。换言之,想要正确完成这一步骤需要足够多的经验或者熟悉参考文献。
第三步是推导模型的公式。在第一步中我们完成了对术语的定义,并使用数学语言将问题表达出来;在第二步中我们根据第一部分所得到的结论,选择了合适的建模方法。而每一种建模方法都有其所需要的标准形式。第三步的主要目的就是将第一步中的数学表达式变形为第二步中的建模方法的标准形式,以便于利用该模型的算法过程进行求解。
第四步便是通过第二步中得到的限制条件(等式或者不等式),对这个模型进行求解。
第五步是回答开始在第一步中提出的问题。至此,数学建模的五步方法就结束了。对上述五步方法进行归纳总结,可得到如下表格:
第一步,提出问题
a)列出问题中涉及到的变量,包括适当的单位
b)注意不要混淆了变量和常量
c)列出对变量所做的全部假设,包括等式和不等式
d)检查单位从而保证假设是有意义的
e)用准确的数学表达式给出问题的目标
第二步,选择建模方法
a)选择解决问题的一个一般的求解方法
第三步,推导模型的公式
a)将第一步中得到的问题重新表达成第二步选定的建模方法所需要的形式
b)确保第一步中的变量名与第二步的一致
c)记下任何补充假设,这些假设是为了使第一步中描述的问题与第二步中选定的数学结构相适应而做出的
第四步,求解模型
a)将第二步中所选方法应用于第三步得到的表达式
b)注意数学推导,确保推导过程无误且结果有意义
c)采用适当的方法扩大解决问题的范围并减少计算错误
第五步,回答问题
a)用非技术性的语言将第四步的结果重新表述
b)避免数学符号和术语
---------------------
作者:BohouZhang
1序
感到要在全国赛中取得好成绩经验第一,运气第二,实力第三,这种说法是功利了点,但是在现在中国这种科研浮躁的大环境中要在全国赛中取得好成绩经验是首要的。这并不说明美赛中经验不重要,在美赛中经验也是首位的,但是较之全国赛就差的远多了,这是由于两种比赛的不同性质造成的。
写这个东西当做是回忆下以前的点点滴滴,希望自己的经验能帮助一些新手(这样的说法不大好,暂时想不出更好的,凑活着先用着)能尽快的成长,尽快的发挥自己的能力,体验数学在应用中的作用,爱上数学,甚至和数学打一辈子交道。国防科大数学建模网的路过(向为)前辈曾经写过个新手教程,写的十分的好,希望写的这个能延续他写的那个教程,能给大家哪怕一点点的帮助。
2组队和分工
数学建模竞赛是三个人的活动,参加竞赛首要是要组队,而怎么样组队是有讲究的。此外,还需要分工等等一般的组队情况是和同学组队,很多情况是三个人都是同一系,同一专业以及一个班的,这样的组队是不合理的。让三人一组参赛一是为了培养合作精神,其实更为重要的原因是这项工作需要多人合作,因为人不是万能的,掌握知识不是全面的,当然不排除有这样的牛人存在,事实上也是存在的,什么都会,竞赛可以一个人独立搞定。但既然允许三个人组队,有人帮忙总是好的,至少不会太累。而三个人同系同专业甚至同班的话大家的专业知识一样,如果碰上专业知识以外的背景那会比较麻烦的。
有不少的人会认为第一人选是数学方面的那第二人选就应该考虑计算机了,因为学计算机的会程序,其实这个概念可以说是对也可以说是不对的。之所以需要计算机方面的人是为了弥补数学方面的人在算法实践方面的不足,但是不是所有的计算机方面专业人都擅长算法实践的,如果要选的话就选擅长算法分析实践的,因为学计算机的不一定会程序,并且会程序的不一定会算法。拿出一个算法,让学计算机的编写程序实践不一定能行,不是小看计算机的,但是这种情况还是比较多的,不然可以看到参加ACM的数学系的居多,比学计算机的搞的好。因此一定要弄清这个概念,不是计算机的就适合的。
所以在组队中有两种人是必需的,一个是对建模很熟悉的,对各类算法理论熟悉,在了解背景后对此背景下的各类问题能建立模型,设计求解算法。一个是能将算法编制程序予以实现,求得解。当然有可能是一个人就将这两种都具备了,这样的话再找个任意具备上述两种能力的人就可以了,以减轻工作量,不然非累死不可。第三个就是专门需要写作的拉,从专业角度看是需要别的专业,比较适合的有生物、土木、机电、电信或机械等专业。在数学建模中各种背景的问题都会出现,所以有其他专业同学的话可以弥补专业知识方面的不足。
综上所述,组队要根据分工而来的,三个人要具备一个数学功底深厚,理论扎实,一个擅长算法实践,另一个是写作(弥补专业知识不足),如果一个组能有这样的人员配置是比较合理的。但是往往事事不能如意,所以不能满足这种人员配置的时候就尽量往这样人员配置靠。
3培训
很多刚接触数模的朋友都会碰到一个问题,那就是什么都不会做,看着题目不知道咱们下手,干着急,然后,一旦经过指导之后就知道该怎么做了,同时在做的过程中会碰到各种各样的问题,发现不是算法不了解就是软件不会使用。假使一个题目会做了,但是如果碰到另一个题目又不会了,又不知道该怎么办了。如何使新手尽快的成长是个大家很关心的问题,讨论的也很广泛。各个学校都又不同的方法,有的是开数学建模培训班,有的是以题带连,有的是通过协会普及教育...,各个学校都已形成自己的风格和方法。纵观这些方法,个人感觉有很多不是太科学的地方,有的学校投入很多但是出不了成绩,这时就需要调整下培训方法了。
检验数模学的成果如何是每年的全国赛和美国赛,形式都一样是以通讯的方式完成给定的选题。而做课题的一般进程就是建模型,解模型,写论文这三步。所以从这三个方面去培训是最有效的,因此个人认为最有效提高自己的水平就是以题带练,在实践中提高自己。
1.建模型:
建模型是最为关键的一步,新手往往是无从下手,这是因为知识面不光,缺乏背景知识,
2.解模型:
3.写论文:
论文是很关键的一步,写到这里已经写了很多“关键”的词了,事实也如此,步步关键,
其中一步做的不好都对结果有很大的影响,论文是所有工作的体现,如果论文写的不好就功亏于溃,在这里就吃过很大的亏的。因此多写写多练练绝对是有好处的,并且不是写完就算了,要不断的修改,修改到自己非常满意,修改到象所发表在数学期刊中的论文那样才可以。
综上可得,最快最有效的提高水平的方法就是通过做题来发现自己的不足,通过学习弥补自己的不足,这样就查漏补缺,提高了自己的水平了,并且最大程度上取得了经验。
4选题
在序中提到过如何选题,现在就具体展开讲讲。
全国赛分为本科组和大专组,每组A,B两题,A为连续的,B为离散的。就我来讲只有运筹优化和非运筹优化两类,运筹优化的题目只要题意理解正确,模型正确,能正常求解,有参考答案,只要解在参考答案附近那基本就能得奖了。而对于非运筹优化类则要麻烦的多了,各式各样的问题都有,并且好些非常不好入手,并且一般来讲没有参考答案,只要有思想有方法就会得到好的结果。
所以一般来讲做优化问题简单的时候,做优化的比做非优化的人数要多。但是涉及到比较复杂的时候那就要颠倒下了。就得奖人数来说A,B两题的各级得奖人数是相仿的,这时如果做A的人数少则得奖率就高了多了,所以在选题人数比较悬殊的时候则要选选做的人数相对少的那个题做,而当选题人数比较平均的时候,就选自己拿手的做了。当然要知道这个选题比例那是不可能的,所以要实现小范围的互动了,由于一开始是赛区内评价所以在小范围内互动是有必要的,在自己的学校内尽量做到平均,不然就是自相惨杀了。
美国赛则为MCM和ICM两种,MCM为A,B两题,ICM为C题。每年参加美赛的对数都在逐步增长,增长的速度还相当的快。获奖比率却年年在变化,但是从总体上看ICM的获奖率则比MCM要高出不少,所以一般来讲,选C题获奖几率则比A,B两题要高出50%了。
这样讲功利了,不过既然是去参加比赛,则就是要去拿奖了,不是讲风格讲什么的时候了。刺到见红,见真章的时候了。并且这样也是符合优化原理的,成功率最优化嘛,呵呵。
但要注意的是所选的题一定要能保证做的出来,不然连个成功参赛奖都很难保证。
还有需要注意的是看起来入手容易的不一定好做,一般到一定地方后很难深入,运筹优化的很大一部分属于这类。而看起来无从下手的题目一旦找到突破口后那就是世外桃源了,就有很多东西可做。所以选题的时候一定要慎重,先把题目的意思搞懂搞透,然后根据自己的优势和能力在互动的情况下选择一个最有利于自己得奖的题做。
5文献资料查找
在数学建模中文献资料的查找是十分关键,其实不仅是在数学建模中,在学习和做研究就是如此,不阅读文献资料就相当于闭门造车,什么都弄不出来,现在的工作几乎都可以说是站在前人的肩膀上,从出生开始就是站在前人的肩膀上了,所学的任何书本知识都是前人总结出来的。
通过文献资料的阅读可以知道别人在这个方面做了多少工作了,怎么做的工作,取得了哪些进展,还存在什么问题没解决,难点在哪里,热点在哪里,哪里是关键,哪些是有价值的,哪些是无意义的等等等等......,并且可以通过查找文献得到一些很有用的信息,比如某个教授的牛的程度,所擅长的领域等等,呵呵,翻教授老底了,比较好玩,选导师的时候强烈推荐。
文献查找主要有三个模式:
A.书
B.书+中外文期刊数据库
C.书+中外文期刊数据库+学位论文
D.书+中外文期刊数据库+学位论文+搜索引擎
对于全国赛推荐D模式,但要改为Dc模式:中外文期刊数据库+学位论文
对于美赛则要改为Da模式:外文期刊数据库+搜索引擎。
此外在美赛中用搜索引擎的实际效果好的往往出人意料,基本可以这么说,用搜索引擎比数据库来的更好,介绍一个n多人知道的技巧,怕还有人不知道就在此罗嗦下:搜索引擎用google足以,点击高级搜索,然后输入需要的keywords,在格式中选pdf格式。很简单吧,但很实用,填句弱智的话,报选择中文搜索啊,碰到过一次朋友如此搜索的,当时巨汗!很多参加数模的同学对pdf格式了解很少,实在不应该吧,在下估计这帮人都是学习成绩好的不得了的,没怎么用过计算机和没怎么上网,并且是word的忠实铁杆用户。
pdf格式就是一种国外通用的标准便携电子文档格式,要知道外国人几乎不用msword的,微软发财中国人民的贡献巨大啊(虽然盗版盛行)。顺便介绍下国内外主要数据库的文献格式:pdg是超星格式,caj和caa为清华同方数据库(cnki)(它有三个名头,中国学术期刊网什么什么的NB名字也是指它),vip为维普,最重头的就是pdf,都需要不同的阅读器才能打开,还好都是免费的。
在查找文献中很重要的一点是查找到的文献有效率,因为很多文献找到是没有用的,能有个3-4个有用的文献是很难得了的,通过数据库关键词查找到的文献的有效率是很低的,而通过查找已查找到的文献的参考文献是很有效的一种手段,其有效率则大大的提高了,通过这种连锁查找是强烈推荐的,尤其在美国赛中超级强烈推荐。
列下中外文数据库:
中文:CNKI、VIP、万方
外文:EBSCO、Elserive、ProQuest、Springerlink、EI、ISIWebofKnowledge
再列个电子图书站点,以备不时之需,中国数字图书馆,书生之家,超星数字图书馆
有个情况就是好些学校不一定这些数据库都买了,这样就需要违点法了,搞破解。这些技术很复杂,在此不展开了。找代理啊,破解超星阅读器啊,下载书生的书,搜索CNKI,VIP,
万方的帐户和密码,这些技术很有意思,很有挑战性和成就感,这也就是黑客盛行的原因吧。
说了这么多,综述下吧,查找文献是决定参赛论文起点高低的关键。三天中做的课题很少是重新起灶的,一般都是在文献的基础上做的,所以找到的文献如果离所做的课题越近则参赛成绩会好。所以在查找文献多下点功夫不会错的,砍柴不误磨柴功:
6论文写作
论文是建模中最后的一环也是最关键的一环,这环做好了那就圆满了,做砸了全功尽弃
20世纪60年代,knuth准备出系列专著《计算机程序设计技巧》(TheArtsofComputerProgramming),前三册已经出版,当他正在撰写第四册时,出版社拿来第二册的第二版给他过目,结果令他大失所望,因为当时出版社的印刷技术没有使他的书稿更好看,反而变糟了,尤其是在数学公式和字体上面的缺陷更令他无法接受。于是他就打算自己写一个既能供科学家编排手稿又符合出版社印刷要求的高质量的计算机排版系统。这就是TeX排版系统的由来。
LaTeX是由美国计算机学家LeslieLamport于1985年开发成功的。尽管在排版数学公式和数学符号方便LaTeX不如AMSTeX,但LaTeX提供了大量易于学习和使用的命令,如非常有用的交叉引用命令(cross-referencingcommands),这是AMSTeX所不具备的。因而LaTeX有更广泛的用途,特别是在排版信件、书刊、诗集等方面更优于AMSTeX。TeX的命令好比是建筑所使用的各种各样的材料,优秀的建筑师用它能建造出各种美丽的建筑;LaTeX的命令好比是已经建筑好的各种各样的房间和家具,用户只需选择适合自己的房间和家具就能得到满意的住所,而且这种房间和家具之多几乎无须用户自己动手建造。为了使用户既能使用LaTeX提供的大量命令,又能排版出优美的数学公式和数学符号,美国数学会又开发了AMSTeX。
TeX的使用相对于word要麻烦很多,但是其优势势非常明显的,就举几个吧。word中数学公式是以图片形式保存的,一旦公式和图片多的话则很容易死机,在竞赛中则吃过大亏,在全国赛和国际赛中都发生过这些情况,辛辛苦苦写了很多,但是全部没了,那时真是欲哭无泪。
现在是学乖了,用word写论文时时常按ctrl+s。并且不同版本不兼容,xp版本到2000版本就出现很严重的不兼容问题。而LaTeX则不会出现这种情况。用word写论文时可以发现当公式或数学符号在某行中时则行距撑的很大了,十分难看,LaTeX则不会出现这种问题。说到公式和数学符号则可很明显的感觉到word和LaTeX的不同了,爱美之心人皆有之,学数学的很大程度也是因为被数学的美所深深的吸引而迷恋数学。而LaTeX排版出来的数学公式则比word要漂亮的多了。此外在写论文的时候对参考文献十分头痛,而LaTeX则在这个方面不要比word显的太强悍啊。
介绍了这么多LaTeX并不是说明LaTeX比word怎么怎么牛,每个事务存在就有它存在的的价值,word在很多地方有比LaTeX很明显的优势。只不过在数学论文这个方面LaTeX要比word强太多了,故而介绍这么多,推荐使用LaTeX写数学论文。
由于全国赛是要求用word的,所以在全国赛的时候还是乖乖的用word好了,写到这忍不住想骂街了,数学建模全国赛竟然要求用word写,什么他妈的规矩,理工科现在都主流用LaTeX了,并且国外都普遍用TeX,word不被接受,在这么高规格的比赛中要用word,没天理啊,希望哪天那帮大爷教授们能开窍了,能接受LaTeX写的PP论文,能提供LaTeX的模板。在美国赛中则尽量用LaTeX写,优势太明显了,虽然在上次美赛中没用,不过如果再参加一次的话坚决用LaTeX编写。宣传完LaTeX了,开始介绍写论文的技巧。
在什么论文中摘要都是十分重要的,尤其是在全国赛和美国赛中摘要的地位很显赫的,两个组委会都提出了摘要的重要性,再三明文提醒参赛者要注重摘要。要知道,无论全国赛和美国赛第一轮都是看摘要筛选。在全国赛中或许还能看看,但在美国赛中只要第一轮通过摘要的筛选就可以获二等奖了。
在摘要的写作中一定要花3个小时以上,反复修改,一定要修改修改再修改,修改个10几稿才能过关。在摘要中一定要突出方法,算法,结论,创新点,特色,不要有废话,一定要突出重点,让人一看就知道这篇论文是关于什么的,做了什么工作,用的什么方法,得到了什么效果,有什么创新和特色。一定要精悍,字字珠玑,闪闪发光,一看就被吸引。这样的摘要才是成功的。
西多多少少都带有数学系出来的印记。顺带提下,编程最要用matlab,因为评委们普遍喜欢用matlab写的程序,虽然他们不看,就算看也看不懂,但是尽量迎合他们总不会错的。再者,用matlab写数学程序一般是数模的首选,最爱。在写论文的时候总要参考文献的,所以文献一定要整理好,并率先在参考文献中排好次
序,以免混乱,一旦乱了,那个麻烦大了,很痛苦的。并且在引用他人的地方一定要注明,这个是最起码的诚信问题了,引用他人多少东西不要紧,不要以为这个是抄袭,只要注明了就不是抄袭,当然不能整篇引用了,那样的话就真的是抄袭了,呵呵。
在论文写作中一定要注意能用图表的地方尽量用图表来表示,图表比用文字阐述要来的清楚直接。一张图表往往能代替一大段干巴巴文字。并且图文并茂多爽啊,要知道教授们大都年纪不小了,为了教授们的眼睛,减轻他们受文字的折磨多用图表绝对是不二的选择。同时这也是偷懒和使论文增色的不二选择。
须注意的是图表的引用要规范,在交叉引用的时候一定要小心,不然会对不上就麻烦了。如果用word写,则强烈推荐看候捷大牛写的《word排版艺术》,对于这本书不详细介绍了,搜索下就出来了,是本不错的东西,牛人的作品啊,的美赛论文就用它给搞定的,很不错。
再附上个用Word编辑论文的几个建议(作者不详):
由于各方面的原因,大家主要还是用MicrosoftWord(以下简称Word)编辑论文。Word在写科技论文方面虽然有一些先天不足,但却提供了非常强大的功能。如果不能充分利用这些功能,可能经常要为不断地调整格式而烦恼。我把自己以前使用Word的经验和教训总结一下,抛块砖。
原则:内容与表现分离
1.一定要使用样式,除了Word原先所提供的标题、正文等样式外,还可以自定义样式。
3.一定不要自己敲空格来达到对齐的目的。只有英文单词间才会有空格,中文文档没有空格。所有的对齐都应该利用标尺、制表位、对齐方式和段落的缩进等来进行。如果发现自己打了空格,一定要谨慎,想想是否可以通过其他方法来避免。同理,一定不要敲回车来调整段落的间距。
绘图。
统计图建议使用Execel生成,框图和流程图建议使用Visio画。如果不能忍受Visio对象复制到Word的速度,还可以试试SmardDraw,功能不比Visio弱,使用不比Visio难,速度却快多了。如果使用Word的绘图工具绘图,最好以插入Word图片的方式,并适当使用组合。
5.编辑数学公式建议使用MathType5.0,其实Word集成的公式编辑器是它的3.0版。安装MathType后,Word会增加一个菜单项,其功能一目了然。一定要使用MathType的自动编号和引用功能。这样首先可以有一个良好的对齐,还可以自动更新编号。Word正文中插入公式的一个常见问题是把上下行距都撑大了,很不美观,这部分可以通过固定行距来修正。
7.使用节。如果希望在一片文档里得到不同的页眉、页脚、页码格式,可以插入分节符,
并设置当前节的格式与上一节不同。
我不怀疑Word的功能,但不相信其可靠性和稳定性,经常遇到“所想非所见”、“所见非所得”的情况让人非常郁闷。如果养成良好的习惯,这些情况也可以尽量避免,即使遇上,也可以将损失降低到最低限度。建议如下:
9.及时保存,设置自动保存,还有一有空就ctrl+s。
10.多做备份,不但Word不可靠,windows也不可靠,每天的工作都要有备份才好。注意分清版本,不要搞混了。Word提供了版本管理的功能,将一个文档的各个版本保存到一个文件里,并提供比较合并等功能。不过保存几个版本后文件就大得不得了,而且一个文件损坏后所有的版本都没了,个人感觉不实用。还是多处备份吧
11.插入的图片、和公式最好单独保存到文件里另做备份。否则,哪天打文档时发现自己辛辛苦苦的编辑的图片和公式都变成了大红叉,哭都来不及了。
其他建议:
13.使用文档结构图让你方便的定位章节
15.Word表格的排序、公式和转换的功能也是很值得学习的
7实战
在上午8:30分拿到题目以后,就要潜心研究题目,吃透研究透题目。在中午的时候确定做哪个题目,然后就要开始查找文献资料。确定做哪个题最迟不能拖到晚上8:30分,也就是说一定要在拿到题目后12个小时内确定选题。查找资料的工作则要在第二天的上午10整前结束了,第一天就这么过,并要适当休息下,保证以后几天的精力。当然如果体力充沛的话可以不用睡觉,本人在两次全国赛中80个小时最多休息了4个小时,在浙大有个记录是连续5天不睡觉的,这个记录是不敢破,毕竟没那么好的体力。在第一天的时候理解题意是最关键的,并且一定要理解透彻,并且理解的越快越好。
但是我们正是在这种分歧中对题目了解的更透彻,对细节搞的更清楚。我专职数学我的队友专职计算机,因此在考虑问题的时候从数学角度出发,我的队友从计算机程序算法角度出发,着重复杂性研究,不发生分歧才怪,经常争的面红耳赤,就差动手了。虽然如此,但丝毫不损伤个人感情。
在工作中,常常有一些想法出来,无论这些想法是可行的还是荒诞的,都要记下来。因为那或许就是问题的解决之法,或许就是闪光点。无论是来得及做的和来不及做的都记下,来不及做的可在论文的发展或优缺点中给予体现。这些就是闪光的地方。在工作中一定要有重点,分先后。先做主干,再补充枝干,有层次的做。
在碰到困难的时候一定要镇定,不能惶急。不要逃避要用于面对,一定能解决的。很多困难无非就是建模和解模的困难。建模中碰到困难则不妨换个思路,跳出局部从全局看,换个角度等等。在解模中碰到困难则要进行估值,降低求解范围和难度,但是一定要注意的是绝对不要伪造数据,因为这样一则有为诚信二则很容易在答案上误差较大直接出局。在无法求解的情况下不妨求助于图表,让可视化来代替,当然还有很多方法可以解决,总之一定要诚信第一,要有信心和恒心。
在写论文的时候一定要注意经常保存备份。
作者:毅飞冲天@
前言:看完数学建模的统计回归模型,更是感到了数学建模的“细腻”之处,对比与机器学习,如果说机器学习像是“打一场仗”,那数学建模更是像“做一场手术”,一个简单的回归问题也可以从中感觉到他“细腻”的美感
回归模型是利用统计分析方法建立的最常用的一个模型,下面将通过对软件得到的结果进行分析,进而改进我们的模型。
下面将用3个例子展示对回归模型的优化。
1.牙膏的销售模型
假设我们拿到的数据如下:
我们可以根据数据建立一个基本的模型:
y:公司牙膏销售量y:公司牙膏销售量
x1:价格差x1:价格差
求解这个模型我们会得到下面的结果:
这说明y的90.54%可以由模型确定,x2对因变量y的影响不太显著(因为β2的置信区间包括0点β2的置信区间包括0点)。
这些数据具体到公司的销售量到底意味着什么呢?
那么我们就有95%把握知道销售量在7.8320百万支以上。
优化——加入交互项
刚才我们只考虑了每个因素单独的影响,现在我们考虑他们的影响有交互作用,即我们的模型变为:
从而求得的结果为:
下面是模型的比较:
那么加入交互项对模型有什么影响呢?
由上图我们可以容易的总结出以下两条:
2.软件开发人员的薪金
建立模型研究薪金与资历、管理责任、教育程度的关系,从而分析人事策略的合理性,作为新聘用人员薪金的参考
数据为46个开发人员的薪资
资历~从事专业工作的年数;管理~1=管理人员,0=非管理人员;教育~1=中学,2=大学,3=更高程度
建立基本模型
y薪金,x1资历(年)y薪金,x1资历(年)
x2=1管理人员,x2=0非管理人员x2=1管理人员,x2=0非管理人员
x3=1中学,x3=0其它x3=1中学,x3=0其它
x4=1大学,x4=0其它x4=1大学,x4=0其它
所以:
中学:x3=1,x4=0;大学:x3=0,x4=1;更高:x3=0,x4=0中学:x3=1,x4=0;大学:x3=0,x4=1;更高:x3=0,x4=0
回归模型为:
得到结果:
我们可以从得到结果分析:
资历增加1年薪金增长546
管理人员薪金多6883
中学程度薪金比更高的少2994
大学程度薪金比更高的多148
a4置信区间包含零点,解释不可靠!
优化——残差分析
残差:e=y?y^e=y?y^
残差与资历x1的关系
可见残差的波动较大
管理与教育的组合一共有6种:
比较残差和管理——教育组合的关系:
残差全为正,或全为负,管理—教育组合处理不当,应在模型中增加管理x2与教育x3,x4的交互项
改进的模型
去除异常的值
R,F有改进,所有回归系数置信区间都不含零点,模型完全可用
由此可以定制6种管理—教育组合人员的“基础”薪金(资历为0)
大学程度管理人员比更高程度管理人员的薪金高
大学程度非管理人员比更高程度非管理人员的薪金略低
总结一下
我们利用了残差分析法发现模型的缺陷,并且由前两个我们也可以发现,引入交互项往往能够改进模型
3.投资额与国民生产总值和物价指数
根据对未来国民生产总值(GNP)及物价指数(PI)的估计,预测未来投资额
该地区连续20年的统计数据
首先建立基本的统计回归模型:
t?年份,yt?投资额,x1t?GNP,x2t?物价指数t?年份,yt?投资额,x1t?GNP,x2t?物价指数
根据数据得到的结果:
此模型不足的地方:
定性诊断——残差分析
模型残差:et=yt?y^tet=yt?y^t
et?1et?1表示上一个数据的残差
画出et?et?1et?et?1的散点图
定量诊断——D-W检验
Q1:如何估计ρρ?
A1:D-W统计量
D-W统计量的计算
那如何知道dL和dU呢?这是可以查表的。
A2:广义分差法
例如我们样本容量n=20,回归变量数目k=3,a=0.05,我们可以查到临界值dL=1.10,dU=1.54
于是我们就可以得到新的模型:
浓度等后一个量往往受前一个量的影响,在建立模型时往往要考虑前一个值得影响
作者:土豆洋芋山药蛋
类别
类别(2)
模型名称
关键点
备注
参考书目
复杂系统
库存模型
排队模型
可靠系统
差分方程模型
动力系统类
酵母菌增长模型
平衡点;平衡点的分类
地高辛衰减模型
战争模型
总量一定时,对单量的分配
竞争物种模型
不稳定平衡:对初始值敏感
比例性模型
钓鱼比赛模型
几何相似性
身高、体重与灵活性模型
数据拟合模型
最小二乘拟合
停止距离模型
97
海湾收成模型
多项式拟合
磁带播放模型
高阶多项式敏感度很强
光滑化
115
停止距离模型(2)
三阶样条法。有自然和强制样条两种
134
预测
GM(1,1),指数平滑,线性平滑
因果分析法
聚类分析
灰色关联度分析
因子分析
模拟方法
蒙特卡罗算法
硬币投掷模型
149
汽油储存模型
逆线性样条(可改变随机数范围)
155
港口系统模型
改变参数时,改善情况的分析
164
离散概率模型
马尔可夫链
汽车租赁模型
要结合蒙特卡罗算法
176
投票趋势模型
177
Markov决策
串联和并联系统模型
178
线性规划模型
无约束类
生产计划模型
192
取整数类
载货模型
194
动态规划类
197
多目标规划类
投资问题
有时须对目标进行取舍。可采取加权
系统层次分析
196
冲突目标
Minmax与maxmin
机会约束
约束满足概率性>P
矛盾约束
约束相互矛盾
单纯形法
木匠生产模型
注意步骤性。
215
组合模型
参数模型
动态规划
决策法
背包问题
排序问题
多步骤形的规划
数值搜索法
工业流程优化
黄金分割搜索法
还有二分搜索法
233
网络流
最大树
最大流
最短路
关键路线法
网络计划
布点问题
中心问题
重心问题
运输问题
分配问题
匈牙利方法
最大匹配
最优匹配
旅行推销问题
中国邮递员问题
非线性规划
分式规划
目标是分式
凸规划
几何规划
对策
2人0种对策
鞍点对策
混合对策
合作
量纲分析模型
单摆模型
通过实验选择最终模型
253
爆炸模型
函数随爆炸威力上升改变
258
烤火鸡模型
262
阻力模型
使用相似性、比例性。
注意它额外定义的物理量。
268
图标模型
军备竞赛模型
民防、移动发射台、多弹头
271
税收归宿模型
税收-能源危机模型
参考经济学书籍!
288
税收-汽油短缺模型
微分方程模型
人口模型
马尔萨斯人口模型
无限增长
299
有限增长模型
可推广到其它生物的增长
301
用药模型
储蓄模型
326
生物关系模型
竞争捕猎模型
363页:相应的Euler法使用
捕食者-食饵模型
Scheafer微分方程模型
Lanchester战斗模型
350
SIR模型
军备竞赛的经济模型
355
混沌与分形模型
连续优化问题
Steiner树
制造模型
最陡上升梯度方法
375
石油转运模型
Lagrange乘子法
注意里面涉及到的经济学概念和意义
381
航天飞机的水箱模型
渔业模型
注意各种“最优”的意义
384
最优化
模拟退火法
神经网络
遗传算法
分治算法
差分进化
蚁行算法
粒子群
不确定
模型
灰色系统
数理统计
模糊数学
一、蒙特卡洛算法
又称随机抽样或统计模拟方法,以是一种以概率统计理论为指导的一类非常重要的数值计算方法。此方法使用随机数(或最常见的伪随机数)来解决很多计算问题的方法。由于传统的经验方法不能逼近真实的物理过程,很难得到满意的结果,而蒙特卡洛方法由于能够真实的模拟实际物理过程,故解决问题与实际非常符合,可以得到很满意的结果。
基本原理及思想:当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。
二、数据拟合、参数估计、插值等数据处理方法
我们通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具。数据拟合在数学建模比赛中中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是98年数学建模美国赛A题,生物组织切片的三维插值处理,94年A题逢山开路,山体海拔高度的插值计算,还有吵的沸沸扬扬可能会考的“非典”问题也要用到数据拟合算法,观察数据的走向进行处理。
此类问题在MATLAB中有很多现成的函数可以调用,熟悉MATLAB,这些方法都能游刃有余的用好。
三、线性规划、整数规划、多元规划、二次规划等规划类问题
数学建模竞赛中很多问题都和数学规划有关,可以说不少的模型都可以归结为一组不等式作为约束条件、几个函数表达式作为目标函数的问题,遇到这类问题,求解就是关键了,列举规划后用Lingo、Lindo等软件来进行解决比较方便。
四、图论算法
Dijkstra、Floyd、Prim、Bellman-Ford,最大流,二分匹配等问题。
五、动态规划、回溯搜索、分治算法、分支定界等计算机算法
六、最优化理论的三大经典算法:模糊退火法、神经网络、遗传算法
遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择和杂交等。
遗传算法通常实现方式是一种计算机模拟。对于一个最优化问题,一定数量的候选解(称为个体)的抽象表示(称为染色体)的种群向更好的解进化。传统上,解用二进制表示,但也可以用其他表示方法。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中,整个种群的适应度被评价,从当前种群中随机的选择多个个体(基于他们的适应度),通过自然选择和突变产生新的生命种群,该种群在算法的下一次迭代中成为当前种群。
七、网络算法和穷举法
网格算法和穷举法一样,只是网格法是连续问题的穷举。
比如要求在N个变量情况下的最优化问题,那么对这些变量可取的空间进行采点。
比如在[a;b]区间内取M+1个点,就是a;a+(ba)=M;a+2¢(ba)=M;…;b
那么这样循环就需要进行(M+1)N次运算,所以计算量很大。
八、一些连续离散化方法
大部分物理问题的编程解决,都和这种方法有一定的联系。物理问题是反映我们生活在一个连续的世界中,计算机只能处理离散的量,所以需要对连续量进行离散处理。
这种方法应用很广,而且和上面的很多算法有关。事实上,网络算法、蒙特卡洛算法、模拟退火都用了这个思想。
九、数值分析方法
数值分析是数学的一个分支,主要研究连续数学问题的算法。
如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。
这类算法是针对高级语言而专门设的,如果你用的是MATLAB、Mathematica,大可不必准备,因为像数值分析中有很多函数一般的数学软件是具备的。
十、图像处理算法
在数学建模竞赛中:比如01年A题中需要你会读BMP图象、美国赛98年A题需要你知道三维插值计算,03年B题要求更高,不但需要编程计算还要进行处理,而数模论文中也有很多图片需要展示,因此图象处理就是关键。做好这类问题,重要的是把MATLAB学好,特别是图象处理的部分
§1线性规划
在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear
Programming简记LP)则是数学规划的一个重要分支。
1.1线性规划的Matlab标准形式
线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab中规定线性
规划的标准形式为
其中c和x为n维列向量,A、Aeq为适当维数的矩阵,b、beq为适当维数的列向量。
运输问题(产销平衡)、指派问题(匈牙利算法)、对偶理论与灵敏度分析、投资的收益和风险
§2整数规划
2.1定义
规划中的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型中,变量限制为整数,则称为整数线性规划。目前所流行的求解整数规划的方法,往往只适
用于整数线性规划。目前还没有一种方法能有效地求解一切整数规划。
2.2整数规划的分类
如不加特殊说明,一般指整数线性规划。对于整数线性规划模型大致可分为两类:
1变量全限制为整数时,称纯(完全)整数规划。
2变量部分限制为整数的,称混合整数规划。
2.3整数规划特点
(i)原线性规划有最优解,当自变量限制为整数后,其整数规划解出现下述情况:
①原线性规划最优解全是整数,则整数规划最优解与线性规划最优解一致。
②整数规划无可行解。
③有可行解(当然就存在最优解),但最优解值变差。
(ii)整数规划最优解不能按照实数最优解简单取整而获得。
2.4求解方法分类:
(i)分枝定界法—可求纯或混合整数线性规划。
(ii)割平面法—可求纯或混合整数线性规划。
(iii)隐枚举法—求解“0-1”整数规划:
①过滤隐枚举法;
②分枝隐枚举法。
(iv)匈牙利法—解决指派问题(“0-1”规划特殊情形)。
(v)蒙特卡洛法—求解各种类型规划。
§3非线性规划
如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。一般说来,解非线性规划要比解线性规划问题困难得多。而且,也不象线性规划有
单纯形法这一通用方法,非线性规划目前还没有适于各种问题的一般算法,各个方法都有自己特定的适用范围。
3.1线性规划与非线性规划的区别
如果线性规划的最优解存在,其最优解只能在其可行域的边界上达到(特别是可行域的顶点上达到);而非线性规划的最优解(如果最优解存在)则可能在其可行域的任
意一点达到。
3.2非线性规划的Matlab解法
Matlab中非线性规划的数学模型写成以下形式
其中f(x)是标量函数,Beq,Aeq,B,A是相应维数的矩阵和向量,Ceq(x),C(x)是非线性向量函数。
Matlab中的命令是
X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)
它的返回值是向量x,其中FUN是用M文件定义的函数f(x);X0是x的初始值;A,B,Aeq,Beq定义了线性约束Beq=X*Aeq,A*x≤B,如果没有线性约束,则A=[],B=[],Aeq=[],Beq=[];LB和UB是变量x的下界和上界,如果上界和下界没有约束,则LB=[],UB=[],如果x无下界,则LB的各分量都为-inf,如果x无上界,则UB的各分量都为inf;NONLCON是用M文件定义的非线性向量函数Ceq(x),C(x);OPTIONS定义了优化参数,可以使用Matlab缺省的参数设置。
3.3相应问题
无约束问题(一维搜索方法、二次插值法、无约束极值问题的解法)、约束极值问题(二次规划、罚函数法)、飞行管理问题
§4动态规划(搞ACM的较熟)
动态规划(dynamicprogramming)是运筹学的一个分支,是求解决策过程(decisionprocess)最优化的数学方法。例如最短路线、库存管理、资源分配、设备更新、排序、装载等问题,用动态规划方法比用其它方法求解更为方便。
§5与网络模型及方法(搞ACM的较熟)
图论中所谓的“图”是指某类具体事物和这些事物之间的联系。如果我们用点表示这些具体事物,用连接两点的线段(直的或曲的)表示两个事物的特定的联系,就得到了描述这个“图”的几何形象。图论为任何一个包含了一种二元关系的离散系统提供了一个数学模型,借助于图论的概念、理论和方法,可以对该模型求解。哥尼斯堡七桥问题就是一个典型的例子。在哥尼斯堡有七座桥将普莱格尔河中的两个岛及岛与河岸联结起来,问题是要从这四块陆地中的任何一块开始通过每一座桥正好一次,再回到起点。
图与网络是运筹学(OperationsResearch)中的一个经典和重要的分支,所研究的问题涉及经济管理、工业工程、交通运输、计算机科学与信息技术、通讯与网络技术等诸多领域。主要包括最短路问题、最大流问题、最小费用流问题和匹配问题等。
§6排队论模型(2017年美赛B题,2005年美赛B题主要涉及排队论)
排队论(QueuingTheory)也称随机服务系统理论,就是为解决上述问题而发展的一门学科。它研究的内容有下列三部分:
(ii)最优化问题,又分静态最优和动态最优,前者指最优设计。后者指现有排队系统的最优运营。
(iii)排队系统的统计推断,即判断一个给定的排队系统符合于哪种模型,以便根据排队理论进行分析研究。
6.1排队系统的组成和特征
一般的排队过程都由输入过程、排队规则、服务过程三部分组成,现分述如下:
6.1.1输入过程
(i)顾客的组成可能是有限的,也可能是无限的。
(ii)顾客到达的方式可能是一个—个的,也可能是成批的。
6.1.2排队规则
排队规则指到达排队系统的顾客按怎样的规则排队等待,可分为损失制,等待制和混合制三种。
(i)损失制(消失制)。当顾客到达时,所有的服务台均被占用,顾客随即离去。
(ii)等待制。当顾客到达时,所有的服务台均被占用,顾客就排队等待,直到接受完服务才离去。例如出故障的机器排队等待维修就是这种情况。
排队方式还分为单列、多列和循环队列。
6.1.3服务过程
(i)服务机构。主要有以下几种类型:单服务台;多服务台并联(每个服务台同时为不同顾客服务);多服务台串联(多服务台依次为同一顾客服务);混合型。
(ii)服务规则。按为顾客服务的次序采用以下几种规则:
①先到先服务,这是通常的情形。
②后到先服务,如情报系统中,最后到的情报信息往往最有价值,因而常被优先处理。
③随机服务,服务台从等待的顾客中随机地取其一进行服务,而不管到达的先后。
④优先服务,如医疗系统对病情严重的病人给予优先治疗。
§7对策论(搞ACM的较熟)
对策论亦称竞赛论或博弈论。是研究具有斗争或竞争性质现象的数学理论和方法。一般认为,它既是现代数学的一个新分支,也是运筹学中的一个重要学科。对策论发展的历史并不长,但由于它所研究的现象与人们的政治、经济、军事活动乃至一般的日常生活等有着密切的联系,并且处理问题的方法又有明显特色。所以日益引起广泛的注意。
在日常生活中,经常看到一些具有相互之间斗争或竞争性质的行为。具有竞争或对抗性质的行为称为对策行为。在这类行为中。参加斗争或竞争的各方各自具有不同的目标和利益。为了达到各自的目标和利益,各方必须考虑对手的各种可能的行动方案,并力图选取对自己最为有利或最为合理的方案。对策论就是研究对策行为中斗争各方是否存在着最合理的行动方案,以及如何找到这个合理的行动方案的数学理论和方法。
§8层次分析法
层次分析法(AnalyticHierarchyProcess,简称AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。
层次分析法的基本原理与步骤
人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。层次分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。运用层次分析法建模,大体上可按下面四个步骤进行:
(i)建立递阶层次结构模型;
(ii)构造出各层次中的所有判断矩阵;
(iii)层次单排序及一致性检验;
(iv)层次总排序及一致性检验。
下面分别说明这四个步骤的实现过程。
8.1递阶层次结构的建立与特点
应用AHP分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次的结构模型。在这个模型下,复杂问题被分解为元素的组成部分。这些元素又按其属性及关系形成若干层次。上一层次的元素作为准则对下一层次有关元素起支配作用。
这些层次可以分为三类:
(i)最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果,因此也称为目标层。
(ii)中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。
(iii)最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层。
递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般地层次数不受限制。每一层次中各元素所支配的元素一般不要超过9个。这是因为支配的元素过多会给两两比较判断带来困难。
层次分析法的应用
在应用层次分析法研究问题时,遇到的主要困难有两个:(i)如何根据实际情况抽象出较为贴切的层次结构;(ii)如何将某些定性的量作比较接近实际定量化处理。
层次分析法对人们的思维过程进行了加工整理,提出了一套系统分析问题的方法,为科学管理和决策提供了较有说服力的依据。但层次分析法也有其局限性,主要表现在:
(i)它在很大程度上依赖于人们的经验,主观因素的影响很大,它至多只能排除思维过程中的严重非一致性,却无法排除决策者个人可能存在的严重片面性。(ii)比较、判断过程较为粗糙,不能用于精度要求较高的决策问题。AHP至多只能算是一种半定量(或定性与定量结合)的方法。
在应用层次分析法时,建立层次结构模型是十分关键的一步。
§9插值与拟合
插值:求过已知有限个数据点的近似函数。
拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。
插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。而面对一个实际问题,究竟应该用插值还是拟合,有时容易确定,有时则并不明显。
插值方法
几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插值、Hermite插值和三次样条插值。
曲线拟合的线性最小二乘法(线性最小二乘法)
最小二乘优化(lsqlin函数、lsqcurvefit函数、lsqnonlin函数、lsqnonneg函数)