学习经验分享【42】数学建模大赛参赛经历
作为已经参加了两届数学建模大赛,并且得了奖,跟大家分享一下参赛经历和得奖的方法,有需要帮助的也可以私信。建模大赛对于研究生或者本科生来说可以加学分增加经历和履历,对自身找工作简历丰富也是有作用。
一、准备方面
首先需要准备编程软件,我这边首选MATlab,我这用的是2022年版本破解版,有需要的朋友可以找我要,很好用,其次,画画的软件用ppt就行了。另外,团队的配合很重要,要有能写论文的,要有会代码的,要有能给解题思路的。不怕狼一样的对手,就怕猪一样的队友。能否得奖,很关键在于队友的选择上面,所有要认真组建好的团队。
二、算法方面
2.1 优化算法
用于在给定约束条件下,寻找最佳决策方案,使某个目标函数达到最大或最小值。
线性规划:
核心思想:目标函数和约束条件均为线性。
经典算法:单纯形法、内点法。
应用场景:资源分配、生产计划、运输问题。
整数规划/0-1规划:
核心思想:变量要求取整数或0/1。
应用场景:选址问题、项目选择、航班调度。
非线性规划:
核心思想:目标函数或约束条件中存在非线性关系。
求解算法:梯度下降法、牛顿法、拉格朗日乘子法。
应用场景:工程设计、经济学中的效用最大化。
现代启发式优化算法:
核心思想:模拟自然现象,用于求解复杂、非凸、高维的优化问题,通常是“全局优化”方法。
常见算法:
遗传算法:模拟生物进化中的“自然选择”和“遗传变异”。
模拟退火算法:模拟固体退火过程,以一定概率接受“劣质解”以避免陷入局部最优。
粒子群优化算法:模拟鸟群觅食行为,通过个体与群体的历史最佳位置来更新搜索。
应用场景:路径规划、参数调优、神经网络训练。
2.2 预测与时间序列分析算法
用于基于历史数据预测未来的趋势和值。
回归分析:
线性回归:建立因变量与一个或多个自变量之间的线性关系。
多项式回归、岭回归、Lasso回归:处理非线性关系或过拟合问题。
时间序列模型:
平滑法:移动平均法、指数平滑法。适用于没有明显趋势和季节性的数据。
ARIMA模型:结合自回归和移动平均,是处理非平稳时间序列的强大工具。
Prophet:由Facebook开发,对具有强季节性效应和假日效应的商业时间序列数据效果很好。
机器学习预测模型:
支持向量机:可用于分类和回归。
随机森林、梯度提升树:集成学习方法,预测精度高,能处理复杂非线性关系。
2.3 评价与决策算法
用于对多个备选方案进行综合评价、排序或决策。
层次分析法:
核心思想:将决策问题分解为目标、准则、方案等层次,通过两两比较进行定量和定性分析。
应用场景:项目评估、供应商选择、个人生涯规划。
熵权法:
核心思想:根据指标的变异程度(熵)客观地计算其权重。数据越混乱,熵越大,所含信息越多,权重越高。
应用场景:常与TOPSIS等方法结合,进行多指标综合评价。
TOPSIS法:
核心思想:找出与理想解距离最近、与负理想解距离最远的方案。
应用场景:方案择优、经济效益评价。
模糊综合评价:
核心思想:运用模糊数学理论,处理那些边界不清晰、难以量化的评价因素。
应用场景:产品质量评级、环境影响评估、员工绩效考评。
2.4 图论与网络分析算法
用于研究事物之间的关系网络。
最短路径算法:
Dijkstra算法:求解单源非负权最短路径。
Floyd算法:求解任意两点间的最短路径。
应用场景:导航系统、网络路由。
最小生成树算法:
Prim算法、Kruskal算法。
应用场景:通信网络架设、电路设计、城市管网规划。
网络流算法:
最大流问题、最小费用最大流问题。
应用场景:交通流量分析、物流运输。
PageRank算法:
核心思想:通过网页间的链接关系计算其重要性排名。
应用场景:网页排序、社交网络影响力分析。
2.5 分类与聚类算法
用于识别数据中的内在结构。
分类算法:
逻辑回归:用于二分类问题。
朴素贝叶斯:基于贝叶斯定理,假设特征条件独立。
K-近邻算法:基于距离度量,“物以类聚”。
支持向量机:寻找最大间隔的超平面来划分数据。
聚类算法:
K-Means聚类:将数据划分为K个球形簇,简单高效。
层次聚类:形成一棵聚类树,可以按需切割。
DBSCAN:基于密度,能发现任意形状的簇,并能识别噪声点。
2.6 模拟与仿真算法
当问题过于复杂无法求得解析解时,通过随机抽样进行数值实验。
蒙特卡洛方法:
核心思想:通过大量随机采样来获得数值结果。
应用场景:计算圆周率π、金融风险评估、复杂积分计算。
三、 如何为数学建模问题选择合适的算法?
这是一个关键步骤,可以遵循以下思路:
明确问题类型:
需要做最优决策? -> 优化算法
需要预测未来趋势? -> 预测/时间序列算法
需要对方案进行评价排序? -> 评价与决策算法
需要分析事物间的关系? -> 图论算法
需要对数据进行分组? -> 分类/聚类算法
问题复杂,存在随机性? -> 模拟算法
分析模型特点和约束:
模型是线性还是非线性?
变量是连续还是离散?
问题是确定性的还是随机性的?
目标是单目标还是多目标?
考虑数据条件:
数据量大小、质量、维度。
例如,数据量小且需要可解释性时,可选择AHP、回归分析;数据量大且关系复杂时,可选择随机森林、神经网络。
