《数学建模参赛真实经历总结_.docx》由会员分享,可在线阅读,更多相关《数学建模参赛真实经历总结_.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数学建模参赛真实经历总结_数学建模参赛真实经历总结数学建模参赛真实经历总结数学建模参赛真实经历一、怎样准备数学建模竞赛一般,能够把参加数学建模竞赛的经过分成三个阶段:第一阶段,是个人的入门和积累阶段,这个阶段关键看个人的主观能动性;第二阶段,就是通常各学校都进行的集训阶段,通过模拟实战来提高参赛队员的水平;第三阶段是实际比赛阶段。这里讲的怎样准备数学建模竞赛是针对第一阶段来讲的。回首作者本人的参赛经过,以为这个阶段是真正的学习阶段,就像是修炼内功一样,假如在这个阶段打下深厚的基础,对后面的两个阶段非常有利,也是个人能否能在建模竞赛中占优势的关键阶段。下面就分几个方面谈一下怎样准备数学建模竞赛。
2、首先是要有一定的数学基础,尤其是良好的数学思维能力。并不是数学分数高就讲明有很高的数学思维能力,但扎实的数学知识是数学思维的根基。对大学生来讲,有高等数学、概率和线性代数就够了,当然其它数学知识知道的越多越好了,如图论、排队论、泛函等。我大一下学期开场接触数学建模,大学的数学课程只学习过高等数学。讲这一点,主要想讲明只要数学基础还能够,平常的数学考试都能在80分以上就能够参加数学建模竞赛了,数学方面的知识能够在以后的学习中逐步去提高,不必刻意去补充单纯的数学理论。真正准备数学建模竞赛应该从看数学建模书籍开场,要知道什么是数学建模,有哪些常见的数学模型和建模方法,知道一些常见的数学建模案例,这些
3、方面都要通过看建模方面的书籍而获得。如今数学建模的书籍也比拟多,图书馆和互联网上都有丰富的数学建模资料。作者以为姜启源、谢金星、叶齐孝、朱道元等教师的建模书籍都非常的棒,能够先看二三本。刚开场看数学建模书籍时,一定会有很多地方看不懂,但要知道基本思路,时间长了就知道什么问题用什么建模方法求解了。这里面需要提的一点是,运筹学与数学建模息息相关,最好再看一二本运筹学著作,仍然能够采取诸葛亮的看书策略,只观其大概就能够了,等知道需要详细用哪块知识后,再集中精神将其消化,然后应用之。大家都知道,参加数学建模竞赛一定要有些编程功底,当然如今有Matlab这种强大的工程软件,对编程的的要求就降低了,至少入
4、门容易多了,由于很容易用1条Matlab命令数学建模参赛真实经历总结数学建模参赛真实经历总结解决以前要用20行C语言才能实现的功能。由于Matlab的强大功能,Matlab在数学建模中已经有了非常广泛的应用,在很多学校,数学建模队员必须学习Matlab。当然Matlab的入门也非常容易,只要有本Matlab参考书,照猫画虎能够很快实现一些基本的数学建模功能,如数据处理、绘图、计算等。我的一个队友,当年用一天时间把一本二百多页的Matlab教程操作完了,然后在经常运用中,渐渐地就变成了一名Matlab高手了。对于有些编程基础的同学,最好再看一些算法方面的书籍,了解常见的数据构造和基本的遍历、二分
5、等算法,然后再了解一些智能优化算法,如遗传算法、蚁群算法、模拟退火算法等。这样,在以后编程求解模型的经过中,就很容易寻找到适宜的求解算法。对于参加数学建模的队员来讲,我们都知道要具备一定的数学基础,一定的编程能力,还有就是论文写作能力和团队合作能力。对于后者,主要是看个人固有的能力,不需要去刻意准备,在以后的集训阶段再加以训练就能够了。二、数学建模队员应该怎样学习Matlab对理论的把握并不代表对知识的真正理解。对于一些所谓高深的理论都能够本人编写程序来检验对其理解的程度。我的经历是:只要你把程序流畅地写出来,才是真正意义上对知识理解通透了。比方,我在大三学电力系统分析的时候,就本人用Matl
6、ab语言编写了牛拉法求潮流的程序,计算暂态稳定的简单程序,计算发电机短路电流的程序等。自然地这些专业课程都学得不错。Matlab是一门优秀的编程语言,在欧美非常普及。选择一门顺手的编程语言能够让你在学习和工作中事倍功半。Matlab是一种语言由于它能够用作编程,也是一种软件由于它自带的工具箱具有类似软件前台的GUI界面以及能够轻松实现人机通信功能。在学习Matlab编程之前,需要对其有一个基本的了解:(1)数据处理能对数据进行计算、分析和挖掘,数据处理函数功能强大,命令简洁;(2)软件工具箱各式各样的工具箱,包括神经网络工具箱、Simulink工具箱固然Simulink从底层开发出来的,但是我
7、们以为也是工具箱的一种、模糊工具箱、数字图像处理工具箱和金融工具箱等;(3)精致绘图数学建模参赛真实经历总结数学建模参赛真实经历总结Matlab通过“set命令重设图形的句柄属性,可绘制精准而美观的图形;(4)动画实现Matlab能够进行实时动画、电影动画和AVI视频制作,并能在动画中添加*.WAVE格式的音频;(5)与软硬件通信Matlab接口函数能够实现与软件比方C和硬件比方电子示波器通信;(6)平面设计与全球最顶尖的平面设计软件AdobePhotoshop联袂使用,传达震撼的视觉设计效果;(7)游戏开发利用Matlab语言能够开发一整套的游戏,比方开发32关的推箱子游戏。根据我对Matl
8、ab将近6年的学习经历,学习Matlab编程就像读一本书,刚开场读时感觉这本书很薄,内容粗浅,容易上手,似乎感觉Matlab语言是最容易学会最简单的一门编程语言;继续读下去感觉这本书其实很厚。初学Matlab编程经过中经常会碰到五大困惑:其一,函数指令把握太少,写不出简洁的程序甚至正确有效的代码也写不出;初学者浏览一个Matlab编程高手写出的一个相对复杂的程序,会发现不但整篇程序的思路难以理解,而且会碰见很多陌生的命令,就像一篇英文浏览理解有很多单词都不认识。本人动手写程序想表达的意思表达不出来,力不从心。其二,不能把握Matlab函数复杂的语法格式;相比VB和C而言,Matlab语法格式比
9、拟复杂。语法格式不正确程序就不能运行,同一个命令有很多种语法格式。格式不同,程序输出的结果就大相迳庭。比方使用“streamribbon命令创立三维流带图,其语法格式为streamribbon(x,y,z,u,v,w,sx,sy,sz);那么向量x,y,z,u,v,w,sx,sy,sz分别代表什么意义,各向量之间知足什么样的长度关系都必须真真切切地理解,否则由于不能键入正确的向量而不能画出三维流带图。其三,能套用别人程序本人却丝毫没有程序开发能力;比方在神经网络工具箱中,各种创立、学习和训练网络的函数命令诸多,语法格式复杂,套用别人已经编好的神经网络程序比拟简单,但是假如本人对照各个函数的用法
10、书写完好的神经网络程序却不是简单的事,由于你没有从本质上理解这些命令。这就是讲,你只能模拟别人的程序,却不能触类旁通本人开发程序。其四,不能准确全面地理解指令实现的功能;比方在Matlab中实现排序功能的命令是“sort,而在C语言中假如想实现排序,那就必须根据“冒泡法原理编写一小段的程序实现数学建模参赛真实经历总结数学建模参赛真实经历总结排序;固然Matlab命令用起来比C简便,但是假如对“sort命令原理不了解,就不能知晓“sort是实现升序排列还是降序排列,对于矩阵是按行排序还是按列排序。所以当我们使用将繁琐的原理封装在Matlab里的命令时,假如不熟悉该命令的原理,那么使用时至少要在命
11、令窗口中键入该命令以便试探它的用法。其五,函数的参数不知道怎样调整。比方使用命令“imadjust对轮廓不明晰的数字图像进行处理时,处理过的图像也许轮廓分明,但是很多都是伪轮廓,已经改变了原始图像的品质,所以在使用该命令时一定要注意拿捏好校正因子的大小。又如在编写BP网络源程序经过中,网络始终无法收敛且找不出原因,很多人都会怀疑是不是网络的拓扑构造设计有问题,其实很多情况下症结都是出在网络学习速率参数的大小上,只要将参数调小一点,网络也许就会立即收敛。当你不知道参数的详细取值时,不妨多调试几次。最后通过长时间扎实的学习,对Matlab主程序命令和常用的一二个工具箱已经基本把握,写起程序来才会思
12、路涌涌而至,得心应手,轻车熟路,感觉这本书其实还是比拟薄。由于MATLAB函数命令丰富,完全把握没有必要也很难,只要把握经常用到的命令就能够了。科学研究表明,只要把握知识的60%就能够运用了。对于碰见的一些生僻的函数用法时,能够查询Matlabhelp命令寻求帮助或者身边备用一本Matlab函数词典。那么怎样学好Matlab编程呢?我以为需要做到下面三点:(1)多看多记多浏览优质的程序,注意细细体会程序设计的思想,记下常用指令及其用法,准备一个笔记本,将看到好的程序段落摘抄下来或者复印,积累多了,装订成册。(2)多练多想模范别人的程序段,然后进行优化或改编。多多尝试开发小程序,多考虑程序设计的
13、流程,同时适当地借鉴一些程序设计艺术技巧。(3)不要“偷懒初学者往往喜欢将别人或者本人以前编好的程序段甚至某一个指令复制粘贴过来,而懒得动手去写,这个习惯不好,尽管外表上是节省了一点时间。固然这些指令对于初学者来讲都认识,而且印象中也会写,但是时间长了,很多命令就不是记得很准确了。比方,函数“linspace经常会被写成“linespace,属性名“markersize会被错误地写成“markesize了。等等。世界上没有100%的完美。Matlab这样优秀的软件也有缺陷:编译一直不顺畅和程序不能脱离Matlab环境运行。数学建模参赛真实经历总结数学建模参赛真实经历总结三、怎样才能在数学建模竞
14、赛中获得好成绩要想在数学建模竞赛中获得好成绩,需要具有下面三个条件:一是有好的数学模型。评价一个数学模型的优劣,不在于用了什么高深的方法,而是要能够有效、简便、恰当地解决实际的问题,应该讲在能够有效解决问题的情况下,使用的数学方法越简单越好,这样大家才能够容易理解,我三次获国家一等奖的的模型都是用初等数学里面的基础知识建立的,没有什么高深的理论,应到的知识高中阶段都已经学习过了。二是要有好的求解方法。越是复杂的问题,对算法的要求就越高,对求解方法的评价主要是对算法的评价,一般比拟容易求解的数学模型就不太会关注其求解方法。一些比拟难的数学建模问题,其难点归结到底就是算法和编程实现的问题。一个好算
15、法的评价准则是,能够快速、准确给出最优解。三是要有高质量的论文。论文才是决定能否能获得好成绩的最重要的部分,但是没有好的数学模型和算法,也是不可能有什么高质量论文的。在建模中所谓的高质量论文,就是把建模经过和求解经过描绘清楚,让评委很容易知道你们是怎样分析问题的,数学模型是什么,用了什么方法求解的,最后的结论是什么。只要能把这些问题表述清楚了,论文层面就没有问题了。从作者指导学生比赛的经过来看,绝大多数队最大的问题就是论文的写作,队员写出来的内容连本人的队友都看不懂,更别讲让其别人看懂了。所以讲在组队的经过中,每个队至少要确保有一名文字功底扎实,能够把问题讲清楚的同学。要想在三天三夜的时间内同
16、时把这三件事情都做好,其实对团队的要求还是很高的,既要求整个团队有很高的数学建模能力、编程求解能力和论文写作能力,同时还要求团队有很高的配合能力。一个人再厉害,在有限的时间内,完成这些事情是非常艰巨的。我本人一天最多写10页建模论文,一般的国家一等奖论文都在20页左右,假如是我本人干的话,三天时间只够我写论文的,其它任何事情都干不了。从作者的数学建模参赛经历和竞赛指导经历来看,要想在数学建模竞赛中获奖,需要注意下面几个方面:(1)合理的队员组合这点是获奖的基础,所有队员都必须具备较好的数学和计算机基础,其中应该有个队员有较好的应用数学思维,能够分析清楚问题的来龙去脉,然后将问题和数学方法联络起
17、来,进而建立求解问题的数学模型。还要有个编程能力比拟强的,熟悉常见算法,有较丰富的Matlab等语言编程经历的队员。另外就是要有个科技论文写作强的,能够将做的模型和求数学建模参赛真实经历总结数学建模参赛真实经历总结解方法表达清楚。这里面,队长的作用相当大,队长的综合协调能力一定要高,所谓“兵雄雄一个,将雄雄一窝,所以这个队长一定要雄点,首先能够根据各人的特点组成一支人才搭配合理的队伍。(2)充分的准备和训练兵家有云,不打无准备之仗。对于建模比赛来讲,也一定要做好充分的准备,我一般都是提早一年选择好队友,然后我们本人训练。我觉得熟悉常见的模型和建模方法很重要,有些问题一看到就知道用什么方法求解了
18、,所以要多积累些常见的建模案例,逐步培养建模的悟性,等到量变到质变的时候,就会有种恍然大悟,游刃有余的感觉。我的一个出色的队友,接触一年的数学建模后,讲他如今思路十分开拓,有种“思接千载,神游万里的感觉。我想这是真的,由于有时我也有这种感觉。另外就是一般高校都有的建模竞赛集训,我觉得这种方式很利于提高建模竞赛水平,我第一次参加集训是大一暑假,第一篇论文写了2页,就像是解应用题,实在是没内容写;第二篇论文就写了8页,有点东西了,以后逐步有思路了。当然学校的集训是种强化训练方式,需要有点基础和准备。训练的好处是一方面增加建模经历,二是练习编程水平,三是磨合队友之间的关系,四是开拓思路和积累经历。(
19、3)重视建模论文的模板和技巧建模论文是最后决定能否获奖的关键,一定要有这方面的意识,并重视它。我这样讲的一个原因是有的队总重视模型和算法,花三天的时间在建模和编程上,到最后只要几个小时的时间写论文,可想而知,这样的论文能写好吗?即便模型再好,算法再好,结果再准确,可假如论文里面没有体现出来,再好的模型和结果谁会知道呢。数学建模论文有它固定的规范,一般都至少要包含问题、假设、模型、求解、结果和评价,另外还能够有其它一些内容,如稳定性分析、参数灵敏度分析等内容。只要平常多看几篇建模论文,就基本上知道怎样去写建模论文了,最重要的还是作者的文字能力和逻辑能力,要能够将整个建模和求解经过在模板的基础上根
20、据一定的逻辑明晰地表达出来。所以在组队的时候一定要确保有一名能将论文写好的同学。(4)合理的时间安排建模比赛有一定的时间限制,怎样充分利用有效的时间对能否能获得好成绩也至关重要。我见过一些队,选题选了一天,讨论讨了一天,最后一天建模型和编程,这样一来,实际上做事的时间就一天的时间,可想而知,这样的时间安排就是相当不合理了,获得好成绩的可能性也小了。以前我们队参赛的时候,我们就定了进度表,1小时内要确定选哪道题,第一天要建好数学模型并确定求解的方法,通常一个上午这些工作都完成了,我们实际上将数学建模参赛真实经历总结数学建模参赛真实经历总结所有的时间资源都花在有效的事情上了,所以我们做起来相对就轻
21、松多了,到第三天的晚上以后,就修改和排版论文了。当然时间的安排和分工是要保持一致的,这也就要求队长必须具备较好的协调、组织和进程控制能力。关于时间和进程的管理问题,也是一门学问,将在下一个小节就建模团队的项目管理和时间管理问题,再讲明这方面的内容。5勇争第一的意识和勇气建模对队员的意志力要求也比拟高,学习和参加建模比赛的经过应该讲是种比拟辛苦的的活动,要能够安下心来看那些看不懂的知识,在训练和比赛中,也会经常碰到那种无从下手的问题,假如调节能力不好的话,讲不定人会被逼疯啊。但经过一段时间后,也许你就会有种意识,时间会改变一切,我也会经常碰到无从下手的问题,可是三天三夜的时间过去后,我们仍然是解
22、决了所有的问题,这里面就需要我们坚持。我就喜欢我的队友们能发现问题,我们很屡次的进步都是在发现问题,并在努力解决之的经过中获得了,由于没有问题,就不会强迫你去考虑,所以也就不会有质的飞跃了。另外一点就是要有自信心,相信本人能做好。我第一次参加全国比赛只获得省二等奖,之后我“闭关1个月,分析为什么人家的模型是国家一等,二等,而我只是省二等?忽然有一天,恍然大悟,茅塞顿开,然后就觉得,以后必然能到达国家一等的水平,所以在随后的比赛中,就有了必胜的自信心了。四、数学建模竞赛中的项目管理和时间管理数学建模竞赛属于团体竞赛,有团队就必然存在团队的管理问题,更重要的是建模竞赛中涉及建模、编程、写作、数据处
23、理、文献检索等多重任务,所以建模竞赛的经过能够当成项目施行的经过,这样就能够借助成熟的项目管理方法提高建模竞赛水平。我当时参加比赛时,实际上已经根据项目管理方法进行了,只是当时还不知道什么是项目管理,直到后来参加详细的项目才接触到项目管理的理论和方法。这里主要是让参加建模竞赛的同学在团队管理中要有项目管理的意识,借鉴其方法,以提高建模成绩。我们也没必要再去具体学习项目管理和时间管理,这里我就结合我的参赛经过和项目管理方法,介绍怎样在数学建模竞赛中运用项目管理方法。一般项目的管理分为下面几步:第一步:启动项目,包括发起项目,任命项目经理,组建项目团队。第二步:计划项目,包括制定项目计划,确定项目
24、范围,配置项目人力资源,制定项目风险管理计划。数学建模参赛真实经历总结数学建模参赛真实经历总结第三步:施行、跟踪与控制项目,包括施行项目,跟踪项目,控制项目。第四步:收尾项目,包括项目评审,项目验收等。在实际的建模比赛中,根据以上步骤,能够根据下面的步骤进行项目管理和时间的控制:第一步:快速选题(启动项目),通常我们队在半小时内确定选题,我们的理念是要把时间花在实际的做题经过中,而不要浪费在选题的经过中,由于选题经过是不能产生效益的。根据平常的经历,大体阅读一下题目,就能够知道是哪个领域的哪种类型的问题了,也就大体知道有没有把握做下去了。选题的时候不要考虑别人的情况,只要选择本人队最有把握的题
25、目就能够了。2003年的全国赛中,我们队10分钟后就确定选B题了。我们把题目阅读完后,我首先问我两个队友选哪道题,他们讲都行,然后我就讲选B题吧,就这样定了。比拟费事的情况是,队内有两个人提了不同的意见,这时建议由队长确定选题。第二步:计划的制定,这一步不用单纯为了做计划而作计划,我当时根本也没有写任何规划,只是在脑子里要把这个计划大体列了一下,如:谁在哪段时间要完成模型的建立工作;谁在哪段时间要用最快速最基本的方法给出一个初步的结果;整个团队要在哪个时间段内完成第一个子问题的工作;论文初稿要在什么时间内完成。第三步:施行与经过控制,这步最重要,直接决定竞赛的成绩,这一步就靠团队的水安然平静执
26、行力了。我以2003年全国赛中的露天矿卡车调度系统为例,介绍一下我们队建模竞赛的施行和监控经过。选题后,我们每个人都各自细细看题,把有疑问的地方都列出来,然后进行讨论,通过这样的讨论,我们对题目的理解到达统一,同时对问题的理解也会比拟全面和深入,这个经过持续在40分钟左右。对问题的理解到达统一后,就开场讨论建模的思路,经过头脑风暴的讨论后,我总结大家的思路,建立了第一问的数学模型,这个经过大概是30分钟。由于问题中不涉及复杂的数据处理,然后我就开场负责把我们已经做的分析、假设、建模经过输入电脑,一个队友尝试用Matlab求解,另一个队友尝试用Mathematics求解。这样,我们在12点左右吃
27、了午饭,然后继续努力,在下午2点左右就完成了第一问的全部工作,随后转入第二问的求解,这样在第一天晚上10点前,我们就完成了所有的建模和求解工作了。于是晚上我们全队都回去睡觉,而此时还有很多队在通宵选题和讨论。这样一来,我们第一天就把基本的工作都完成了,剩下的时间干嘛呢?从项目的角度,数学建模参赛真实经历总结数学建模参赛真实经历总结我们要在规定的时间内做到精益求精,从获奖的角度,我们能做到的,别的队也会做到,这样就不能脱颖而出了,所以在剩下的时间,我们对算法进行了改良,在原来的问题上参加了新的课题,最后不仅给出了好的模型和求解算法,而且建立了该课题的理论体系,这样使得建模方法既有工程的应用,又有
28、理论的提升,所以我们的论文最后就比拟抢眼。第四步:收尾、修改、润色、校对论文。建模论文的重要性,前面已经讲了很多,等论文初稿出来后,我建议大家再站在评委的角度去检查本人的论文,要检查论文构造能否合理,图表能否适当,文字能否通畅,表述能否明晰,能否还有错别字,等等。我们通常在第三天下午结束论文,要知道建模的课题永远都做不完,都有做头,所以不要恋战,该收尾的时候要收尾,关键是要给本人预留一些时间用来修改论文。在收尾工作里,还有一项工作比拟重要,就是摘要。通常我会在第三天晚上写摘要,这时论文的内容基本上都确定了,只是润色和校对的问题,对大局影响不大。摘要写好后,要反复浏览,力求用最简洁的文字,将本人
29、的思路、方法、模型、结果等内容表述出来。以上就是我们的一些基本体会,这些经历也是我们在建模竞赛的经过中逐步总结出来的,建议大家最好能将这些经历融入到本人的建模实践中去,这样获得的才是真正属于本人的经历。五、一种非常实用的数学建模方法:目的建模法目的建模方法是种逆向建模方法,该方法也是在指导建模比赛的经过中提出来的,其实我们当时已经使用了这种方法。我以为目的建模法的理论基础是管理学中的目的管理,“目的管理的概念是管理学大师彼得德鲁克PeterDrucker最先提出的,其后他又提出“目的管理和自己控制的主张。德鲁克以为,并不是有了工作才有目的,而是相反,有了目的才能确定每个人的工作。在建模竞赛的培
30、训中,我经常碰到的问题是,队员拿到题目后找不到思路,不知道怎样去解决问题。于是我总结以前建模的经历,并以目的管理为理论基础,提出了目的建模方法。目的建模方法的本质是根据问题的目的,为了到达这个目的,而进行的建模经过。我如今以2004年奥运会商区超市的网店设计为例介绍怎样使用目的建模方法。看完题目后,我们就想象到这道题目最后的结果是什么形式,即问题的目的。对于这道题,我们的理想情况是要给出每个商区内各类型超市的数量,并给出他们大致的分布。有了目的后,我们再分析实现这个目的的途径,这样就自然而然转到建模上了。这就是目的建数学建模参赛真实经历总结数学建模参赛真实经历总结模的一个优势,容易找到思路。在
31、分析建模思路的经过中,我们以为要分两步来实现这个终极的目的,首先要求解出各商区内理想的超市数量,能够用目的规划实现。然后根据各类型超市的商圈范围详细设置各超市的位置。这样下来,我们要做什么工作,用什么方法就基本清楚了,下面的工作就是详细实现的问题了。目的建模方法还有一个优点是便于写论文,能够提早设计结果的表现形式,比方这道问题中,我就提早设计好了表现结果的表格,告诉编程的队友,结果放在这个表格中,这样他编程也有了目的。目的建模方法和上面提到的项目管理有很好的一致性,在项目管理中,也要提早制定项目计划,而目的建模中的目的是计划制定中最核心的部分,所以这些方法在本质上是一样。需要提到的,在实际建模比赛中根本也不必刻意去搞清楚这些,否则本人的思路和行为会被这些规则约束的,反而影响成绩。只要本着将事情做好的思想做事就行了,黑猫白猫捉住老鼠才是能猫。以上介绍的这些意识、理念、方法应该讲有一定的借鉴意义,至少在几年的建模竞赛指导的工作实践中证实还不错。需要提醒是不要读死书,注意结合本人的实践,灵敏运用,这样才能起到很好的作用。
限制150内