数学建模第二课:如何学习数学建模

数学建模是一项艺术,而不是一项技术


简单数学建模学习路线

📌 第一步:建立对数学建模的基本印象

完全没有经验的学生,可以先通过公开课和入门文章,对"什么是数学模型"形成一个基本印象。

要对数学建模有个基本印象,不然比赛的那三天很难熬。

💻 第二步:准备好编程工具

代码方面,选择最适合自己的工具即可:

  • 🐍 Python:如果 Python 用得比较熟练,可以直接使用 Python。

  • 🧮 MATLAB:如果对 Python 的数据处理不太熟悉,可以下载一个 MATLAB。

    • MATLAB 界面简洁,代码简单、接近自然语言,非常适合新生学习。
    • 跟着菜鸟教程 或者MATLAB 基本语法指南 里的内容走一遍,基本就能上手 MATLAB 了。
  • 🤖 AI 编程助手:现在是 AI 编程时代,常见的 AI 编程工具可以多准备几个,在比赛前配置好,多玩玩,多熟悉熟悉。

    • 可以参考AI 编程助手完全指南,里面介绍了几种常见的 AI 编程助手,虽然这是很久以前的文章,但是里面的内容还是有用的。

现在编程基本只要会看、会改,会用AI写代码就能参赛了。

🧠 第三步:熟悉常见的数学模型和算法

  • 📚 熟悉各类模型:数学模型可以分为:优化规划模型、微分方程模型、数据分析 / 统计模型、评价 / 决策模型等。至少做到知道每个模型都是解决哪一类问题的。这样当比赛看到题目的时候,能知道要使用哪一类模型。
  • 🔍 熟悉算法适用场景:每一类数学模型都有多种不同的解法,算法本身没有优劣之分。但是每个算法适应的场景都不一样,熟悉每一类算法的适用场景,在比赛时候,能找到最合适的算法。
  • 🎯 时间来不及就专攻一类:比如只看最优化和规划问题的算法。到比赛的时候,再结合网上的材料和 AI 来进行建模。

不理解每个模型和算法背后深奥的数学原理也没有关系。只需要对每个模型和算法的基本原理有个基本印象,在比赛中能找到对应的模型和算法就行。

📄 第四步:研读历年优秀论文

  • 🏆 比赛前,把历年的优秀论文(可查看全国大学生数学建模竞赛论文展示 )找几篇出来看一看。
    • 学习:要理解建模的思路,学习建模的每一个具体过程都做了什么。
    • 分析:分析模型的假设是否合理。对模型的关键进行分析,看模型是否有创造性,结果是否合理。
    • 研究和改进:模型是否有不合理的地方,是否有可以改进的地方。

📚 熟悉常用模型与算法

🎯 优化规划模型

核心是在满足约束条件的前提下,寻找使目标函数达到最优的决策方案。

  • 适用场景:资源分配、路径规划、生产调度、设计优化、投资决策、运输问题等。

数学规划类

  • 线性规划(LP):在满足一系列线性规则和资源限制(约束条件)的前提下,找到能让目标(如利润、效率)最大化或(如成本、风险)最小化的最佳方案
  • 非线性规划 :约束条件至少有一个是非线性函数
  • 整数规划(IP): 决策变量必须取整数值
  • 0-1 规划(0-1 IP) :决策变量只能取0或1,用于解决二进制优化问题
  • 动态规划 :将问题分解为更小的问题,通过重复求解子问题来构建最终解

智能优化算法

解决复杂、非线性、难以直接求解的优化问题

  • 遗传算法(GA):求解传统数学方法难以处理的大规模、非线性、多峰且缺乏导数信息的复杂全局优化与搜索问题。
  • 模拟退火(SA):基于概率的随机搜索启发式算法,专门用于在庞大且复杂的解空间中寻找问题的全局最优解
  • 粒子群算法(PSO):连续空间下的中高维、非线性、非凸函数优化以及复杂的工程参数调优问题
  • 蚁群算法(ACO):适用网络路由、车辆路径规划(VRP)以及旅行商问题(TSP)等基于图或网格结构的离散组合优化场景

典型真题

  • 2023 A 题:定日镜场的优化设计
  • 2024 B 题:生成中的决策问题
  • 2025 B 题:碳化硅外延层厚度的确定

📊 数据分析 / 统计模型

从数据中挖掘规律,用于预测、分类、聚类,数据处理等。

  • 适用场景:数据预测、分类识别、聚类分析、数据处理。

统计方法

  • 相关分析:研究变量之间的相关程度,判断指标间是否存在依存关系
  • 回归分析:建立因变量与自变量之间的数学关系式,用于解释与预测
  • 假设检验:根据样本数据对总体参数的假设作出接受或拒绝的统计判断
  • 主成分分析(PCA):通过正交变换将多个相关指标降维为少数综合指标
  • 因子分析:从变量群中提取共性因子,用于降维与综合评价

聚类分类方法

从数据中自动发现分组结构,或依据已有类别对样本进行判别

  • 层次聚类:按相似程度逐层分类
  • 决策树:通过特征划分构造树形分类
  • 随机森林:基于多棵决策树的集成学习
  • 支持向量机(SVM) :通过核函数在高维空间 寻找最优分类超平面
  • K-means :基于距离的划分式聚类算法
  • 神经网络:通过多层非线性变换学习复杂模式,适合大规模数据

预测方法

  • 回归预测:利用变量间的回归关系对未知样本进行预测
  • ARIMA:基于历史时间序列预测未来趋势
  • 灰色预测 :对"部分信息已知、部分未知"的小样本序列进行短期预测

⚖️ 评价 / 决策模型

对多个方案或对象进行综合评价、排序或优选,辅助决策。

  • 适用场景:方案优选、综合评估、排序比较、风险评价、绩效评价、选址决策等。

主观赋权法

依靠专家经验或主观判断确定指标权重

  • 层次分析法(AHP):将复杂问题分解为层次结构,通过两两比较确定权重
  • 模糊综合评价:处理好、较好、一般这类模糊评价问题

客观赋权法

依据数据本身的离散程度与信息量确定权重

  • 熵权法 :根据指标变异程度计算熵值确定权重,数据差异越大权重越高

综合排序法

对多指标进行标准化与聚合,实现方案排序优选

  • TOPSIS:多方案优选,找最接近理想方案的对象
  • 灰色关联分析:分析因素与目标之间的关联强弱

优化规划模型是最常见的数学模型,而且优化规划的相关算法在高中和大学课堂上也有涉及,对于一般学生来说是相对容易掌握的模型。如果你不是统计专业的学生,可以优先攻略优化规划方法再考虑其他模型。

🎓 数学建模应该具有的能力

进行数学建模需要具备以下五种能力,它们构成一条从基础到创造的递进链条:

💡 想象力

在已有形象的基础上,根据新的信息在头脑中创造出新形象的能力,是一种形象思维活动,可以通过细心观察、善于联想、勇于突破思维定势(如运用逆向思维、发散思维)等方式来培养。

👀 洞察力

透过现象看到本质,对复杂事物进行分析和判断的能力,需要集中注意力、刻苦工作、勤于思考,适应和创造浓厚的学术环境,培养对科学研究敏锐的"感觉"。

🔗 类比法

由一类事物具有的某种属性,推测类似事物也具有这种属性的推理方法,因为同一个数学模型可以描述不同领域的对象,所以联想、类比是建模中常用的方法。当然,类比的结果是否正确,需要由实践来检验。

📚 较广博的数学知识

对于已经学过微积分、线性代数、概率论等基础课的大学生来说,还需要了解数值计算、数理统计、数学规划、数值模拟等学科中那些直接与应用相关的内容,如怎样用这些方法建模、怎样在计算机上用数学软件实现、怎样解释模型求解的结果等,并不需要深入了解这些学科的数学原理

🔍 深入实际调查研究的决心和能力

与埋头撰写纯数学论文不同,做数学建模首先要有到实际中去的决心和勇气,并且善于调查研究,掌握第一手材料。


🚀 如何提高数学建模能力

知道了应该具备哪些能力之后,更重要的是在实践中逐步提高这些能力,主要通过以下三个途径。

📖 案例研究:学习、分析、评价、改进和推广

案例研究是学习数学建模课程的主要方法之一,这与法学、管理学的学习方法有些相近。学习课堂上讲的和教材里写的别人做过的模型,不能听过、看过就算学了 ,应该通过学习分析评价改进和推广 几个步骤来逐步深化:

  1. 学习:首先是弄懂它,理解模型的思想和方法;
  2. 分析:再分析它为什么这样做,哪些地方是关键;
  3. 评价:评价有什么优缺点;
  4. 改进和推广:最后,如果可能的话,去尝试改进、推广它。

对具体的建模案例,还可以从以下角度做深入研究:

  • 对模型假设进行分析
  • 对建模的关键进行分析
  • 对建模过程做深入研究

🏆 参加数学建模竞赛,做自己的模型

学习数学建模,如果只停留在学别人的模型上,是远远不够的,一定要亲自动手,踏踏实实地做几个实际题目。参加数学建模竞赛为同学们通过亲手做课题,更快地提高用数学建模方法分析、解决实际问题的能力,搭建了广阔的平台。

🔁 赛后继续

应该结合三天的参赛,总结一下整个竞赛准备过程的收获及经验教训。如果有兴趣和精力对赛题作进一步钻研,或者对赛题进行扩展研究,可以寻求教师和其他同学共同参加,更希望通过竞赛激发同学参与数学建模相关实践活动的兴趣。


作者:majorArcs

原文链接:https://k-hengzhou.github.io/posts/MATH-MODELING-SECOND-COURSE/