通用数学建模工作流:把赛题拆成可执行的建模流水线

前言

数学建模竞赛(如华中杯、全国大学生数学建模竞赛 CUMCM)往往是多小问、多数据文件、约束层层叠加。常见做法是直接让 AI「写个优化模型」,结果容易漏读题面参数、目录混乱、各小问之间无法复用代码,调试时也难以定位约束违反来自哪一段逻辑。

下面介绍 SkillHub 上的社区 Skill「通用数学建模工作流」(@user_3937f0b6/math-modeling-solver)。它用标准 SKILL.md 把解题过程固定为五个阶段:理解题意、架构设计、实现求解器、校验调试、结果分析,并附带数据结构、代价函数与贪心插入等可复用模式,适合在 Cursor 等 Agent 里作为长期启用的工作流说明。

这是什么

一句话定位:面向数学建模竞赛多小问赛题的系统化 Agent Skill,指导从读题与探数到建模、编码、验证与交付的完整流程。

  • 坐标:@user_3937f0b6/math-modeling-solver
  • 版本:1.0.0
  • 来源:SkillHub 社区(community),发布者 user_3937f0b6
  • 分类:education
  • 标签:requires_api_key=false(无需配置 API Key)
  • 官方页面:SkillHub - 通用数学建模工作流

Skill 英文简介与页面一致:Solve math modeling competition problems (Huazhong Cup, CUMCM, etc.) with a systematic workflow — data exploration, model building, algorithm implementation, result analysis.

核心功能

以下内容均来自该 Skill 的 SKILL.md,安装后 Agent 会按此文档响应「解建模赛题」类请求。

五阶段工作流

  1. Phase 1:理解问题 — 通读各小问与数据文件;加载并检查 Excel/CSV;从题面提取全部模型参数(速度、惩罚系数、排放因子等)。
  2. Phase 2:设计解法架构 — 约定目录(如 problem_A/code、data、figures);选定建模方法(混合整数规划、启发式、动态规划等);规划求解管线(加载预处理、初解构造、局部搜索、约束检查、多分量代价);约定 JSON + TXT 输出。
  3. Phase 3:实现求解器 — 以 Python + pandas/numpy 为主;实现时变速度、U 型能耗、载重修正、软时间窗惩罚、碳价等代价项;贪心构造 + 2-opt;车队规模约束;多小问可增量叠加约束。
  4. Phase 4:校验与调试 — 检查容量、时间窗等约束;针对具体违反写修复逻辑而非通用补丁;与更简单基线对比合理性。
  5. Phase 5:结果分析 — JSON 结构化结果、可读摘要、汇总统计(总成本、里程、CO₂、车型数量、装载率等);跨小问对比。

内嵌模式与交付物

Skill 文档中给出了可照抄的代码结构示例,包括:

  • 图/路网类数据的 info 字典结构(节点、距离矩阵、时间窗、绿区客户等)
  • route_cost 式多分量路径代价计算
  • 按时间窗排序的贪心插入与违规扫描/修复思路
  • 多小问递进:第 N+1 问在上问基线上加约束并对比

每个小问建议产出:problemX_solver.py、problemX_result.json、problemX_result.txt、figures/*.png;跨小问还可有对比报告与论文模板(DOCX/TXT)等,具体以你在对话中与 Agent 约定的赛题为准。

安装与启用

安装方式以 SkillHub 安装文档 为准。先确认 CLI:

command -v skillhub && skillhub --version

未安装时可执行完整安装(文档推荐):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

安装 Skill 时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别:

skillhub install @user_3937f0b6/math-modeling-solver --dir <skills 目录>

常用路径(摘自 SkillHub 安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

也可按 SkillHub 页面提示,让 AI 根据 https://skillhub.cn/install/skillhub.md 安装 @user_3937f0b6/math-modeling-solver。安装后按你所用客户端要求重启或刷新 Agent,使 Skill 生效。

典型用法

Skill 在 description 中声明:当用户要求解数学建模竞赛题(尤其华中杯、CUMCM 等多小问形式)时使用本 Skill。下面是可以直接复现的交互方式,不涉及虚构赛题数据。

  1. 在 Cursor 等环境中完成上述安装,确保 math-modeling-solver 出现在 skills 目录。
  2. 新建或打开赛题工作区,把官方数据文件放在约定目录(如 problem_A/data/)。
  3. 用自然语言说明任务,例如:「这是 CUMCM 某年 A 题,共三问,请按通用数学建模工作流:先读题并列出参数,再为每问建 code/data/figures 目录,用 Python 实现求解并输出 JSON 和 TXT。」
  4. Agent 应按 Phase 1→5 推进:先探数与参数表,再选模型与管线,实现后跑约束检查,最后汇总统计与跨问对比。

若赛题属于路径优化、车队调度类,Skill 中的 info 结构、代价函数与贪心插入片段可作为实现参考;其他题型仍适用阶段划分与交付物清单,具体模型需结合题面由 Agent 调整。

适用场景与注意

适合谁

  • 参加华中杯、CUMCM 等竞赛,需要稳定目录结构与可迭代的多小问求解流程的团队或个人。
  • 希望 Agent 少跳步、先读数据再写模型,并输出 JSON/图表/报告等标准交付物的开发者。

限制与注意

  • 本 Skill 是工作流与模式说明,不自带可执行 Python 包;实现质量仍依赖题面、数据与你在对话中的约束。
  • 文档示例偏重组合优化、路径与代价分解;非此类赛题需自行替换 Phase 2 的建模选型,但五阶段顺序仍可用。
  • 社区来源 Skill,使用前可在 SkillHub 页面查看版本与说明;当前抓取信息为评分 100000、下载 1825 次、安装 5 次(以 SkillHub 展示为准,会随时间变化)。
  • requires_api_key=false 仅表示 Skill 本身不要求 Key;本地运行求解器仍可能需要 Python 环境与 pandas、numpy 等依赖,由你在项目中安装。

结尾

「通用数学建模工作流」把竞赛建模从「一次性生成代码」改成可检查的五阶段流水线,并写清目录、代价函数与交付物格式,适合挂在 Cursor 的 skills 目录里长期启用。安装与详情见 SkillHub:https://www.skillhub.cn/skills/user_3937f0b6/math-modeling-solver,API 条目:https://api.skillhub.cn/user_3937f0b6/math-modeling-solver。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜