数学建模及其算法概述
一、数学模型的分类
1. 按模型的数学方法分:
几何模型、图论模型、微分方程模型、概率模型、最优控制模型、规划论模型、马氏链模型等。
2. 按模型的特征分:
静态模型和动态模型,确定性模型和随机模型,离散模型和连续性模型,线性模型和非线性模型等。
3. 按模型的应用领域分:
人口模型、交通模型、经济模型、生态模型、资源模型、环境模型等。
4. 按建模的目的分:
预测模型、优化模型、决策模型、控制模型等。一般研究数学建模论文的时候,是按照建模的目的去分类的,并且是算法往往也和建模的目的对应。
5. 按对模型结构的了解程度分:
有白箱模型、灰箱模型、黑箱模型等。比赛尽量避免使用,黑箱模型、灰箱模型,以及一些主观性模型。
6. 按比赛命题方向分:
国赛一般是离散模型和连续模型各一个,2016 美赛六个题目(离散、连续、运筹学/复杂网络、大数据、环境科学、政策)
二、数学建模十大算法
1、蒙特卡罗算法
该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,比较好用的算法。
2、数据拟合、参数估计、插值等数据处理算法
比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用 Matlab 作为工具。
3、线性规划、整数规划、多元规划、二次规划等规划类问题
建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用 Lindo、Lingo 软件实现
4、图论算法
这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决。
5、动态规划、回溯搜索、分治算法、分支定界等计算机算法
这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中。
6 、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法
这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,算法的实现有一定困难。
7 、网格算法和穷举法
当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。
8 、一些连续离散化方法
很多问题都是从实际来的,数据可以是连续的,而经典计算机架构只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。
9 、数值分析算法
如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法。比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用
10 、图象处理算法
赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的。这些图形如何展示,以及如何处理就是需要解决的问题,通常使用 Matlab 进行处理
三、算法简介
1 、灰色预测模型 ( 一般 )
解决预测类型题目。由于属于灰箱模型,一般比赛期间不优先使用。满足两个条件可用:
①数据样本点个数 6 个以上
②数据呈现指数或曲线的形式,数据波动不大
2 、微分方程模型 ( 一般 )
微分方程模型是方程类模型中最常见的一种算法。近几年比赛都有体现,但其中的要求,不言而喻,学习过程中无法直接找到原始数据之间的关系,但可以找到原始数据变化速度之间的关系,通过公式推导转化为原始数据的关系。
3 、回归分析预测 ( 一般 )
求一个因变量与若干自变量之间的关系,若自变量变化后,求因变量如何变化; 样本点的个数有要求:
①自变量之间协方差比较小,最好趋近于 0,自变量间的相关性小;
②样本点的个数 n>3k+1,k 为预测个数;
4、马尔科夫预测 ( 较好 )
一个序列之间没有信息的传递,前后没联系,数据与数据之间随机性强,相互不影响;今天的温度与昨天、后天没有直接联系,预测后天温度高、中、低的概率,只能得到概率,其算法本身也主要针对的是概率预测。
5、时间序列预测
预测的是数据总体的变化趋势,有一、二、三次指数平滑法(简单),ARMA(较好)。
6、小波分析预测(高大上)
数据无规律,海量数据,将波进行分离,分离出周期数据、规律性数据;其预测主要依靠小波基函数,不同的数据需要不同的小波基函数。网上有个通用的预测波动数据的函数。
7、 神经网络 ( 较好 )
大量的数据,不需要模型,只需要输入和输出,黑箱处理,建议作为检验的办法,不过可以和其他方法进行组合或改进,可以拿来做评价和分类。
8、 混沌序列预测(高大上)
适用于大数据预测,其难点在于时延和维数的计算。
9、 插值与拟合 ( 一般 )
拟合以及插值还有逼近是数值分析的三大基础工具,通俗意义上它们的区别在于:拟合是已知点列,从整体上靠近它们;插值是已知点列并且完全经过点列;逼近是已知曲线,或者点列,通过逼近使得构造的函数无限靠近它们。
10、模糊综合评判 ( 简单 ) 不建议 单独 使用
评价一个对象优、良、中、差等层次评价,评价一个学校等,不能排序
11、层次分析法(AHP)( 简单 ) 不建议 单独 使用
作决策,去哪旅游,通过指标,综合考虑作决策
12、 数据包络(DEA )分析法 ( 较好 )
优化问题,对各省发展状况进行评判
13、秩和比综合评价法和熵权法 ( 较好 )
秩和比综合评价法是评价各个对象并排序,但要求指标间关联性不强;熵权法是根据各指标数据变化的相互影响,来进行赋权。两者在对指标处理的方法类似。
14、优劣解距离法(TOPSIS 法) (备用)
其基本原理,是通过检测评价对象与最优解、最劣解的距离来进行排序,若评价对象最靠近最优解同时又最远离最劣解,则为最好;否则为最差。其中最优解的各指标值都达到各评价指标的最优值。最劣解的各指标值都达到各评价指标的最差值。
15、投影寻踪综合评价法 ( 较好 )
可揉和多种算法,比如遗传算法、模拟退火等,将各指标数据的特征提取出来,用一个特征值来反映总体情况;相当于高维投影之低维,与支持向量机相反。该方法做评价比一般的方法好。
16、方差分析、协方差分析等 ( 必要 )
方差分析:看几类数据之间有无差异,差异性影响,例如:元素对麦子的产量有无影响,差异量的多少
协方差分析:有几个因素,我们只考虑一个因素对问题的影响,忽略其他因素,但注意初始数据的量纲及初始情况。
此外还有灵敏度分析,稳定性分析。
17、线性规划、整数规划、0-1 规划 ( 一般 )
模型建立比较简单,可以用 lingo 解决,但也可以套用智能优化算法来寻最优解。
18、非线性规划与智能优化算法握(智能算法至少掌握 1-2 ) 个,其他的了解即可)
非线性规划包括:无约束问题、约束极值问题
智能优化算法包括:模拟退火算法、遗传算法、改进的遗传算法、禁忌搜索算法、神经网络、粒子群等
其他规划如:多目标规划和目标规划及动态规划等
19、复杂网络优化 ( 较好 )
离散数学中经典的知识点——图论。主要是编程。
20、排队论与计算机仿真
排队论研究的内容有 3 个方面:统计推断,根据资料建立模型;系统的性态,即和排队有关的数量指标的概率规律性;系统的优化问题。其目的是正确设计和有效运行各个服务系统,使之发挥最佳效益。计算机仿真可通过元胞自动机实现,但元胞自动机对编程能来要求较高,一般需要证明其机理符合实际情况,不能作为单独使用。
21 、图像处理 ( 较好 )
MATLAB 图像处理,针对特定类型的题目,一般和数值分析的算法有联系。
例如 2013 年国赛 B 题,2014 网络赛 B 题。
22、支持向量机
支持向量机实现是通过某种事先选择的非线性映射(核函数)将输入向量映射到一个高维特征空间,在这个空间中构造最优分类超平面。主要用于分类。
23、多元分析
1、聚类分析、
2、因子分析
3、主成分分析:主成分分析是因子分析处理过程的一部分,可以通过分析各指标数据的变化情况,然后将数据变化相似的指标用一种具有代表性的来代替,从而达到降维的目的。
4、判别分析
5、典型相关分析
6、对应分析
7、多维标度法(一般)
8、偏最小二乘回归分析(较好)
24 、分类与判别
主要包括以下几种方法,
1、距离聚类(系统聚类)(一般)
2、关联性聚类
3、层次聚类
4、密度聚类
5、其他聚类
6、贝叶斯判别(较好)
7、费舍尔判别(较好)
8、模糊识别
25 、关联与因果
1、灰色关联分析方法
2、Sperman 或 kendall 等级相关分析
3、Person 相关(样本点的个数比较多)
4、Copula 相关(比较难,金融数学,概率密度)
5、典型相关分析(例:因变量组 Y1234,自变量组 X1234,各自变量组相关性比较强,问哪一个因变量与哪一个自变量关系比较紧密?)
6、标准化回归分析。若干自变量,一个因变量,问哪一个自变量与因变量关系比较紧密
7、生存分析(事件史分析)(较好) 数据里面有缺失的数据,哪些因素对因变量有影响
8、格兰杰因果检验。 计量经济学,去年的 X 对今年的 Y 有没影响
9、优势分析
26、量子优化算法 ( 高大上 )
量子优化可与很多优化算法相结合,从而使寻优能力大大提高,并且计算速率提升了很多。其主要通过编程实现,要求编程能力较好。