十类数学建模中的算法.doc
《十类数学建模中的算法.doc》由会员分享,可在线阅读,更多相关《十类数学建模中的算法.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、十类数学建模中的算法1、蒙特卡罗算法: S: T4 h, v# l3 v. j在大多数建模赛题中都离不开计算机的仿真,随机性模拟是非常常见的算法之一。 # Y) b; b E _5 / H举个例子就是97年的A题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108种容差选取方案,根本不可能去解析求解的,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二
2、问,要求设计一种更好的方案,首先方案的优劣决定于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。 ! Z* ?. W# Wn, c5 0 g2、数据拟合、参数估计、插值等算法: ( $ g% g. ( R: u4 D0 P数据拟合在很多赛题中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是98年美赛A题,生物组织切片的三维插值处理,94年A题逢山开路,山体海拔高度的插值计算,还有吵的沸沸扬扬可能会考的非典问题也要用到数据拟合算法,观察数据的走向进行处理。此类问题在Matlab中有很多数据处理现成的函数可以调用,熟悉Matlab,这些方法都能游刃有余的做好。 )
3、0 Z+ m. u1 r5 D; t; D% N 3、规划类问题算法: - d8 J( F! w8 w, v 竞赛中很多问题都和数学规划有关,可以说不少的模型都可以归结为一组不等式组作为约束条件、几个函数表达式作为目标函数的问题,遇到这类问题,求解就是关键了,比如98B,用很多不等式完全可以把问题刻画清楚,因此列举出规划后用Lindo、Lingo等软件来进行解决比较方便,所以还需要熟悉这两个软件。 T: y# q F1 % $ K4、图论问题: $ z) M- Z( 9 L! k7 L: T* A# f98B、00B、95锁具装箱等问题体现了图论问题的重要性,这类问题算法有很多,包括:Dijk
4、stra、Floyd、Prim、Bellman-Ford,最大流,二分匹配等问题。每一个算法认真的话都应该写一遍,否则到比赛时再写就晚了, 2 d4 U3 J! 5 j6 u5、计算机算法设计中的问题: 9 z# J x5 L7 J% qh计算机算法设计包括很多容:动态规划、回溯搜索、分治算法、分支定界。比如92B用分支定界法,97B是典型的动态规划问题,此外98B体现了分治算法。这方面问题和acm中的问题类似,推荐的书籍有计算机算法设计与分析电子工业等与计算机算法有关的书。 * B. C4 B( P3 d8 m; ls6、最优化理论的三大非经典算法: w2 n% 8 k/ r: u模拟退火法
5、、神经网络、遗传算法。这十几年来最优化理论有了飞速发展,这三类算法发展很快,近几年的赛题越来越复杂,很多问题没有什么很好的模型可以借鉴,于是这三类算法很多时候可以派上用场,比如:97A的模拟退火算法、00B的神经网络分类算法、象01B这种难题也可以使用神经网络、还有美国竞赛89A也和BP算法有关系,当时是86年刚提出BP算法,89年就考了,说明赛题可能是当今前沿科技的抽象体现。03B伽马刀问题也是目前研究的课题,目前算法最佳的是遗传算法。 3 Y& m0 c6 f. _# v7、网格算法和穷举算法 9 S( p3 p1 L; & ?1 Y4 a. H, N网格算法和穷举法一样,只是网格法是连续
6、问题的穷举。比如要求在N个变量情况下的最优化问题,那么可以对这些变量可取的空间进行采点,比如在a,b区间取M+1个点,就是在a、a+(b-a)/M、a+2*(b-a)/M、b那么这样循环就需要进行(M+1)N次运算,所以计算量很大。 ! B& u$ K8 M1 8 q/ w9 7 C+ h( _3 w比如97年A题、99年B题都可以用网格法搜索,这种方法最好在运算速度叫快的计算机中进行,还有要用高级语言来做,最好不要用Matlab做网格,否则会算很久的。穷举法大家都熟悉,就不说了。 # m% ) U9 M, S# % d. Z8、一些连续离散化方法 0 l1 E % E& m: K+ p大部分
7、物理问题的编程解决,都和这种方法有一定的联系,物理问题是反映我们生活在一个连续的世界中,计算机求解只认离散的变量,所以需要将连续量进行离散处理,这种方法应用很广,大都和上面的很多算法有关,事实上,网格算法、蒙特卡罗算法、模拟退火都用了这个思想。 8 _* gw7 B2 t! I9 s# i; S3 d9、数值分析算法 . p2 F: y% 4 r1 u6 E这类算法是针对高级语言而专门设的,如果你用的是Matlab、Mathematica,大可不必准备,因为象数值分析中有很多函数一般的数学工具是具备的。 + m6 H9 y5 v9 g8 G10、图象处理算法 5 R1 kZs* z. N. P
8、: Z% D/ J6 d3 W+ C01A中需要你会读bmp图象、98美赛A需要你知道三维插值计算,03B要求更高,不但需要编程计算还要进行处理,而数模论文中也有很多图片需要展示,因此图象处理就是关键,做好这类问题,重要的是把Matlab学好,特别是图象处理的部分。 W r5 yg、数学建模竞赛中应当掌握的十类算法1蒙特卡罗算法该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法。2数据拟合、参数估计、插值等数据处理算法比赛常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具。3线性规划、
9、整数规划、多元规划、二次规划等规划类问题建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现。4图论算法这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉与到图论的问题可以用这些方法解决,需要认真准备。5动态规划、回溯搜索、分治算法、分支定界等计算机算法这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中。6最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。7网格算法和穷举法网格算法和穷举法都是暴力搜索
10、最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。8一些连续离散化方法很多问题都是实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。9数值分析算法如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。10图象处理算法赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的,这些图形如何展示以与如何处理就是需要解决的问题,通常使用Matlab进行处理。二、数
11、学软件的主要分类有哪些?各有什么特点?数学软件从功能上分类可以分为通用数学软件包和专业数学软件包,通用数学包功能比较完备,包括各种数学、数值计算、丰富的数学函数、特殊函数、绘图函数、用户图形届面交互功能,与其他软件和语言的接口与庞大的外挂函数库机制(工具箱)。常见的通用数学软件包包括Matlab和Mathematica和Maple,其中Matlab是一个高性能的科技计算软件,广泛应用于数学计算、建模、仿真和数据分析处理与工程作图,Mathematica 是数值和符号计算的代表性软件,Maple以符号运算、公式推导见长。专用数学包包括绘图软件类MathCAD,Tecplot,IDL,Surfer
12、,Origin, SmartDraw,DSP2000),数值计算类:(Matcom, IDL, DataFit,S-Spline,Lindo,Lingo,O-Matrix,Scilab,Octave), 数值计算库(linpack/lapack/BLAS/GERMS/IMSL/CXML), 有限元计算类(ANSYS,MARC,PARSTRAN,FLUENT,FEMLAB,FlexPDE,Algor,COSMOS, ABAQUS,ADINA),计算化学类(Gaussian98,Spartan,ADF2000,ChemOffice),数理统计类(GAUSS,SPSS,SAS, Splus,stat
13、istica,minitab), 数学公式排版类(MathType,MikTeX,Scientific Workplace,Scientific Nootbook)。三、关于数模竞赛的几本好书 启源,数学模型(第二版),高等教育 启源、金星、叶俊数学建模(第三版),高等教育 萧树铁等,数学实验,高等教育 朱道元,数学建模案例精选,科学 雷功炎,数学模型讲义,大学 叶其孝等,大学生数学建模竞赛辅导教材(一)(四),教育 江裕钊、辛培清,数学模型与计算机模拟,电子科技大学 启帆、边馥萍,数学模型,大学 静等,数学建模与数学实验,高等教育,施普林格四、基础学科1数学分析 2高等代数 3概率与数理统计
14、4最优化理论 5图论 6组合数学7微分方程稳定性分析 8排队论五、常用和ftp 全国大学生数模竞赛官方 .shumo.org 中国数学建模 中科大数模 大学数模网哈工大数模 bbs.dartmouth.edu/fangq/wiki/?MathTools_FAQ 数学工具FAQ ftp:/ ftp:/166.111.163.248:40021 fT. N; |6 a3 r5 U蒙特卡罗算法蒙特卡罗算法Monte Carlo 编辑本段统计模拟法蒙特卡罗也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 中的 算法
限制150内