数学建模中常用的算法和经验_第1页
数学建模中常用的算法和经验_第2页
数学建模中常用的算法和经验_第3页
数学建模中常用的算法和经验_第4页
数学建模中常用的算法和经验_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

建模中常用的算法和经验常用算法和一些个人经验(仅供参考)主要内容一、简介建模;二、建模中常用的算法;三、组队时应该考虑哪些;四、赛前准备;五、赛中的角色分配。一、建模简介数学建模竞赛与纯数学竞赛有本质上的区别。它涉及计算机、物理、化学、生物、医学、管理等各个领域,当然基本的数学知识是必备的,但它又不受任何一门具体的学科、领域所局限。这就要求我们知识面宽广,也是我们参加建模的目的所在,通过建模拓展我们的知识面,增加学习的技能。常用算法在数学建模中常用的方法:类比法、二分法、量纲分析法、差分法、变分法、图论法、层次分析法、数据拟合法、回归分析法、数学规划(线性规划,非线性规划,整数规划,动态规划,目标规划)、机理分析、排队方法、对策方法、决策方法、模糊评判方法、时间序列方法、灰色理论方法、现代优化算法(禁忌搜索算法,模拟退火算法,遗传算法,神经网络)。用这些方法可以解下列一些模型:优化模型、微分方程模型、统计模型、概率模型、图论模型、决策模型。二、建模中的常用算法建模中根据具体问题的不同可以采用不同的算法,一个算法可能解决一类问题,当然对于同一个问题,也可能有不同的算法求解,不同算法求解的差异可能不大也可能大相径庭,也就是说建模时没有最好的算法,只是适合和不适合。常用算法:1、蒙特卡罗算法:该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法。求解各种类型规划。(随机取样法m文件lingo软件)选址问题固定费用问题指派问题生产销售计划问题97年的A题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。02年的B题,关于彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。2、数据拟合、参数估计、插值等数据处理算法比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MATLAB作为工具。与图形处理有关的问题很多与拟合有关系。98年美国赛A题,生物组织切片的三维插值处理。94年A题逢山开路,山体海拔高度的插值计算。此类问题在MATLAB中有很多函数可以调用,只有熟悉MATLAB,这些方法才能用好。插值拟和与参数估计插值:求过已知有限个数据点的近似函数。拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。而面对一个实际问题,究竟应该用插值还是拟合,有时容易确定,有时则并不明显。拟合与插值方法(给出一批数据点,确定满足特定要求的曲线或者曲面,从而反映对象整体的变化趋势):matlab可以实现一元函数,包括多项式和非线性函数的拟合以及多元函数的拟合,即回归分析,从而确定函数;同时也可以用matlab实现分段线性、多项式、样条以及多维插值。3、线性规划、整数规划、多元规划、二次规划等规划类问题此类问题主要有线性规划、整数规划、多元规划、二次规划等。竞赛中很多问题都和数学规划有关,可以说不少的模型都可以归结为一组不等式作为约束条件、几个函数表达式作为目标函数的问题,遇到这类问题,求解就是关键了。98年B题,用很多不等式完全可以把问题刻画清楚。因此列举出规划后用Lindo、Lingo等软件来进行解决比较方便,所以还需要熟悉这两个软件。4、图论算法这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。这类问题算法有很多,包括:Dijkstra、Floyd、PrimBellman-Ford,最大流,二分匹配等问题。98年B题、00年B题、95年锁具装箱等问题体现了图论问题的重要性图论最短路问题:两个指定顶点之间的最短路径—给出了一个连接若干个城镇的铁路网络,在这个网络的两个指定城镇间,找一条最短铁路线(Dijkstra算法)每对顶点之间的最短路径(Dijkstra算法、Floyd算法)。最小生成树问题:连线问题—欲修筑连接多个城市的铁路设计一个线路图,使总造价最低(prim算法、Kruskal算法)。图的匹配问题:人员分派问题:n个工作人员去做件n份工作,每人适合做其中一件或几件,问能否每人都有一份适合的工作?如果不能,最多几人可以有适合的工作?(匈牙利算法)。遍历性问题:中国邮递员问题—邮递员发送邮件时,要从邮局出发,经过他投递范围内的每条街道至少一次,然后返回邮局,但邮递员希望选择一条行程最短的路线最大流问题。运输问题:最小费用最大流问题:在运输问题中,人们总是希望在完成运输任务的同时,寻求一个使总的运输费用最小的运输方案5、动态规划、回溯搜索、分治算法、分支定界等计算机算法对有约束条件的最优化问题(其可行解为有限数)的所有可行解空间恰当地进行系统搜索,这就是分枝与定界内容。通常,把全部可行解空间反复地分割为越来越小的子集,称为分枝;并且对每个子集内的解集计算一个目标下界(对于最小值问题),这称为定界。在每次分枝后,凡是界限超出已知可行解集目标值的那些子集不再进一步分枝,这样,许多子集可不予考虑,这称剪枝。这就是分枝定界法的主要思路。这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中。92年B题用分枝定界法97年B题是典型的动态规划问题6、最优化理论的三大非经典算法模拟退火法、神经网络、遗传算法:这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。近几年的赛题越来越复杂,很多问题没有什么很好的模型可以借鉴,于是这三类算法很多时候可以派上用场。97年A题用模拟退火算法00年B题用神经网络分类算法01年B题这种难题也可以使用神经网络美国89年A题也和BP算法有关系,当时是86年刚提出BP算法,89年就考了,说明赛题可能是当今前沿科技的抽象体现。美国03年7、数值分析算法如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。数值分析研究各种求解数学问题的数值计算方法,特别是适合于计算机实现的方法与算法。它的主要内容包括函数的数值逼近、数值微分与数值积分、非线性方程的数值解法、数值代数、常微分方程数值解等。数值分析是计算数学的一个重要分支,把理论与计算紧密结合,是现代科学计算的基础。MATLAB等数学软件中已经有很多数值分析的函数可以直接调用。8、一些连续离散化方法:很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此需要将连续问题进行离散化处理后再用计算机求解。比如差分代替微分、求和代替积分等思想都是把连续问题离散化的常用方法。9、网格算法和穷举法网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。网格算法和穷举法一样,只是网格法是连续问题的穷举。比如要求在N个变量情况下的最优化问题,那么对这些变量可取的空间进行采点,比如在[ab]区间内取M+1个点,就是a,a+(b-a)/M,a+2(b-a)/M,…,b。那么这样循环就需要进行(M+1)^N次运算,所以计算量很大。97年A题、99年B题都可以用网格法搜索这种方法最好在运算速度较快的计算机中进行,还有要用高级语言来做,最好不要用MATLAB做网格,否则会算很久的。10、图象处理算法赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问题,通常使用Matlab进行处理。01年A题中需要你会读BMP图象98年美国A题需要你知道三维插值计算03年B题要求更高,不但需要编程计算还要进行处理数模论文中也有很多图片需要展示,解决这类问题要熟悉MATLAB图形图像工具箱。回归分析回归分析:对具有相关关系的现象,根据其关系形态,选择一个合适的数学模型,用来近似地表示变量间的平均变化关系的一种统计方法(一元线性回归、多元线性回归、非线性回归),回归分析在一组数据的基础上研究这样几个问题:建立因变量与自变量之间的回归模型(经验公式);对回归模型的可信度进行检验;判断每个自变量对因变量的影响是否显著;判断回归模型是否适合这组数据;利用回归模型对进行预报或控制。相对应的有线性回归、多元二项式回归、非线性回归。聚类分析聚类分析:所研究的样本或者变量之间存在程度不同的相似性,要求设法找出一些能够度量它们之间相似程度的统计量作为分类的依据,再利用这些量将样本或者变量进行分类。系统聚类分析—将n个样本或者n个指标看成n类,一类包括一个样本或者指标,然后将性质最接近的两类合并成为一个新类,依此类推。最终可以按照需要来决定分多少类,每类有多少样本(指标)。判别分析判别分析:在已知研究对象分成若干类型,并已取得各种类型的一批已知样品的观测数据,在此基础上根据某些准则建立判别式,然后对未知类型的样品进行判别分类。距离判别法—首先根据已知分类的数据,分别计算各类的重心,计算新个体到每类的距离,确定最短的距离(欧氏距离、马氏距离)Fisher判别法—利用已知类别个体的指标构造判别式(同类差别较小、不同类差别较大),按照判别式的值判断新个体的类别Bayes判别法—计算新给样品属于各总体的条件概率,比较概率的大小,然后将新样品判归为来自概率最大的总体模糊数学模糊数学:研究和处理模糊性现象的数学(概念与其对立面之间没有一条明确的分界线)与模糊数学相关的问题:模糊分类问题—已知若干个相互之间不分明的模糊概念,需要判断某个确定事物用哪一个模糊概念来反映更合理准确;模糊相似选择

—按某种性质对一组事物或对象排序是一类常见的问题,但是用来比较的性质具有边界不分明的模糊性;模糊聚类分析—根据研究对象本身的属性构造模糊矩阵,在此基础上根据一定的隶属度来确定其分类关系;模糊层次分析法—两两比较指标的确定;模糊综合评判—综合评判就是对受到多个因素制约的事物或对象作出一个总的评价,如产品质量评定、科技成果鉴定、某种作物种植适应性的评价等,都属于综合评判问题。由于从多方面对事物进行评价难免带有模糊性和主观性,采用模糊数学的方法进行综合评判将使结果尽量客观从而取得更好的实际效果。时间序列时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列—通过对预测目标自身时间序列的处理,来研究其变化趋势(长期趋势变动、季节变动、循环变动、不规则变动)自回归模型:一般自回归模型AR(n)—系统在时刻t的响应X(t)仅与其以前时刻的响应X(t-1),…,X(t-n)有关,而与其以前时刻进入系统的扰动无关;移动平均模型MA(m)—系统在时刻t的响应X(t)

,与其以前任何时刻的响应无关,而与其以前时刻进入系统的扰动a(t-1),…,a(t-m)存在着一定的相关关系;自回归移动平均模型ARMA(n,m)—系统在时刻t的响应X(t),不仅与其前n个时刻的自身值有关,而且还与其前m个时刻进入系统的扰动存在一定的依存关系。组队时应注意的问题通常情况下每队三个人,(这个大家应该都知道),既然是数学建模,队员中理论上应该有一位同学是学数学的,另外建模涉及大量的编程计算问题,几乎每道题都需要编程计算,当然也存在特例是直接用其它软件导出来的,像今年的国赛题葡萄酒的综合评价大部分使用spss软件计算的,但数据预处理中要用到某些编程。所以,最好能有一位具有良好编程能力的队员,在一个就是思想,这个可以是物理系或其他系的,公认最好的组队方式是数学+计算机+物理,但其它的方式组队也可以,(例)这个主要看个队友之间的磨合了。四、赛前准备一、专业课基础知识二、建模书籍:数学模型、matlab在数学建模中应用三、软件:matlab、lingo、lindo、spss、mathtype、DPS等软件。另外像word、excel等一些计算机基础课程中的软件最好能有一些掌握。(从比赛的角度来说一个队友一名同学精通word

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论