首先**,我们先说说数学建模主要比赛及具体时间:
2月中旬:MCM/ICM:美国大学生数学建模竞赛>
4月中旬:TZMCM:数学中国数学建模网络挑战赛
4月18号:东北三省大学生数学建模联赛
4月30号:华中地区大学生数学建模联赛
5月1号:苏北地区大学生数学建模联赛
5月27号:EMCM:中国电机工程学(电工)杯数学建模竞赛
5月27号:MathorCup大学生数学建模挑战赛/<
9月中旬:CUMCM:全国大学生数学建模竞赛
9月24号:GMCM:研究生数学建模竞赛
11月17号:APMCM:亚太地区大学生数学建模竞赛
11月24号:CAMCM:数学中国数学建模国际赛(小美赛)
注意:上面红色字体的比赛是含金量比较高的,推荐大家参加这几项比赛就行了。其中:中国电机工程学(电工)杯数学建模竞赛建议工科类的同学都可以参加一下,题目主要是电子类型的,含金量还是ok的。
数学建模竞赛涉及到的算法主要分为两大类型(统计、优化)
特点:
• 统计:1.预测与预报、2.评价与决策、3.分类与判别、4.关联与因果
• 优化:5.优化与控制
接下来我们来详细讲讲:
(1)预测与预报
①灰色预测模型(必须掌握)
特点:
满足两个条件可用:
• a数据样本点个数少,6-15个
• b数据呈现指数或曲线的形式
②微分方程预测(备用)
特点:
无法直接找到原始数据之间的关系,但可以找到原始数据变化速度之间的关系,通过公式推导转化为原始数据之间的关系。
③回归分析预测(必须掌握)
特点:
• 求一个因变量与若干自变量之间的关系,若自变量变化之后,求因变量如何变化;
• 样本点的个数有要求:
• a自变量之间协方差比较小,最好趋于零,自变量间的关系小;
• b样本点的个数n>3k+1,k为自变量的个数;
• c因变量要符合正态分布
④马尔科夫预测(备用)
特点:
一个序列之间没有信息的传递,前后没有联系,数据与数据之间随机性强,相互不影响;今天的温度与昨天、后天没有直接联系,预测后天温度高、中、低的概率,只能得到概率
⑤时间序列预测(必须掌握)
特点:
与马尔科夫预测互补,至少有2个点需要信息的传递,ARMA模型,周期模型,季节模型等。
⑥小波分析预测
⑦神经网络预测
⑧混沌序列预测
(2)关联与因果
①灰色关联分析方法
特点:
样本点的个数较少
②Superman或kendall等级相关分析
③Person相关
特点:
样本点的个数比较多
④Copula相关
特点:
比较难,金融数学,概率密度
⑤典型相关分析
特点:
因变量Y123,自变量组X123,各自变量组相关性比较强,问哪一个因变量与哪一个自变量关系比较紧密?
(3)评价与决策
①模糊综合评判
特点:
评价一个对象优、良、中、差等层次评价,评价一个学校等,不能排序
②主成分分析
特点:
评价多个对象的水平并排序,指标间关联性很强。
③层次分析法
特点:
做决策,通过指标,综合考虑做决定
④数据包络(DEA)分析法
特点:
优化问题,对各省发展状况进行评判
⑤秩和比综合评价法
特点:
评价各个对象并排序,指标间关联性不强
⑥优劣解距离法(TOPSIS法)
⑦投影寻踪综合评价法
特点:
糅合多种算法,比如遗传算法、最优化理论
⑧方差分析、协方差分析
方差分析
特点:
看几类数据之间有无差异,差异性影响,例如:元素对麦子的产量有无影响,差异量的多少;(1992年作物生长的施肥问题)
协方差分析
特点:
有几个因素,我们只考虑一个因素对问题的影响,忽略其他因素,但注意初始数据的量纲以及初始情况。(2006年,艾滋病疗法的评价以及预测问题)
(4)分类与判别
①距离聚类(系统聚类)常用
②关联性聚类(常用)
③层次聚类
④密度聚类
⑤其他聚类
⑥贝叶斯判别
特点:
统计判别方法
⑦费舍尔判别
特点:
训练的样本比较少
⑧模糊识别
特点:
分好类的数据点比较少
(5)优化与控制
①线性规划、整数规划、0-1规划
特点:
有约束,确定的目标
②非线性规划与智能优化算法
③多目标规划和目标规划
特点:
柔性约束,目标含糊,超过
④动态规划
⑤网络优化
特点:
多因素交错复杂
⑥排队论与计算机仿真
⑦模糊规划
特点:
范围约束
⑧灰色规划(难)
上述红色字体的模型是必须掌握的。说了这么多,刚接触的同学可能会感觉有点懵。
简单来说数学建模需要掌握的基本知识及技能有:Matlab软件的基本使用、十大经典算法、三大智能算法。
掌握了这些算法的使用范围和具体实现的代码基本上足够了,后面就是根据在小组里面,你负责的内容进行针对性学习。比如说:
负责算法方面的同学:在保证高数、线代、概率论ok的情况下,需要深入的去学习这些算法的基本原理及推导步骤,如果能把这些算法都完全推导理解的话,那就很强啦!等搞定这些算法后,还可以学习一下图像处理方面的算法和深度学习的算法知识,比如混沌时间序列,CNN、RNN这类的。
负责代码方面的同学:需要掌握这十大经典算法和三大智能算法的Matlab代码,然后再掌握一门编程语言。这边推荐:Python或者R语言,因为入门较为简单,用Python和R画出来的图像蛮好的,这点算是个挺好的加分项,再然后学点数据结构的知识,刷点算法题基本上就够了(可以百度搜索LeetCode然后开始刷或者是刷ACM竞赛题也ok)。
负责论文方面的同学:多看下往年的优秀论文的格式,自己整套写作模板出来方便比赛的时候节省调格式的时间,想参加美国大学生数学建模竞赛的话那还得多看点美赛的优秀论文,从里面摘抄点好词好句啥的,如果会用LaTex写论文那就更好了。
最最重要的是队友选择要慎重啊!!!一定一定要找合得来的,并且抗压能力强的,积极的队友。不然到时候队友罢工,三天时间一个人负责算法,编程,论文的滋味那只能叫一个酸爽,基本上甭想睡觉咯。。。。这点我是深有体会过几次!!!撑到第三天,鼻血汪汪流,心跳贼快,差点猝死在那边。。。。
接下来,我将跟大家聊聊这些必须掌握的算法的适用范围和注意事项,以及提供给大家对应模型的Matlab代码,还有比较经典的一些模型的参考论文。
具体模型的链接:
然后,我们还可以再来聊聊数学建模主要涉及了什么模型,加深一下大家对数学建模的理解(感兴趣的可以往下继续看)
数学模型按照不同的分类标准有许多种类:
1.按照模型的数学方法分有:几何模型,图论模型,微分方程模型。概率模型,最优控制模型,规划论模型,马氏链模型。
2.按模型的特征分有:静态模型和动态模型,确定性模型和随机模型,离散模型和连续性模型,线性模型和非线性模型。
3.按模型的应用领域分有:人口模型,交通模型,经济模型,生态模型,资源模型。环境模型。
4.按建模的目的分有:预测模型,优化模型,决策模型,控制模型等。
5.按对模型结构的了解程度分有:白箱模型,灰箱模型,黑箱模型。
6. 最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些问题时用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需谨慎使用)。
7.网格算法和穷举法(当重点讨论模型本身而情史算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具)。
8.一些连续离散化方法(很多问题都是从实际来的,数据可以是连续的,而计算机只认得是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。
9. 数值分析算法(如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用)。
10.图像处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问题,通常使用Matlab来处理问题)。
感谢大家的阅读,谢谢!!!