Skip to content
Back to skills

Math Model Selector

ASecurity

数学建模竞赛「题型→模型」选择路由器(国赛/美赛/华数杯/电工杯/MathorCup)。按题型主类、数据规模、约束特征推荐模型框架与 Python 库,输出「子问题|模型|原因|Python库|备选」选择表。触发:选题/用什么模型/模型选择/题型判断/方法推荐/怎么建模。由 contest-orchestrator 主控调用;与 topic-scorer(选题评分)分工,math-modeling 仅作兼容入口。

  • 13 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythongonodeapi

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add cjh-solver/MathModeling-Skills-Arsenal --skill math-model-selector --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Math Model Selector?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Math Model Selector
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cjh-solver-math-model-selector/badge)](https://www.skillsdirectory.com/skills/cjh-solver-math-model-selector)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: math-model-selector
description: 数学建模竞赛「题型→模型」选择路由器(国赛/美赛/华数杯/电工杯/MathorCup)。按题型主类、数据规模、约束特征推荐模型框架与 Python 库,输出「子问题|模型|原因|Python库|备选」选择表。触发:选题/用什么模型/模型选择/题型判断/方法推荐/怎么建模。由 contest-orchestrator 主控调用;与 topic-scorer(选题评分)分工,math-modeling 仅作兼容入口。
metadata:
  version: "2.0"
---

# math-model-selector — 竞赛题型 → 模型路由

## Contest-Orchestrator Adapter

本技能只负责已选题目的模型框架选择;`contest-orchestrator` 保持模式、范围、任务卡和最终裁决的唯一权威。调用时读取项目工作区中的 `problem_condition_ledger.yaml`、`problem_graph.md`、数据审计和已登记证据,输出可写入 `model_blueprint.yaml`/`model_contract.yaml` 的结构化候选。

- 每个候选必须给出题面或文献证据定位、适用条件、失效条件、复杂度/求解风险和 baseline;不得凭空添加模型、参数或库。
- 对涉及数据规模、指标或参数的候选登记 `numeric_source_map` 数值来源;需要随机求解时同时登记 `seed`。
- 返回 `status`、`active_mode`、`task_card`、`artifacts`、`evidence`、`checks`、`blockers`、`next_node` 节点包;候选与选择依据登记到项目工作区的 `run_manifest` 和 `result_registry`,不写入 skill 安装目录。
- 模型、符号、数据和引用缺证据时返回 `BLOCKED_INPUT`;不替主控启动求解、论文或交付流程。
- 节点包和任何项目成品不得包含负回响、元话语或内部交流内容;新符号必须在论文首用处定义。

`active_mode: full-contest-mathorcup` 时,M1 只依据 `problem_statement.md`、`data_overview.yaml`、`task_kpi.yaml` 和题面证据提出逐问候选与指标/数据需求,不替用户批准最终路线;M3 由唯一 solver 结合 M2 `eda_report.md`、`features.yaml`、`leakage_audit.yaml` 和已确认文献用途确定统一 baseline、候选、分割策略、指标及计算预算。每个候选说明跨问输入输出和参数传递;题型、指标或样本结构不支持的方法不进入候选。候选表是决策依据,不是已执行结果;实际运行、数字与最终结论只由 M3 求解证据和独立验证确定。通用速查表及实现优先级仅作参考,不构成固定算法顺序。

## 定位与分工(避免与兄弟 skill 打架)

MathorCup 选择路线前,按 `data-science-stack/references/mathorcup_experiment_protocol.md` 核对当前安装版本、实际估计器 API、损失、目标耦合与拟合数量。多输出接口不自动证明利用目标相关性,旧版包装器也不证明当前估计器不支持多输出。算法比较和特征变换消融分别设计;候选是否采纳以预登记标准和完整对照为依据,不为新颖性强行引入未采用的方法。

| 决策 | 归属 |
|---|---|
| 选**哪道题**(多题评分/经验覆盖) | `contest-orchestrator` 的 **topic-scorer** |
| 选定题目后选**什么模型框架** | **本技能** |
| 全流程执行(建模/求解/论文) | `contest-orchestrator` 主控(`math-modeling` 仅作兼容入口) |

> 本技能只在"题目已定、开始设计模型"时介入;不替代选题评分,不写论文。

## 输入

- 题目描述 + 问题分解(来自 `contest-orchestrator` problem-parser 的 problem_graph;兼容 `math-modeling` 阶段1 输出)
- 关键信息:子问题列表、数据规模(<100 / 100-1w / >1w)、约束类型(线性/非线性/整数/动态/空间/时序)、目标(单/多/模糊/鲁棒)

## 工作流(4 步)

1. **判题型主类**(对照下方速查表):
   - 优化/规划 / 预测 / 评价/决策 / 分类/聚类 / 微分方程(机理) / 图/网络 / 时间序列 / 统计/相关 / 排队论 / 博弈论
2. **看数据与约束**:数据规模决定 ML 还是机理;整数/非线性决定求解器(精确 vs 启发式)
3. **查速查表**选主模型 + 备选(备选必须来自表格或文献,禁止现场发明)
4. **输出模型选择表**(子问题 | 模型 | 原因 | Python库 | 备选方案),喂给求解阶段

## 详细决策参考(按需加载)

- 速查表覆盖 10 大题型主类;需要 **95+ 细分场景**(数据规模、约束类型、目标冲突、参数建议)时,加载 `references/model-selection-matrix.md`(模型决策矩阵,含冲突裁决规则与快速决策速查)。矩阵是知识参考,最终选择必须结合题目约束与团队判断。
- 需要 **实现路由决策**(选完模型后决定由哪个子 skill 落地:pyomo / heuristic-algorithms / data-science-stack / 解析求解)时,加载 `references/model-selection-matrix-harness.md`(harness 版矩阵,含实现路由列与三问裁决:题目特征、问题规模、用户背景优先)。
- **防炫技方法选择**(通用扎实方法优先级表 P0-P3、复杂度升级树、炫技检测清单 8 项、模型-假设一致性检查、方法选择 7 问)时,加载 `references/anti_flashy_method_guide.md`。核心原则:方法适配问题,而不是越复杂越好;复杂方法不是默认候选,而是"经论证后获得准入资格"的候选。

## 题型→模型速查表

| 问题类型 | 竞赛频率 | 推荐模型 | Python 库 |
|---------|:---:|---------|--------|
| 优化/规划 | 极高 | LP/MILP/NLP、遗传算法、PSO | pyomo, pulp, scipy.optimize, geatpy |
| 预测 | 高 | XGBoost、随机森林、ARIMA、LSTM、GM(1,1) | sklearn, statsmodels, xgboost |
| 评价/决策 | 高 | AHP、TOPSIS、熵权法、模糊综合评价 | numpy 手写 |
| 分类/聚类 | 中 | K-Means、SVM、DBSCAN、层次聚类 | sklearn |
| 微分方程(机理) | 中 | ODE/PDE 数值求解、SIR、传热/光学模型 | scipy.integrate |
| 图/网络 | 中 | 最短路径、最大流、最小生成树 | networkx |
| 时间序列 | 中 | ARIMA、SARIMA、Prophet、LSTM | statsmodels, prophet |
| 统计/相关 | 低 | Pearson、Spearman、灰色关联、主成分 | scipy.stats, numpy |
| 排队论 | 低 | M/M/1、M/M/c 模型 | simpy, 手写 |
| 博弈论 | 低 | Nash 均衡、演化博弈 | nashpy, 手写 |

**快速路由规则**:
- 「产量最大/损失最小 + 容量/预算限制」→ 优化(先 LP/MILP,超时切启发式)
- 「历史数据 + 未来值」→ 预测/时间序列(先 baseline,再 ARIMA/XGBoost)
- 「实测离散数据 + 几何/物理要素标注」→ 统计/数据处理或机理反演(先判题型再选)
- 「物理/工程背景 + 连续演化」→ 微分方程/机理建模(ODE 起步)
- 「排名/评价/多指标」→ 综合评价(熵权+AHP+TOPSIS 组合)

## 输出格式

```markdown
## 模型选择表
| 子问题 | 模型 | 原因 | Python库 | 备选方案 |
|--------|------|------|----------|----------|
| Q1 | ... | ... | ... | ... |

求解优先级:精确(pyomo)→ 启发式(heuristic-algorithms)→ 简化/近似
```

## 与现有体系对接

- **求解实现**:精确用 `pyomo`;超时/不可行切 `heuristic-algorithms`(GA/SA/PSO/蒙特卡洛/ODE)
- **C 题数据链路**:EDA→预处理→统计→ML→时序 走 `data-science-stack`
- **结果可视化**:数据结果图 scipilot-figure-skill → modelviz → scipilot-figure-skill;所有非数据图 tikz-scientific-figures;Draw.io 仅用户明确要求时使用
- **竞赛全流程**:作为 `contest-orchestrator` planner 的模型选择器调用(兼容 `math-modeling` 阶段2 入口)

## 边界(不做)

- ❌ 选题评分(那是 `contest-orchestrator` topic-scorer)
- ❌ 文献调研(用 web 搜索)
- ❌ 写论文(`contest-orchestrator` 主控下的 `mathmodel-latex-skill` / `latex-paper-en`)

Files in this skill

  • SKILL.md7.7 KB
  • references/anti_flashy_method_guide.md8.9 KB
  • references/model-selection-matrix-harness.md11.1 KB
  • references/model-selection-matrix.md14.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.