数学建模算法学习文档
本目录收录按算法组织的数学建模学习文档(面向研究生数学建模竞赛备赛),共 27 篇。每个算法一个文档,结构统一:算法含义、何时使用、算法指标、可视化图表、符号说明、可运行程序(手写实现 + 库实现双对照)、结果解读与论文话术、延伸阅读。所有代码均为自包含脚本(合成数据、无需外部文件),并已实际运行验证通过。
文档索引
基础
| 编号 | 文档 | 行数 |
|---|---|---|
| 00 | 数学建模常用符号解释(符号速查:希腊字母、上下标、统计记号等 12 节) | 244 |
回归分析(01-06)
| 编号 | 文档 | 核心用途 | 行数 |
|---|---|---|---|
| 01 | 一元线性回归 | 单自变量线性建模与预测 | 700 |
| 02 | 多元线性回归 | 多自变量建模、共线性诊断(VIF) | 691 |
| 03 | 多项式回归 | 单特征非线性趋势、CV 选阶 | 620 |
| 04 | 非线性回归 | 已知机理模型(指数/幂/生长曲线)拟合 | 724 |
| 05 | Logistic回归 | 二分类判别与概率预测(ROC/AUC) | 730 |
| 06 | 岭回归 | 共线性/高维场景的正则化回归 | 787 |
数学规划(07-09)
| 编号 | 文档 | 核心用途 | 行数 |
|---|---|---|---|
| 07 | 线性规划 | 资源分配等线性优化、单纯形法、影子价格 | 955 |
| 08 | 整数规划 | 整数变量优化、分支定界法 | 1085 |
| 09 | 0-1规划 | 选与不选决策、背包/指派、逻辑约束建模 | 920 |
智能优化算法(10-13)
| 编号 | 文档 | 核心用途 | 行数 |
|---|---|---|---|
| 10 | 遗传算法 | 组合优化/多峰函数、选择交叉变异 | 1020 |
| 11 | 粒子群算法 | 连续优化、速度-位置更新 | 744 |
| 12 | 模拟退火算法 | 逃离局部最优、Metropolis 准则 | 721 |
| 13 | 蚁群算法 | TSP/路径类组合优化、信息素机制 | 693 |
评价类方法(14-17)
| 编号 | 文档 | 核心用途 | 行数 |
|---|---|---|---|
| 14 | 层次分析法 | 主观权重确定、一致性检验 | 736 |
| 15 | TOPSIS法 | 多指标多方案排序(贴近度) | 803 |
| 16 | 熵权法 | 客观权重确定、组合赋权 | 561 |
| 17 | 模糊综合评价 | 定性/模糊信息的综合评价 | 787 |
分类算法(18-22)
| 编号 | 文档 | 核心用途 | 行数 |
|---|---|---|---|
| 18 | 决策树 | 可解释分类规则、特征重要性 | 813 |
| 19 | 随机森林 | 集成分类强基线、OOB 误差 | 682 |
| 20 | 支持向量机 | 中小样本分类、核技巧 | 858 |
| 21 | 朴素贝叶斯 | 文本分类、快速基线 | 764 |
| 22 | K近邻算法 | 小样本分类、距离投票 | 669 |
聚类与降维(23-26)
| 编号 | 文档 | 核心用途 | 行数 |
|---|---|---|---|
| 23 | K-means聚类 | 球状簇聚类、肘部法则选 K | 740 |
| 24 | 层次聚类 | 树状图、链接方式选择 | 682 |
| 25 | DBSCAN聚类 | 任意形状簇、噪声识别 | 662 |
| 26 | 主成分分析 | 高维降维、方差贡献率 | 610 |
运行环境
文档第六节代码为自包含脚本(合成数据、无需外部文件),依赖:
numpy scipy scikit-learn matplotlib pandas
本目录已附带虚拟环境,直接运行:
# 激活(bash/zsh)
source .venv/bin/activate
# 或直接用完整路径运行(提取文档中代码拼接后的脚本)
.venv/bin/python your_script.py
目录结构
algorithm/
├── README.md # 本索引
├── 00_数学建模常用符号解释.md
├── 01~26 各算法文档.md # 27 篇内容文档
├── figures/ # 各文档代码运行生成的图片(共 110 张,按算法前缀命名)
│ ├── slr_/mlr_/poly_/nlr_/logit_/ridge_ # 回归分析
│ ├── lp_/ilp_/zolp_ # 数学规划
│ ├── ga_/pso_/sa_/aco_ # 智能优化
│ ├── ahp_/topsis_/ew_/fce_ # 评价类
│ ├── dt_/rf_/svm_/nb_/knn_ # 分类
│ └── km_/hc_/db_/pca_ # 聚类与降维
└── .venv/ # Python 虚拟环境
使用方法
- 学习:按编号顺序阅读,先看 00 符号约定,再按主题选读。
- 跑代码:把文档第六节代码块按顺序拼接为
.py文件,激活.venv后运行,对照第七节的指标与图片解读(第七节数值均与真实运行输出一致)。 - 竞赛应用:每个文档第七节提供论文写作话术模板,可直接改写套用。