数学建模全流程:从一道题到一篇论文

专栏导语:本专栏系统讲解数学建模的经典方法与 AI 智能方法,并打通两者之间的联系。本篇作为开篇,先把数学建模的完整流程讲清楚,让你知道面对一道题该从哪里下手、每一步做什么、做完怎么检验。

文章目录

  • 一、为什么要先讲流程
  • 二、七步流程详解
    • [2.1 审题:把模糊问题变成明确问题](#2.1 审题:把模糊问题变成明确问题)
    • [2.2 假设:把现实简化成可处理的世界](#2.2 假设:把现实简化成可处理的世界)
    • [2.3 符号:给每个量起名字](#2.3 符号:给每个量起名字)
    • [2.4 建模:用数学结构描述问题](#2.4 建模:用数学结构描述问题)
    • [2.5 求解:让模型给出答案](#2.5 求解:让模型给出答案)
    • [2.6 验证:你的结果靠谱吗](#2.6 验证:你的结果靠谱吗)
    • [2.7 论文:把思考过程写出来](#2.7 论文:把思考过程写出来)
    • [2.8 AI 申明:近几年起的硬性要求](#2.8 AI 申明:近几年起的硬性要求)
  • 三、流程的本质

📌本文是专栏「数学建模 × AI:从经典模型到智能方法」的第 1 篇文章。

一、为什么要先讲流程

很多人学数学建模的第一反应是"我要学哪些模型"------线性规划、神经网络、遗传算法......但模型只是工具箱里的锤子,真正决定建模质量的,是你怎么把一个现实问题拆成可以用锤子敲的结构

数学建模的核心不是"会用某个模型",而是"面对一个开放问题,知道从哪里下手、每一步做什么、做完怎么检验"。这就是流程的价值。

一套标准的建模流程分为七步:

审题 ⟶ 假设 ⟶ 符号 ⟶ 模型 ⟶ 求解 ⟶ 验证 ⟶ 论文 \text{审题} \longrightarrow \text{假设} \longrightarrow \text{符号} \longrightarrow \text{模型} \longrightarrow \text{求解} \longrightarrow \text{验证} \longrightarrow \text{论文} 审题⟶假设⟶符号⟶模型⟶求解⟶验证⟶论文

注意验证到建模之间那条虚线------建模是个迭代过程,验证不过就回到前面改假设、换模型。

下面逐步拆解,每一步都讲清楚"做什么、怎么做、常见坑"。

二、七步流程详解

2.1 审题:把模糊问题变成明确问题

赛题往往很长,里面混杂着背景、数据、要求和干扰信息。审题的目标是提炼出三个东西

  • 要解决什么问题(通常不止一个,要拆成子问题)
  • 有哪些已知条件和数据
  • 有哪些隐含约束(比如"不能超过多少"、"必须满足什么")

常见错误是一上来就套模型。正确做法是先把问题用自己的话重述一遍,确保你真的懂了题目在问什么。

审题还有一个容易被忽略的点:拆分子问题。一道赛题通常会问 3-4 个小问题,它们之间往往有依赖关系------比如第 2 问要用到第 1 问的结果。审题时就要理清子问题之间的逻辑链条,而不是做一个算一个。

2.2 假设:把现实简化成可处理的世界

现实太复杂,必须简化。假设就是"为了让问题可解,我先忽略哪些因素"。好的假设有两个标准:

  • 合理:忽略的因素对结果影响不大,或者有文献/常识支撑
  • 可追溯:每个假设都要写清楚"我做了什么假设、为什么这么假设"

假设不是越少越好,也不是越多越好,而是刚好让问题变得可解、又不失真。后面如果模型结果不好,第一个要回头检查的就是假设。

假设通常分三类:

  • 简化性假设:把非线性的近似成线性的、把连续的近似成离散的
  • 规范性假设:数据服从某种分布(如正态分布、泊松分布)
  • 排除性假设:忽略某些次要因素(如忽略空气阻力、忽略迁移)

每一条假设都要在论文里写出来,因为假设决定了模型的适用边界------评委看到你的假设,就知道你的结果在什么范围内成立。

2.3 符号:给每个量起名字

把问题里涉及的量用数学符号表示,并列成符号说明表。这一步看似简单,但直接决定了后面推导是否清晰。符号约定的原则:

  • 统一:全文同一个符号只能表示一个含义
  • 简洁:优先用单字母加下标,避免冗长
  • 标注单位:每个符号都要有单位(无量纲的要说明)

一个规范的符号说明表长这样(论文中用三线表格式):

符号 含义 单位
P(t) t 时刻的人口数量
r 自然增长率 1/年
K 环境容量

对应的 LaTeX 三线表源码(论文排版时直接用):

latex 复制代码
\begin{table}[H]
\centering
\caption{符号说明}
\begin{tabular}{ccc}
\toprule[1.5pt]
符号 & 含义 & 单位 \\
\midrule
$P(t)$ & $t$ 时刻的人口数量 & 人 \\
$r$    & 自然增长率         & 1/年 \\
$K$    & 环境容量           & 人 \\
\bottomrule[1.5pt]
\end{tabular}
\end{table}

三线表只有顶线、表头线、底线三条线,没有竖线,是学术论文的标准表格格式。

不要小看这一步------如果符号混乱,后面的推导会一团糟,评委也看不懂。建议养成"先列表、再推导"的习惯。

2.4 建模:用数学结构描述问题

这是核心一步。根据问题类型选择合适的数学结构:

  • 要"评价好坏" → 评价类模型(AHP、TOPSIS、熵权法)
  • 要"预测未来" → 预测类模型(回归、时间序列、灰色预测)
  • 要"求最优解" → 优化类模型(线性规划、整数规划、启发式算法)
  • 要"分类分组" → 分类聚类模型(判别分析、聚类分析)
  • 要"模拟过程" → 仿真类模型(蒙特卡洛、元胞自动机)

建模的本质是用方程、不等式、图、概率分布等数学语言,把问题中的关系写出来

建模时要注意一个判断标准:这个模型是否抓住了问题的主要矛盾? 比如预测人口增长,核心矛盾是"资源有限导致增长减速",那就要用带环境容量的 Logistic 模型,而不是纯指数的 Malthus 模型。模型不是越复杂越好,而是越贴合问题本质越好。

2.5 求解:让模型给出答案

模型建好后是一组数学表达式,需要求解才能得到具体结果。求解方式有三类:

  • 解析解:直接推导公式,得到闭式解(如 Logistic 模型的解析解)。优点是精确、可解释,缺点是不是所有模型都能求出解析解
  • 数值解 :用计算机迭代求解(如 odeintscipy.optimize)。优点是适用面广,缺点是需要初值、可能不收敛
  • 仿真解:通过大量随机模拟逼近真实结果(如蒙特卡洛)。优点是能处理复杂随机性,缺点是计算量大、有误差

实际建模中,能用解析解的优先用,否则用数值解或仿真。求解后要做灵敏度分析------参数变一点,结果变多少?这决定了模型是否稳健。

求解还有一个常见坑:初值选择。数值优化方法对初值很敏感,差的初值会导致结果陷入局部最优。解决办法是多试几个初值,或者先用解析估算给一个合理初值。

2.6 验证:你的结果靠谱吗

建模不是"算出来就完事"。必须验证结果是否合理:

  • 与常识/文献对比:人口预测结果不能比地球总人口还多
  • 与历史数据回测:用模型预测已知的过去,看准不准
  • 与其他模型对比:换个方法做,看结论是否一致
  • 鲁棒性检验:扰动输入或参数,看结果是否稳定

验证不过,就要回到前面的步骤------改假设、换模型、调参数。建模是个迭代过程,不是一次性的。

验证失败时怎么排查?按这个顺序:

  1. 先检查数据有没有问题(读错了?清洗错了?)
  2. 再检查代码有没有 bug(公式写错了?循环越界了?)
  3. 然后检查假设合不合理
  4. 最后才考虑换模型

很多人一遇到结果不对就换模型,其实问题往往出在前面几步。

2.7 论文:把思考过程写出来

建模竞赛最终交的是论文,不是代码。论文要让评委看懂你怎么想的、为什么这么做、结果怎么样。本专栏统一使用以下标准结构:

复制代码
摘要 → 问题重述 → 模型假设 → 符号说明 → 问题分析 → 模型建立 → 模型算法 → 模型求解 → 模型评价 → AI声明 → 参考文献 → 附录

其中几个关键节的定位:

  • 问题分析:在建模前独立成节,讲清问题拆解、要素抽取、为什么选这个模型
  • 模型算法:单独说明求解该模型所用的算法,与"模型建立"的数学结构分开
  • 模型评价:灵敏度分析、鲁棒性检验、优缺点、改进方向
  • AI声明:声明是否使用 AI 辅助、用在哪些环节,符合当前竞赛规范
  • 附录:完整代码、补充数据、额外图表

下面单独讲一下 AI 申明------这是 近几年起数模竞赛新增的硬性要求,必须重视。

2.8 AI 申明:近几年起的硬性要求

为什么要申明? 从近几年开始,国赛、美赛、MathorCup 等主流竞赛都明确要求参赛者声明 AI 工具的使用情况。原因很直接:大模型(GPT、Claude、Codex、DeepSeek 等)已经能帮人做审题、写代码、润色论文,如果不声明,就无法区分哪些是选手原创、哪些是 AI 生成,竞赛的公平性和学术诚信就无从谈起。

申明写什么? 一般要交代三件事:

  1. 用了哪些 AI 工具(如 GPT-4o、Claude 3.5等,注明版本)
  2. 用在哪些环节(审题思路、代码生成、数据清洗、论文润色、图表制作等)
  3. 哪些环节是独立完成的(核心建模思路、最终决策、论文主体写作等)

各竞赛要求差异。 目前不同比赛的松紧程度不一样:

  • 有些比赛要求在论文里专门设一节"AI 申明",详细列出使用情况
  • 有些比赛只要求在摘要或结尾附一句话声明
  • 有些比赛禁止使用 AI 工具(或限制在特定环节)

所以赛前一定要仔细阅读当年的竞赛规则,按要求申明,不要想当然。

合理使用 AI 的边界。 AI 申明不是说"不能用 AI",而是说"用了要老实说"。合理的使用方式:

  • ✅ 让 AI 帮你查资料、解释概念、生成代码框架
  • ✅ 让 AI 帮你润色语言、检查公式排版
  • ✅ 让 AI 帮你做数据清洗的重复性工作
  • ❌ 让 AI 直接帮你决定用什么模型、得出什么结论
  • ❌ 把 AI 生成的大段文字不做修改地放进论文
  • ❌ 用 AI 生成整篇论文后不声明

以国赛要求的申明模板示例。 可以直接套用:

复制代码
## AI工具使用声明

本参赛队在竞赛过程中使用了 AI 工具,主要用于:
背景查询与资料整理:文字描述
语言润色与表述优化:对摘要、问题分析、模型建立等部分的非数学性文字进行语法检查和学术表达润色,不涉及核心逻辑与数学推导的改写;
其他方面自己加:文字描述
详细使用情况见支撑材料。

记住:AI 是工具,不是替代品。用 AI 提高效率没问题,但思路和判断必须是你自己的,而且要如实声明。

写论文的黄金法则:让一个没做过这道题的人,能照着你的论文复现出结果。图表要自明(有标题、有坐标轴、有图例),公式要编号,推导不跳步。

三、流程的本质

回头看这七步,你会发现它不只是数模竞赛的流程,而是所有"用数学方法解决现实问题"的通用流程------数据分析、机器学习、运筹优化,甚至科研,都是这套骨架的变体:

数模流程 机器学习对应
审题 问题定义
假设 数据分布假设
符号 特征工程
建模 选择模型
求解 训练 + 优化
验证 测试集评估 + 消融实验
论文 实验报告

这就是本专栏的底层信念:传统建模和 AI 方法不是两套东西,而是同一条河的上下游。后面讲具体模型时,我们会反复看到这种对应关系。


📌 本文是专栏「数学建模 × AI:从经典模型到智能方法」的第 1 篇文章。

如果你在阅读过程中有任何疑问,欢迎在评论区留言交流。😊

相关推荐
AI_AGENT_DEV_AI1 小时前
AI 智能体的开发流程
人工智能
俊哥V1 小时前
每日 AI 研究简报 · 2026-09-20
人工智能·ai
zhiyouTech1 小时前
GEO实战:把生成式引擎优化当成检索工程来做(含五断点诊断与50题Benchmark)
前端·人工智能
IvorySQL1 小时前
PostgreSQL 日报|逻辑解码竞态条件修复(9 月 20 日)
数据库·人工智能·postgresql
AI智能从业者1 小时前
数码家电客服机器人怎么选?客户问参数问题机器人能不能接住
运维·人工智能·自动化
2601_962380481 小时前
考公讲义教案一键成片的制作流程与实现思路
人工智能
深度人工智能1 小时前
个人AI与企业级AI:同一物种,两种进化路径
人工智能
Dr.Cup1 小时前
英伟达SoL-Pi:让AI编码智能体自己优化自己的“脚手架“
人工智能·机器学习·ai智能体
正经教主1 小时前
【FDE系列】阶段2:Day 31:SQL 基础 — 增删改查一把梭
人工智能·python·fde