Skip to main content

math-modeling-workflow

通用数学建模竞赛(CUMCM / MCM-ICM / 各类数模赛)端到端工作流。适用于拿到赛题后, 从问题分析、数据处理、模型构建、算法实现、结果验证到论文交付的完整流程。触发词包括 "数学建模""建模比赛""数模赛题""开始建模""solve modeling problem"等。

Jump to install

Source facts

Repository
Nance-Mike/container-damage-detection
Last source activity
August 21, 2026 at 03:11
Detected SKILL.md language
Chinese
Stars
4
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
4 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
math-modeling-workflow
description
通用数学建模竞赛(CUMCM / MCM-ICM / 各类数模赛)端到端工作流。适用于拿到赛题后, 从问题分析、数据处理、模型构建、算法实现、结果验证到论文交付的完整流程。触发词包括 "数学建模""建模比赛""数模赛题""开始建模""solve modeling problem"等。
# 数学建模竞赛通用工作流 从赛题拆解到论文交付的六阶段端到端 Workflow。每个阶段标注输入/输出/依赖/可复用步骤,可适配计算机视觉、统计推断、优化、预测等不同赛题类型。 --- ## 阶段零:赛前准备(5 分钟) 1. 在项目根目录下创建标准目录结构: ``` 项目名/ ├── data/ ← 原始赛题数据(只读,不修改) ├── src/ ← 所有源代码 ├── results/ ← 实验输出(模型权重、日志、预测结果) ├── figures/ ← 可视化图表 ├── 论文/ ← LaTeX 论文工程(阶段六创建) └── 解题方案.md ← 问题分析与技术路线(阶段一产出) ``` 2. 确认计算环境:GPU 型号、Python 版本、关键库版本。 3. 若项目下有 `cumcm-paper-writing` skill,后续阶段六直接沿用其 LaTeX 模板。 --- ## 阶段一:问题分析与假设 **输入**:赛题 PDF、附件数据 **输出**:`解题方案.md`(含问题分类、假设、技术路线图) **依赖**:无 ### 步骤 1. **通读赛题**,逐问题标注数学类型: | 类型 | 常见问法 | 典型方法 | |:--|:--|:--| | 分类/判别 | "判断是否…""分为几类…" | 统计检验、机器学习分类器、EVT | | 检测/定位 | "找出位置…""标注…" | YOLO / Faster R-CNN / 语义分割 | | 回归/预测 | "预测未来…""估算…" | 时序模型、回归分析、神经网络 | | 优化 | "最优方案…""最小化…" | 线性规划、遗传算法、模拟退火 | | 评估/排序 | "评价…""排名…" | AHP / TOPSIS / 熵权法 / DEA | 2. **识别核心困难**:数据缺失?类别不平衡?无标注?多目标冲突? 3. **建立假设体系**(5–7 条),每条假设对应一个模型前提,引用文献支撑。 4. **画技术路线图**(TikZ 或 Mermaid): ``` 赛题 → 数据EDA → [问题二模型] → [问题一推断] → [问题三评估] → 论文 ``` - 先确定问题间的依赖关系,再决定解题顺序。 - 常用策略:「先检测后推断」「先建模后评估」。 ### 适配提示 - **优化类赛题**:阶段一重点在约束条件形式化和目标函数定义。 - **预测类赛题**:阶段一重点在时间粒度选择和外部变量筛选。 --- ## 阶段二:数据预处理与导入 **输入**:原始数据、阶段一的问题分析 **输出**:清洗后数据集、EDA 报告、`dataset.yaml`(如适用) **依赖**:阶段一 ### 步骤 1. **探索性数据分析(EDA)** - 统计样本量、类别/特征分布、缺失率、异常值。 - 建立 **「真实数字清单」**:数据规模、类别占比、不平衡比、尺度分布等——后续论文中的所有数字必须从此清单取用。 - 输出可视化:类别柱状图、相关性热力图、分布直方图。 2. **数据划分** - 使用 **分层抽样**(`StratifiedShuffleSplit`)按类别/标签等比例划分训练集与验证集(常用 85:15)。 - 固定随机种子 `seed=42`,确保可复现。 - 测试集由赛题提供,不参与任何训练/调参。 3. **数据增强与特殊处理**(按需) | 场景 | 策略 | 实现 | |:--|:--|:--| | 类别不平衡 | 过采样 / Copy-Paste / SMOTE | 增加少数类有效样本 | | 缺乏负样本 | 从无标注区域裁剪纯背景图 | 生成 hard negative | | 多尺度目标 | Mosaic / 多尺度训练 | 扩展尺度覆盖范围 | | 数据量不足 | 翻转、旋转、色彩抖动 | 标准数据增强 | | 时序数据 | 滑动窗口、差分、归一化 | 时序特征工程 | 4. **格式转换**:将数据转为模型所需格式(YOLO txt / COCO JSON / CSV 等)。 ### 适配提示 - **表格/数值类赛题**:重点在特征工程(缺失值填充、编码、降维)。 - **图像类赛题**:重点在增强策略和标注格式转换。 --- ## 阶段三:模型构建 **输入**:阶段一的问题类型、阶段二的 EDA 结论 **输出**:模型架构定义、损失函数公式、数学推导文档 **依赖**:阶段一 + 阶段二 ### 步骤 1. **选择基线模型** | 问题类型 | 推荐基线 | |:--|:--| | 目标检测 | YOLOv8 / YOLOv11 / RT-DETR | | 图像分类 | ResNet / EfficientNet / ViT | | 时序预测 | LSTM / Transformer / Prophet | | 回归分析 | XGBoost / LightGBM / 线性回归 | | 组合优化 | Gurobi / OR-Tools / 遗传算法 | | 多准则评价 | AHP + TOPSIS / 熵权法 | | 统计推断 | 极值理论 / 贝叶斯推断 / 假设检验 | 2. **设计创新点**(论文核心加分项) 遵循「缺陷—改进—验证」链条: ``` 传统方法的已知缺陷(文献引用) ↓ 数学分析证明缺陷存在 ↓ 引入新的数学工具弥补 ↓ 推导统一公式(boxed) ↓ 实验验证改进幅度(消融表) ``` > 原则:优先选择有严格数学推导支撑的改进,而非纯工程 trick。 3. **数学推导文档化** 每个核心公式必须包含: - 符号定义(写入符号说明表) - 推导过程(定义 → 引理 → 定理 → 证明) - 物理/几何直觉解释 - 公式编号(`\eqref` 引用) ### 适配提示 - **优化类赛题**:模型构建 = 目标函数 + 约束条件 + 松弛/对偶变换。 - **评价类赛题**:模型构建 = 指标体系 + 权重确定方法 + 综合评分函数。 --- ## 阶段四:模型求解与算法实现 **输入**:阶段二的数据集、阶段三的模型设计 **输出**:模型权重、训练日志、测试集预测结果 **依赖**:阶段二 + 阶段三 ### 步骤 1. **编写训练/求解脚本** - 使用 `argparse` 管理超参数,便于消融实验切换。 - 固定所有随机种子 `seed=42`。 - 记录完整训练日志(逐 epoch 指标、损失曲线)。 2. **设计消融实验** | 实验 | 改变的变量 | 控制变量 | 目的 | |:--|:--|:--|:--| | Exp-A (Baseline) | 基础模型/默认参数 | — | 性能下限 | | Exp-B (改进 1) | 模型容量/数据增强 | 同数据划分 | 量化单一改进 | | Exp-C (改进 2) | 叠加新策略 | 同上 | 验证增量贡献 | > **铁律**:每次只改变一个变量。 3. **执行训练并管理产物** ``` results/ ├── exp_a/weights/best.pt, results.csv, args.yaml ├── exp_b/... └── exp_c/... ``` 4. **生成测试集提交文件** - 格式严格对齐赛题要求(列名、顺序、是否含扩展名)。 - 提交前人工抽查若干样本。 ### 适配提示 - **优化类赛题**:此阶段 = 调用求解器(Gurobi/OR-Tools)或实现元启发式算法。 - **统计类赛题**:此阶段 = 参数估计 + 假设检验 + 置信区间计算。 --- ## 阶段五:结果验证与敏感性分析 **输入**:阶段四的模型输出 **输出**:评估指标汇总表、消融分析、鲁棒性报告 **依赖**:阶段四 ### 步骤 1. **多维度评估** | 维度 | 常用指标 | |:--|:--| | 精度 | mAP / Accuracy / RMSE / R² | | 分类 | Precision / Recall / F1 / AUC-ROC | | 效率 | FPS / 参数量 / FLOPs / 求解时间 | | 稳定性 | 多次运行的均值 ± 标准差 | 2. **消融实验分析** - 制作对比表格(含 Δ 列),量化每个改进的贡献。 - 按类别/场景做细粒度分析(如逐类 mAP)。 3. **跨配置一致性验证**(统计推断类) - 用不同模型/参数重复实验,验证结论的模型无关性。 - 合格标准:核心结论的变异系数 < 15%。 4. **鲁棒性/敏感性分析** - 对关键参数做扰动实验(±10%、±20%),观察输出变化。 - 若有真实退化数据则量化,否则写「增强覆盖分析 + 建议协议」。 ### 适配提示 - **优化类赛题**:敏感性分析 = 对约束参数做松弛,观察目标函数变化。 - **预测类赛题**:验证 = 回测历史数据 + 滚动预测误差分析。 --- ## 阶段六:可视化与报告生成 **输入**:阶段一~五全部产物 **输出**:`main.pdf`(论文)+ `支撑材料.zip` **依赖**:阶段一~五 ### 步骤 1. **可视化生成** ```python import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.rcParams['figure.dpi'] = 300 ``` 必出图表:类别分布图、技术路线图、训练曲线、消融对比表、结果可视化。 2. **论文工程搭建** - 若有 `cumcm-paper-writing` skill,执行其步骤3(复制 `assets/latex-template/` 为论文目录)。 - 若无模板,手动搭建 `ctexart` + `geometry` + `booktabs` + `fancyhdr` 结构。 3. **论文章节对照** | 章节 | 内容来源 | 写作要点 | |:--|:--|:--| | 摘要 | 全文精华 | 单页,700-900字,每个问题一段(方法+关键数字) | | 问题重述 | 阶段一 | 用自己的语言复述,不抄原题 | | 问题分析 | 阶段一 | 技术路线图 + 各问题建模切入点 | | 模型假设 | 阶段一 | 5-7 条,每条有文献支撑 | | 符号说明 | 阶段三 | longtable 两列格式 | | 数据处理 | 阶段二 | EDA 图表 + 数字清单 | | 问题 N 求解 | 阶段三+四 | 建模 → 公式 → 算法 → 结果 | | 模型评估 | 阶段五 | 多维指标 + 消融 + 鲁棒性 | | 模型评价 | 全文总结 | 优点/缺点/推广(如实) | | 参考文献 | 全文引用 | GB/T 7714 著录,`\cite` 一一对应 | | 附录 | 阶段四 | 全部可运行源代码 | 4. **自检清单** - [ ] 摘要单页,数字与正文一致 - [ ] 每张图/表在正文被引用,图下表上 - [ ] 公式编号连续,`\eqref` 引用 - [ ] 参考文献 `\cite` 与文末一一对应 - [ ] 无身份/学校信息 - [ ] 电子版不含承诺书/编号页 - [ ] 附录含全部可运行源程序 - [ ] 提交文件格式与赛题要求一致 5. **编译**:`xelatex main.tex` × 2 遍。 --- ## 时间分配建议 ### 72 小时赛制(CUMCM 国赛) | 阶段 | 时间 | 占比 | 说明 | |:--|:--|:--|:--| | 阶段一 | 4-6h | 7% | 不要急于写代码 | | 阶段二 | 6-8h | 10% | EDA 决定后续方向 | | 阶段三 | 8-12h | 15% | 创新点是灵魂 | | 阶段四 | 16-20h | 25% | 并行跑实验 | | 阶段五 | 8-10h | 13% | 消融实验不可省 | | 阶段六 | 20-24h | 30% | 论文质量 = 获奖概率 | ### 4 天赛制(MCM/ICM 美赛) 时间更充裕,可在阶段三加厚数学推导、阶段五做更多灵敏度分析,阶段六补充英文摘要。 --- ## 参考文件(按需读取) - `references/stage-checklist.md`:每个阶段的详细检查清单。 - `references/innovation-patterns.md`:常见创新模式与数学工具速查。 - `references/paper-structure.md`:论文各章节的写作模板与范例。
View on GitHub