您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 数学建模十大经典算法
建模十大经典算法1、蒙特卡罗算法。该算法又称随机性模拟算法�是通过计算机仿真来解决问题的算法�同时通过模拟可以来检验自己模型的正确性。2、数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理�而处理数据的关键就在于这些算法�通常使用Matlab作为工具。3、线性规划、整数规划、多元规划、二次规划等规划类问题。建模竞赛大多数问题属于最优化问题�很多时候这些问题可以用数学规划算法来描述�通常使用Lindo、Lingo、MATLAB软件实现。4、图论算法。这类算法可以分为很多种�包括最短路、网络流、二分图等算法�涉及到图论的问题可以用这些方法解决�需要认真准备。5、动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法�很多场合可以用到竞赛中。6、最优化理论的三大非经典算法�模拟退火法、神经网络、遗传算法。这些问题是用来解决一些较困难的最优化问题的算法�对于有些问题非常有帮助�但是算法的实现比较困难�需慎重使用。7、网格算法和穷举法。网格算法和穷举法都是暴力搜索最优点的算法�在很多竞赛题中有应用�当重点讨论模型本身而轻视算法的时候�可以使用这种暴力方案�最好使用一些高级语言作为编程工具。8、一些连续离散化方法。很多问题都是实际来的�数据可以是连续的�而计算机只认的是离散的数据�因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。9、数值分析算法。如果在比赛中采用高级语言进行编程的话�那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。10、图象处理算法。赛题中有一类问题与图形有关�即使与图形无关�论文中也应该要不乏图片的�这些图形如何展示以及如何处理就是需要解决的问题�通常使用Matlab进行处理。历年全国数学建模试题及解法赛题解法93A非线性交调的频率设计拟合、规划93B足球队排名图论、层次分析、整数规划94A逢山开路图论、插值、动态规划94B锁具装箱问题图论、组合数学95A飞行管理问题非线性规划、线性规划95B天车与冶炼炉的作业调度动态规划、排队论、图论96A最优捕鱼策略微分方程、优化96B节水洗衣机非线性规划97A零件的参数设计非线性规划97B截断切割的最优排列随机模拟、图论98A一类投资组合问题多目标优化、非线性规划98B灾情巡视的最佳路线图论、组合优化99A自动化车床管理随机优化、计算机模拟99B钻井布局0-1规划、图论00ADNA序列分类模式识别、Fisher判别、人工神经网络00B钢管订购和运输组合优化、运输问题01A血管三维重建曲线拟合、曲面重建01B公交车调度问题多目标规划02A车灯线光源的优化非线性规划02B彩票问题单目标决策03ASARS的传播微分方程、差分方程03B露天矿生产的车辆安排整数规划、运输问题04A奥运会临时超市网点设计统计分析、数据处理、优化04B电力市场的输电阻塞管理数据拟合、优化05A长江水质的评价和预测预测评价、数据处理05BDVD在线租赁随机规划、整数规划06A出版资源配置06B艾滋病疗法的评价及疗效的预测07A中国人口增长预测07B乘公交�看奥运多目标规划数据处理图论08A数码相机定位08B高等教育学费标准探讨09A制动器试验台的控制方法分析09B眼科病床的合理安排动态规划10A10B赛题发展的特点�1.对选手的计算机能力提出了更高的要求�赛题的解决依赖计算机�题目的数据较多�手工计算不能完成�如03B�某些问题需要使用计算机软件�01A。问题的数据读取需要计算机技术�如00A�大数据��01A�图象数据�图象处理的方法获得��04A�数据库数据�数据库方法�统计软件包�。计算机模拟和以算法形式给出最终结果。2.赛题的开放性增大解法的多样性�一道赛题可用多种解法。开放性还表现在对模型假设和对数据处理上。3.试题向大规模数据处理方向发展4.求解算法和各类现代算法的融合从历年竞赛题来看�常用的方法�线性规划整数规划非线性规划动态规划层次分析法图论方法拟合方法插值方法随机方法微分方程方法各种算法的详解一、蒙特卡洛算法1、含义的理解以概率和统计理论方法为基础的一种计算方法。也称统计模拟方法�是指使用随机数�或更常见的伪随机数�来解决很多计算问题的方法�它是将所求解的问题同一定的概率模型相联系�用计算机实现统计模拟或抽样�以获得问题的近似解。2、算法实例�有很多相似的例题�包括平行线等�在数值积分法中�利用求单位圆的1/4的面积来求得Pi/4从而得到Pi。单位圆的1/4面积是一个扇形�它是边长为1单位正方形的一部分。只要能求出扇形面积S1在正方形面积S中占的比例K=S1/S就立即能得到S1�从而得到Pi的值。怎样求出扇形面积在正方形面积中占的比例K呢�一个办法是在正方形中随机投入很多点�使所投的点落在正方形中每一个位置的机会相等看其中有多少个点落在扇形内。将落在扇形内的点数m与所投点的总数n的比m/n作为k的近似值。P落在扇形内的充要条件是221xy��。已知�K=1ss�K�mn�s=1�s1=4Pi�求Pi。由1smsn��知s1�*msn=mn�而s1=4Pi�则Pi=*4mn程序��该算法可以修改后用Mathematica计算或者Matlab�/*利用蒙特卡洛算法近似求圆周率Pi*//*程序使用�VC++6.0*/#includestdio.h#includemath.h#includestdlib.h#defineCOUNT800/*循环取样次数�每次取样范围依次变大*/voidmain(){doublex,y;intnum=0;inti;for(i=0;iCOUNT;i++){x=rand()*1.0/RAND_MAX;/*RAND_MAX=32767�包含在stdio.h中*/y=rand()*1.0/RAND_MAX;if((x*x+y*y)=1)num++;/*统计落在四分之一圆之内的点数*/}printf(Pi值等于�%f\n,num*4.0/COUNT);}结果�测试6次的结果显示�循环取样次数求得的Pi值8003.08500080003.110000800003.1352008000003.13915080000003.141393800000003.141321可以看出:随着点数的增加�求得的Pi值渐渐接近真实值。如果加入程序�srand(time(NULL));�同时循环取样次数一定�让取样结果随时间变化�当取样次数为80000000时�可得6次的结果显示�3.1412903.1414003.1412683.1414843.1413583.1414623、应用的范围蒙特·卡罗方法在金融工程学�宏观经济学�计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。4、参考书籍[1]蒙特卡罗方法及其在粒子输运问题中的应用[2]蒙特卡罗方法引论二、数据拟合、参数估计、插值等数据处理算法�1�数据拟合在Mathematica中�用Fit对数据进行最小二乘拟合�Fit[data,funs,vars]在Matlab中�工具箱�toolboxes�中有曲线拟合工具�curveFitting�。实例�2010年苏北赛B题温室中的绿色生态臭氧病虫害防治中关于中华稻蝗密度与水稻减产率之间的关系可以通过数据拟合来观察�简单举例�没有考虑全部数据�数据�密度�头/m2�310203040减产率�%�2.412.916.320.126.8程序�Mathematica��data={{3,2.4},{10,12.9},{20,16.3},{30,20.1},{40,26.8}};a1=Fit[data,{1,x,x^2,x^3},x]Show[ListPlot[data,Filling-Axis],Plot[{a1},{x,0,60}]]结果�-3.68428+2.38529x-0.0934637x2+0.00132433x3�2�参数估计�参考书�概率论与数理统计�参数估计为统计推断的基本问题�分为点估计和区间估计。点估计�①矩估计法X连续型随机变量�概率密度12(;,,)nfx���X为离散型随机变量分布律12{}(;,,,)kPXxpx�����12,,,k���为待估参数�12,,nXXX是来自X的样本�假设总体X的前k阶矩存在�为12()(;,,)lllnEXxfxdx�����������X连续型�或12()(;,,,)XlllkxREXxpx���������X离散型�1,2,,lk��其中XR是X可能取值的范围�。一般来说�它们是12,,,k���的函数。基于样本矩11nlliiAXn���依概率收敛于相应的总体矩(1,2,)llk���样本矩的连续函数依概率收敛于相应的总体矩的连续函数�我们就用样本矩作为相应的总体矩的估计量�而以样本矩的连续函数作为相应的总体矩的连续函数的估计量。这种估计方法成为矩估计法。②最大似然估计法X连续型随机变量似然函数121()(,,,;)(;)nniiLLxxxfx�������其中1(;)niifx���是来自X的样本12,,nXXX的联合密度。X为离散型随机变量似然函数121()(,,,;)(;),nniiLLxxxpx����������其中1(;)niipx���是来自X的样本12,,nXXX的联合分布律。若1212ˆ()(,,,;)max(,,,;)nnLLxxxLxxx��������则称12ˆ(,,,)nxxx�为�的最大似然估计值�称12ˆ(,,,)nXXX�为�的最大似然估计量。这样�确定最大似然估计量的问题就归结为微分学中的求最大值的问题了。估计量的评选标准为��1�无偏性�2�有效性�3�相合性区间估计�对于一个未知量�人们在测量或计算时�常不以得到近似值为满足�还需要估计误差�即要求知道近似值的精确程度�亦即所求真值所在的范围�。这样的范围常以区间的形式给出�同时还给出此区间包含参数真值的可信度�这种形式的估计称为区间估计�这样的区间即所谓置信区间。正态总体均值、方差的置信区间与单侧置信限�置信水平为1-��一个正态总体未知参数其他参数枢轴量的分布置信区间�2�已知(0,1)/XZNn����/2()Xzn����2�未知(1)/XttnSn����/2((1))SXznn���2��未知2222(1)(1)nSn������2222/21/2(1)(1)(,)(1)(1)nSnSnn���������另外还包括两个正态总体的情况�其他区间估计��0-1�分布参数的区间估计�3�插值1、含义的理解在离散数据的基础上补插连续函数�使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法�利用它可通过函数在有限个点处的取值状况�估算出函数在其他点处的近似值�与拟合的不同点在于拟合的函数不需通过每一个离散点�。插值问题的提法是�假定区间[a�b�上的实值函数f�x�在该区间上n�1个互不相同点x0�x1…xn处的值是f[x0��…f�xn��要求估算f�x�在[a�b�中某点的值。其做法是�在事先选定的一个由简单函数构成的有n�1个参数C0�C1�…Cn的函数类Φ(C0�C1�…Cn)中求出满足条件P�xi��f�xi��i�0�1�…n�的函数P(x)�并以P()作为f()的估值。此处f�x�称为被插值函数�x0�x1�…xn称为插值结(节)点�Φ(C0�C1�…Cn)称为插值函数类�上面等式称为插值条件�Φ�C0�…Cn�中满足上式的函数称为插值函数�R�x��f�x��P�x�称为插值余项。当估算点属于包含x0�x1…xn的最小闭区间时�相应的插值称为内插�否则称为外插。2、基本类型多项式插值在一般插值问题中�若选取Φ为n次多项式类�由插值条件可以唯一确定一个n次插值多项式满足上述条件。拉格朗日插值和牛顿插值都属于多项式插值。拉格朗日插值�设连续函数y=f�x�在[a,b]上对给定n+1个不同结点�01,,,nxxx分别取函数值01,,,nyyy
本文标题:数学建模十大经典算法
链接地址:https://www.777doc.com/doc-1389468 .html