# Problem Intelligence

> Meta-model-agent 将竞赛题面转换为子问题、变量、约束、证据和后续工作契约。适用于问题情境解构与建模前置分析。

- Skill: `wuxinbo-bo/problem-intelligence` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wuxinbo-bo/problem-intelligence`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wuxinbo-bo/problem-intelligence/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: wuxinbo-bo (https://skillmd.com/u/wuxinbo-bo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wuxinbo-bo/problem-intelligence

---


# 问题情境智能解构

## 条件数据准备入口

在 `问题分析.md` 明确写出 `数据模式: supplied/collected/none`。有附件或采集数据时，递归登记真实数据文件、来源、字段、单位、缺失、异常、编码和潜在泄漏风险，并规划“审计—预处理—质量复核—冻结输入”；无数据时写明 `预处理: skipped` 及原因，不得虚构数据清洗过程。

## 稳定执行契约

- **执行目标**：把原始赛题转化为可执行、可追溯的问题契约，为后续建模提供唯一问题口径。
- **调用参数**：[competition-problem-text]。
- **权威输入**：赛题原文、附件与用户补充要求；已有的用户数据和参考资料。
- **允许交付**：问题分析.md，以及当前工作与必要的状态记录。
- **禁止写入**：不得越权修改已冻结的上游事实、用户原始文件或本协议未授权的目录。
- **可用工具边界**：Bash(*), Read, Write, Edit, Grep, Glob, WebSearch, WebFetch, Agent。
- **最小交付**：完整子问题拆解、变量与约束表、数据需求、证据需求、歧义与风险清单。
- **恢复入口**：优先读取当前工作、状态记录和已有产物，从最近一次通过门禁的位置继续。
- **失败回退**：题面或附件不完整时明确缺口并采用保守假设；发现关键歧义时停止向下游传播未经确认的结论。
- **收口顺序**：先核对输入，再完成产物，再运行本环节门禁，最后登记状态；门禁未通过不得宣告完成。

对以下赛题开展深度分析：**$ARGUMENTS**

## 常量

- **COMPETITION** / **PROBLEM_ID** / **LANGUAGE** — 从 Additional Parameters 查阅

- **TOOLS** — 默认 `python`

- **CUSTOM_REQUIREMENTS** — 用户自定义要求

## 输入

1. 赛题文本（$ARGUMENTS 或 `用户数据/` 中的 PDF/Word 文件）

2. 附件数据（`用户数据/*.csv` 等）

## ⛔⛔⛔ 完成铁律（最高优先级，违反则当前环节失败）

**当前环节务必产出 `问题分析.md`（≥ 1.5KB，完整的问题情境解构）**。

⛔ **结束前必跑产出校验**：

```bash

[ -f 问题分析.md ] && SZ=$(wc -c < 问题分析.md) || SZ=0

[ "$SZ" -ge 1500 ] && echo "✅ 问题分析.md ($SZ bytes)" \

    || echo "❌ 问题分析.md 缺失或过小 ($SZ bytes) — 必须补全后重新跑验证, 不要结束本步骤"

```

## 工作过程

### 工作节点 0：查阅赛题原文 + 上游规划

**⛔ 赛题查阅优先级（严格按此次序，避免跳过）：**

```bash

# 第一步：检查是否有 Vision OCR 提取的文本（公式最准确）

echo "=== 检查赛题文本 ==="

for f in 用户数据/*_extracted.txt; do

    [ -f "$f" ] || continue

    echo "找到提取文本: $f"

    head -3 "$f"  # 查看是否有 "Vision OCR" 标记

done

```

1. **`用户数据/*_extracted.txt`（最高优先级）** — 系统已用 Vision AI 识别 PDF 产出，公式为 LaTeX 格式（如 `$k = 2 \times 10^7$`），直接 Read 查阅

2. `用户数据/*.pdf` — **⛔ 禁止直接用 Read 工具读 PDF！** PDF 的数学公式会变成乱码（如 `7210` 真实是 `$7 \times 10^2$`）。若未 `_extracted.txt`，用下面的脚本提取

3. `$ARGUMENTS` 文本 — 用户在建立工作流时输入的文字

**⛔ 绝对避免直接 Read PDF 文件。** PDF 中的上标、下标、数学符号无法无误提取，会导致参数值错误（如 $10^7$ 变成 "107"）。务必读 `_extracted.txt`。

**若 选题规划.md 出现（统计建模选题规划），优先查阅它**，保证分析方向与选题规划保持一致：

```bash

[ -f 选题规划.md ] && echo "=== 选题规划.md exists ===" && cat 选题规划.md || echo "No 选题规划.md (normal for math modeling competitions)"

```

只有在没有 `_extracted.txt` 时才尝试提取：PDF 用 pdftotext 或 PyPDF2，Word 用 python-docx。

### 工作节点 1：赛题全文解读

提取：背景信息、关键问题、已知条件、评价标准。

**⛔ 子问题数量识别准则（务必严格遵守）：**

- 只有赛题中清晰标明编号的顶层问题才算子问题。常见格式：

  - "问题一"、"问题二"、"问题三"（中文编号）

  - "问题1"、"问题2"、"问题3"（阿拉伯数字）

  - "Problem 1"、"Problem 2"（英文）

  - "(一)"、"(二)"、"(三)"（带括号中文编号）

- **避免把子问题内部的小问 (1)(2)(3) 或 a/b/c 当成独立子问题**——它们是同一个子问题的不同部分

- **避免把背景描述、数据阐明、提交要求当成子问题**

- 若赛题只有 2 个问题，就是 2 个，避免凑成 3-4 个

- 识别完后在报告开头清晰标明写出："本赛题共 X 个子问题"

### 工作节点 1.5：假设敏感性预检（⛔ 必做，防止全盘方向错误）

**关键原则：拿到题后先花时间做"假设预检"，避免急着建模。一个关键假设选错，后续全部结果都会偏离题目设计意图。**

**1. 识别模糊表述，列出多种解释：**

逐句读题目，找出全部可能有歧义的表述。对各个模糊点，列出不少于两种合理解释：

```

模糊表述清单：

1. "[原文引用]"

   - 解释A: ...

   - 解释B: ...

   - 初步倾向: A/B，理由: ...

2. "[原文引用]"

   - 解释A: ...

   - 解释B: ...

```

常见歧义类别：

- 数量歧义："各类设备完成工程量"→ 每类 1 台 vs 每类多台并行？

- 界限歧义："优化方案"→ 只优化次序 vs 与此同时优化数量和次序？

- 约束歧义："不超过预算"→ 总预算 vs 每期预算？

- 时间歧义："完成时间最短"→ 最后一个完成的时间 vs 全部工作项总时间？

**2. 对关键歧义做快速验算（两种解释都算一遍问题一）：**

对影响最大的 1-2 个歧义点，用最简单的方法（手算/Excel/10 行 Python）把两种解释都在问题一上算一遍：

```

假设预检结果：

- 解释A: 问题一结果 = XXX

- 解释B: 问题一结果 = YYY

- 选择: B，理由: [结果更合理 / 更符合后续问题递进设计 / ...]

```

**3. 核验问题递进性（最关键的校验手段）：**

竞赛题的问题一般层层递进。在你选定的假设下，预判各个问题的结果应如何变化：

```

问题递进性预判：

- 问题一（基础场景）→ 结果: 基准值

- 问题二（增加约束/扩大规模）→ 结果应该: 比问题一差/好，因为...

- 问题三（进一步变化）→ 结果应该: 比问题二有明显变化，因为...

- 问题四（花钱/加资源）→ 结果应该: 比问题三明显改善，因为...

```

**⛔ 递进性退化检测：** 若在你的假设下，某个后续问题的结果和前一个问题几乎相同（新增的变量/资源对目标函数没有边际效益），阐明你的假设大概率有问题。**立刻回头核验基础假设，避免继续往下做。**

**4. 在 问题分析.md 中明示登记假设预检结果：**

```markdown

## 假设敏感性预检

### 模糊表述及解释

[列出每个歧义点和选择的解释]

### 快速验算对比

[两种解释在问题一上的结果对比]

### 问题递进性预判

[每个问题的预期结果变化方向]

### 最终假设选择及理由

[选择了哪种解释，为什么]

```

### 工作节点 2：子问题拆解

各个子问题清晰标明：

- 输入/交付

- 难度（简单/中等/困难）

- 推荐方法

- 与其他子问题的关系（依赖/独立/递进）

### 工作节点 3：数据探索

核验 `用户数据/` 中是否有附件数据。

**有数据**：分析数据规模、字段含义、数据质量、数据特征。

**无数据（纯建模题）**：标注"本题无附件数据"，在建模思路中阐明需自行构造参数/初始条件（如优化问题的约束参数、微分方程的初始值、蒙特卡洛的分布假设等）。

**⛔ 数据探索的边界：** 当前环节只做描述性统计和初步特征识别（数据规模、缺失率、分布形态、有关性矩阵、异常值检测），避免做数学机制构造。以下行为属于越界：

- 拟合模型（线性回归、周期函数拟合、移动平均预测等）→ 留给 model-formulation

- 写独立的 .py 文件留存到 程序/ 目录 → 留给 computational-realization

- 优化求解（遗传算法、线性规划等）→ 留给 computational-realization

- 若需用 Python 做简单的描述性统计（如 `df.describe()`、`df.isnull().sum()`），可用 Bash 内联一次性脚本，但避免建立独立文件

### 工作节点 4：变量定义与符号表

| 符号 | 含义 | 单位 | 类别 |

|------|------|------|------|

### 工作节点 5：建模思路规划

各个子问题 1-2 种候选方法，标注推荐方案。

常用模型类别：优化类、预测类、评价类、分类/聚类、图论/网络、随机/统计、微分方程。

### 工作节点 5.5：范例感知 + 图形与表格预规划

在交付分析报告前，**优先查阅参考资料了解可用的图形与表格类别**：

```bash

# 1. 读范例和套餐：了解各方法类型推荐的图表组合

cat 工具/figure_exemplars.md 2>/dev/null || cat skills/shared-scripts/figure_exemplars.md

# 2. 读选择指南：了解每种图表的适用场景、数据特征匹配、配色规则

cat 工具/figure_style_guide.md 2>/dev/null || cat skills/shared-scripts/figure_style_guide.md

```

**图形与表格规划方法（按分析环节推导，避免套模板）：**

先读 `figure_exemplars.md` 中的"按研究方法的图形与表格套餐"：

- 匹配套餐（A-F）→ 以必选项为基础，依据具体选题增减

- 不匹配 → 用下面的"数据形态推导法"

再读 `figure_style_guide.md` 的 "By data shape" 决策表，对各个分析环节做推导：

| 分析环节交付 | 数据形态 | 推荐图形与表格 |

|------------|---------|---------|

| 多变量时间趋势 | 时间×值 | 折线图 basic #3 |

| 变量有关系数矩阵 | N×N 矩阵 | 聚类热力图 advanced #14 |

| 多模型多指标数值 | 方法×指标矩阵 | 分组柱状图 basic #1 或 方法对比热力图 advanced #16 |

| 系数±标准误 | 系数+CI | 森林图 empirical #1 |

| 正负方向效应值 | 正负差值 | 发散柱状图 advanced #20 |

| 多组分布形态 | 多组连续值 | Ridgeline advanced #23 或 Grouped Violin advanced #24 |

| 地理空间数据 | 地理×值 | 地图热力图 competition #7 |

| 排名数据 | 名称×单一数值 | 棒棒糖图 advanced #1 |

| 模块增量贡献 | 环节×增量 | Waterfall advanced #6 |

**⛔ 每张图务必写明配方编号和选取理由**，格式：

`fig_xxx — 发散柱状图 (advanced #20) — 效应分解有正有负，发散柱状图能直观展示方向 — 章节: 实证结果`

**⛔ 配方编号是必填项！** 格式为 `(类别 #编号)`，如 `(advanced #1)`、`(basic #3)`、`(empirical #1)`、`(competition #7)`。系统会依据配方编号自动化注入相应的代码模板到 Meta-model-agent 的 prompt 中。若不写配方编号，Meta-model-agent 将无法获得配方代码，仅可从零写图形与表格脚本，质量无法保证。若图形与表格类别不在配方库中，写 `(custom)` 标注。

配方库是"菜单"不是"菜谱"——知道有哪些图形与表格可用，但依据你的数据和选题自主决定。若你认为某种不在配方库里的图形与表格更适合，也可用。

**硬准则（只有这几条务必遵守）：**

- 同一读者任务优先复用同一种清晰图形；禁止为了图表多样性强行更换图形类别

- 每张图务必指定具体类别（不可写"对比图"，要写"分组柱状图"或"发散柱状图"或"雷达图"）

- 不少于 1 张 DrawIO 技术路线图（放问题重述章节末尾 `1_restatement.tex`）

- 若涉及空间数据，务必有空间分布可视化（地图热力图/LISA图）

- 若涉及模型对比（≥3个模型），不少于用 2 种不同的对比图形与表格类别

- 若涉及前后/分组对比，考虑发散柱状图、Back-to-Back Bar、配对点图等方向性图形与表格

**在 问题分析.md 中交付图形与表格预规划清单：**

```markdown

## 图表预规划

### 数据图表清单

对每张图写明：文件名 — 具体图表类型 (配方编号) — 展示什么数据/传达什么信息 — 放在哪个章节

示例（根据实际选题自由发挥，每张图必须带配方编号）：

- fig_xxx — 棒棒糖图 (advanced #1) — 方法排名对比 — 章节: 模型对比

- fig_yyy — 森林图 (empirical #1) — 回归系数及置信区间 — 章节: 实证结果

- fig_zzz — 可行域图 (competition #28) — 约束条件与最优解 — 章节: 模型求解

- TABLE_xxx — [表格描述] — [章节位置]

### DrawIO 架构图清单

对每张 DrawIO 图写明：编号 — 图类型 — 展示什么内容 — 放在哪个章节。

**⛔ 语言规则：DrawIO 图中的所有文字（节点标签、箭头标注、分组框标题）必须与论文语言一致。**

- 中文赛题（国赛/数维杯中文/MathorCup/长三角/五一/华为杯等）→ 图中文字用中文

- 英文赛题（MCM/ICM/APMCM/数维杯英文/认证杯英文等）→ 图中文字用英文

必须规划（所有赛题）：

- DrawIO-1: 技术路线图 — 整体求解思路 → 问题重述章节末尾 (1_restatement.tex)

竞赛多问题赛题额外规划（每个子问题都需要求解流程图）：

- DrawIO-2: 问题一求解流程图 → 问题流程图_1.drawio → 问题一章节开头

- DrawIO-3: 问题二求解流程图 → 问题流程图_2.drawio → 问题二章节开头

- DrawIO-4: 问题三求解流程图 → 问题流程图_3.drawio → 问题三章节开头

- ...（有几个子问题就规划几张，一一对应）

按需规划（根据赛题特征判断，写明理由）：

- DrawIO-N: [模型架构图/变量关系图/算法流程图/Pipeline图/概念框架图] — [展示什么] → [章节位置] — 理由: [为什么需要这张图]

### 图表多样性检查

[列出每种图表类型的使用次数，确认无重复超过 3 次]

总计: ~X 数据图 + ~Y 表 + Z DrawIO + P TikZ + W AI Image

```

#### AI Image / DrawIO 图预规划

**AI Image 只用于场景示意图**（物理/工程类赛题的问题背景图）。技术路线图、求解过程图、架构图等结构化图形与表格采用 DrawIO。

**AI Image 场景示意图（按需，仅物理/工程类赛题）：**

- 仅当赛题有具体的物理/工程空间场景时才规划（光学、无人机、传感器网络、交通流、热传导、管道网络等）

- 纯数据/统计类赛题（蔬菜定价、人口预测等）不需

- 最多 1-2 张，放在问题重述章节（`1_restatement.tex`）的问题背景描述此后

**DrawIO / TikZ / AI Image 图类别与适用场景（按赛题特征选取）：**

| 图类别 | 推荐工具 | 适用场景 | 放置位置 | 是否务必 |

|--------|---------|---------|---------|---------|

| 技术路线图 | DrawIO | 全部赛题 | 问题重述章节末尾（`1_restatement.tex`），国赛/竞赛没有独立问题分析章节时放问题重述 | ✅ 务必（1张） |

| 子问题求解过程图 | DrawIO | 竞赛多问题赛题，各个子问题一张 | 各子问题章节开头 | ✅ 各个子问题务必 |

| 数据处理 Pipeline | DrawIO | 涉及多阶段数据清洗/特征工程 | 数据预处理章节 | 按需 |

| 概念框架图（简单分层） | DrawIO | 涉及理论模型/研究框架构建（无复杂连线） | 引言或理论分析章节 | 按需 |

| 指标体系层次图 | DrawIO | 涉及 AHP/熵权法/TOPSIS/模糊综合评价等评价类问题 | 模型构建章节 | 评价类务必 |

| 模型选取决策树 | DrawIO | 涉及多种候选模型需对比选取 | 模型构建章节 | 按需（≥3候选模型时推荐） |

| 甘特图/调度方案图 | DrawIO | 涉及排程/调度/资源分配/时间规划 | 求解结果章节 | 调度类务必 |

| 网络拓扑图（≤15节点） | DrawIO | 涉及图论/物流网络/社交网络 | 问题描述或求解结果章节 | 图论类务必 |

| 方法对比矩阵图 | DrawIO | 涉及多方法优缺点对比 | 模型构建章节 | 按需 |

| 模型架构图 | TikZ | 涉及神经网络/深度学习/集成模型 | 模型构建章节 | 按需 |

| 变量关系/因果路线图 | TikZ | 涉及因果推断/中介效应/SEM | 理论框架或模型设定章节 | 按需 |

| 算法过程图（带公式） | TikZ | 涉及自定义算法/迭代优化/启发式搜索 | 算法描述章节 | 按需 |

| 几何示意图（2D 平面） | TikZ | 涉及平面几何关系（三角形、圆、角度标注、坐标系） | 问题描述章节 | 按需 |

| 几何示意图（3D 空间） | AI Image | 涉及 3D 空间几何（圆柱体、球面、反射/折射、空间坐标系） | 问题描述章节 | 按需 |

| 概念框架图（复杂连线） | TikZ | 有跨层箭头+标注系数的理论框架 | 理论框架章节 | 按需 |

| 网络拓扑/路线图（>15节点或需标注路线） | TikZ/matplotlib | 节点多或需精确标注最优路线+权重 | 求解结果章节 | 按需 |

| 场景示意图 | AI Image | 涉及物理/工程空间场景（无人机/传感器/交通等） | 问题重述章节 | 按需（仅物理/工程类） |

**速查：需公式→TikZ，需精确连线→TikZ，需写实渲染→AI Image，其余→DrawIO**

**⛔ TikZ vs AI Image 判定（几何示意图务必过这条准则）：**

- 图中有圆柱体、球体、锥体、曲面等 3D 立体 → **AI Image**（TikZ 画 3D 透视会变形、标注重叠）

- 图中有反射/折射光线在 3D 空间中传播 → **AI Image**

- 图中只有 2D 平面元素（圆、三角形、直线、角度标注、坐标轴）→ **TikZ**

- 不确定时 → **AI Image**（比 TikZ 画 3D 安全得多）

**⛔ 按赛题特征自动化判定（规划时务必逐条过一遍，符合条件的务必规划）：**

一、全部赛题务必：

- 技术路线图（1张）— 展示整体求解思路

二、按赛题类别触发（逐条核验，符合就加）：

- 赛题有多个子问题 → 各个子问题都务必有一张求解过程图，放在相应章节开头。简单问题的过程图可简化（3-4 个节点），但不可省略

- 赛题涉及评价/排名/打分（AHP/熵权法/TOPSIS/模糊综合评价/灰色关联） → 加指标体系层次图（目标层→准则层→指标层）

- 赛题涉及深度学习/集成学习/多模型融合 → 加模型架构图（TikZ）

- 赛题涉及因果推断/路线分析/中介效应/SEM → 加变量关系图（TikZ）

- 赛题涉及自定义迭代算法（遗传算法/模拟退火/强化学习/粒子群/蚁群） → 加算法过程图（TikZ，带公式）

- 赛题涉及复杂多阶段数据预处理（爬虫→清洗→特征工程→建模） → 加 Pipeline 图

- 赛题需构建理论框架（经管/社科类，有假设推导） → 加概念框架图

- 赛题涉及图论/网络优化/物流配送/社交网络 → 加网络拓扑图或路线图

- 赛题涉及排程/调度/资源分配/生产计划 → 加甘特图

- 赛题涉及物理/工程空间场景（光学/无人机/传感器/交通/热传导） → 加场景示意图（AI Image）或几何示意图（TikZ）

- 赛题有 ≥3 种候选模型需对比选取 → 加模型选取决策树（展示选模型的逻辑）

- 赛题涉及空间数据/地理分布 → 加空间分布示意图（可用 matplotlib 地图热力图代替）

**⛔ 每张 DrawIO 图务必在清单中写明文件名**，格式为 `fig_xxx.drawio`，`系统逻辑制图` 环节会按此清单逐条产出并校验。

**在 问题分析.md 中交付：**

```

### AI Image / DrawIO / TikZ 图清单

**语言: [中文/English]**（与论文语言一致，图中所有文字使用此语言）

DrawIO 图（技术路线图/流程图/Pipeline/指标体系/决策树/甘特图/网络图）：

- DrawIO-1: 技术路线图 → 技术路线图.drawio → 问题重述章节末尾 (1_restatement.tex) [必须]

- DrawIO-2: 问题一求解流程图 → 问题流程图_1.drawio → 问题一章节开头 [按需]

- DrawIO-3: 指标体系层次图 → fig_index_hierarchy.drawio → 模型构建章节 [评价类必须]

- DrawIO-4: 数据处理Pipeline → fig_pipeline.drawio → 数据预处理章节 [按需]

- DrawIO-5: 模型选择决策树 → fig_model_decision.drawio → 模型构建章节 [按需]

- DrawIO-6: 甘特图/调度方案 → fig_gantt.drawio → 求解结果章节 [调度类必须]

- DrawIO-7: 网络拓扑/路径图 → fig_network.drawio → 问题描述或结果章节 [图论类必须]

- DrawIO-8: 概念框架图 → fig_framework.drawio → 理论分析章节 [按需]

TikZ 图（模型架构图/变量关系图/算法流程图/几何示意图，需要精确连线或公式）：

- TikZ-1: [图类型] → 结构示意图.tex → [章节位置] [按需]

AI Image 场景示意图（仅物理/工程类赛题）：

- AIIMG-1: {场景名}示意图 → 场景示意图.png → 问题重述章节 (1_restatement.tex) [按需]

总计: N 张 DrawIO + P 张 TikZ + M 张 AI Image

```

### 工作节点 5.6：⛔ 问题情境解构自检协议（逐句扫描，通用防遗漏）

**关键问题：问题情境解构遗漏一个关键句子，后续建模/编码/论文全部基于错误前提，不可逆地传播到终版结果。**

**以下是完全通用的自检过程，不依赖任何具体赛题。务必逐句实施。**

#### 第一步：逐句拆解题目

把赛题原文按句号/分号/冒号切成独立的句子单元，每一句都打上标签：

```markdown

## 题目逐句拆解表

| 句号 | 原文句子 | 句子类型 | 提取的要素 |

|------|---------|----------|-----------|

| DISCOVERY | "..." | 背景/约束/决策/数据/目标 | 名词+动词+数值 |

| FORMULATION | "..." | 背景/约束/决策/数据/目标 | 名词+动词+数值 |

```

**句子类别分类（6种，务必每句标一类）：**

- **背景**：介绍问题场景，无需建模

- **约束**：限定条件（不超过/不少于/务必），务必在模型中有相应不等式/等式

- **决策**：题目问"怎么选/如何规划/求最优"，务必识别为决策变量

- **数据**：给出具体数值/公式/分布，务必代入模型

- **目标**：题目终版要求的量（最大化/最小化/求解），务必是目标函数或交付

- **机制**：描述系统的动态行为/可选操作（"可充电"、"可重新分配"、"故障时"），**最容易被遗漏，务必尤其标注**

#### 第二步：对各个句子做五问

对各个句子，务必回答以下五个问题（不可跳过）：

```markdown

## 句子级五问审查

### DISCOVERY: "[原文]"

1. **这句话提到了什么实体？** （列出所有名词）

2. **这些实体是否都出现在我的变量定义表中？** （必须对照 Step 4 的符号表逐一核对）

3. **这句话描述的机制/行为是否在我的模型中有对应表达？** （动词→数学表达）

4. **如果这句话有数值，是否代入了模型？** 如果没数值，是否需要假设？假设值是多少？

5. **这句话如果被完全忽略，会导致什么后果？** （严重性评估：致命/严重/轻微）

```

**⛔ 尤其提示：**

- **出现一次的关键词**最容易被遗漏（如"补给点"、"中转"、"休息"、"故障"只出现一句但改变建模本质）

- **模糊量词**务必量化（如"较长时间"、"充足远"、"适当"务必给出具体阈值假设）

- **隐含的"可选"操作**务必建模为决策变量（如"可充电"不是"务必充电"）

#### 第三步：反向推理核验（从模型找回题目）

列出我当前的模型涵盖了什么，随后反向对照题目：

```markdown

## 反向对照表

| 我的模型中的组件 | 对应题目哪一句/哪几句 | 如果题目没说我为什么要加？ |

|-----------------|---------------------|---------------------------|

## 题目中未覆盖的组件

| 题目句子 | 我的模型是否覆盖？ | 不覆盖的后果 |

|---------|-------------------|-------------|

```

**⛔ 准则：**

- 题目的各个句子（除纯背景外）务必不少于映射到模型的一个组件

- 模型的各个组件务必能追溯到题目的某一句话

- 若模型有题目没说的组件 → 阐明有凭空引入的假设，务必明示声明

- 若题目有模型没覆盖的句子 → 阐明有遗漏，务必补充

#### 第四步：经典问题升级核验

判定我的"经典问题映射"是否由于某些关键句子需升级：

```markdown

## 经典问题升级判定表

| 初步映射 | 题目关键句子触发的升级 | 最终模型 | 严重性 | 必须性 | 缺失影响 |

|---------|---------------------|---------|--------|--------|---------|

| 示例：TSP | "可在中转点补给" → Multi-Trip | Multi-Trip VRP | 🔴 致命 | 必须 | 覆盖数严重低估 |

| 示例：线性规划 | "不同时段不同需求" → 多阶段 | 多阶段 LP | 🟡 重要 | 必须 | 无法反映时变需求 |

| 示例：最短路 | "有概率失败" → 随机 | 随机最短路 | 🟡 重要 | 建议 | 鲁棒性评估缺失 |

```

**⛔ 严重性标记准则：**

- 🔴 **致命**：若不升级，结果会偏离题目本意 50% 以上（如单次 vs Multi-Trip 可能差一个数量级）

- 🟡 **关键**：若不升级，会丢失关键评价指标（如灵敏度/鲁棒性分析无法做）

- 🟢 **优化**：推荐升级但不升级也能回答题目

**⛔ 务必性标记准则：**

- **务必**：题目原文清晰标明要求的机制（白纸黑字），不升级=未读懂题目

- **推荐**：题目隐含或延伸的建模空间，升级能提升但不升级也可

- **可选**：锦上添花的扩展，与题目关键无关

**⛔ 针对每条升级推荐，在建模阶段的预期处理方式：**

- 🔴 致命 + 务必 → 建模阶段**无条件采用**

- 🟡 关键 + 务必 → 建模阶段**应当采用**（除非技术不可行）

- 🟢 优化 + 推荐 → 建模阶段可依据资源决定

**⛔ 对各个升级推荐务必附加"缺参数处理预案"：**

若某个升级涉及的参数在题目中没给出（如"可充电"但没给充电时间），务必在此处写明推荐的假设值：

```markdown

升级：Multi-Trip OP

缺失参数：充电时间、补给点坐标

建议假设：充电时间=10min（参考工业无人机常识），补给点=区域4角

建模阶段操作：用假设值完整建模升级版，灵敏度分析扰动假设参数

⛔ 禁止：以"题目未给参数"为由跳过升级

```

**⛔ 触发升级的通用信号（在题目中出现则务必升级）：**

| 题目里出现这种说法 | 务必升级为 |

|------------------|-----------|

| 可充电/补给/中转/休息 | 多架次/Multi-Trip 变体 |

| 时间窗/营业时间/可用时段 | 带时间窗的变体（TW） |

| 优先级/价值不同/收益不同 | Orienteering/Prize-Collecting 变体 |

| 不确定/随机/概率 | 随机规划/鲁棒优化 |

| 动态变化/时变/实时 | 动态规划/MDP/在线算法 |

| 多方博弈/对抗 | 博弈论/Stackelberg |

| 信息不完全/未知 | 部分观测 MDP/贝叶斯 |

| 多目标/权衡 | 多目标优化/帕累托 |

| 阶段/分步 | 分层/序贯决策 |

| 故障/失效/损坏 | 可靠性/冗余设计 |

**⛔ 三步核验务必全部通过才能转入 Phase 6。任何一步有遗漏，务必回到 Phase 1 重读题目并更新分析。**

### 工作节点 6：交付

**交付前自检**：

- [ ] 各个子问题是否都有清晰标明的建模方法推荐（不是"待定"）？

- [ ] 变量定义表是否覆盖了赛题中出现的全部关键量（≥15 个变量）？

- [ ] 数据探索是否发现了有价值的模式（不是只列基本统计量）？

- [ ] 子问题间的依赖关系是否标注清楚（哪个先做、哪个依赖哪个的结果）？

- [ ] 各个子问题是否预标注了需的图形与表格类别和数量？

- [ ] 工作计划是否涵盖时间分配？

- [ ] ⛔ 非数据图规划是否完整？逐条过了 13 条触发准则？不少于有技术路线图 1 张？

- [ ] ⛔ 图形与表格总数是否合理？（竞赛论文一般情况下 8-15 张数据图 + 2-5 张非数据图 + 3-8 张表）

留存到 `问题分析.md`：赛题概述、子问题拆解、数据探索摘要、变量定义、建模思路（含图形与表格预规划）、工作计划。

**⛔ 分段写入准则（防止交付截断导致空工具调用）：**

问题分析.md 一般情况下很长（3000-8000 字），务必分段写入，每段 < 150 行：

```bash

# 第 1 段：赛题概述 + 子问题拆解

cat << 'EOF' > 问题分析.md

# 问题情境解构报告

## 一、赛题概述

...

## 二、子问题拆解

...

EOF

# 第 2 段：数据探索 + 变量定义

cat << 'EOF' >> 问题分析.md

## 三、数据探索

...

## 四、变量定义与符号表

...

EOF

# 第 3 段：建模思路 + 图表预规划

cat << 'EOF' >> 问题分析.md

## 五、建模思路

...

## 六、图表预规划

...

EOF

# 第 4 段：工作计划 + 合理性审查

cat << 'EOF' >> 问题分析.md

## 七、工作计划

...

EOF

```

**⛔ 禁止一次性用 Write 工具写完整个文件。** 若内容超过 150 行，务必用多次 `cat << 'EOF' >> file` 追加。一次性写太长会导致交付 token 截断，触发空工具调用循环。

## 关键准则

- 避免跳过数据探索

- 子问题间的逻辑关系很关键

- 建模思路要具体（避免只写"用机器学习"）

- 时间紧迫，分析要高效

- ⛔ Markdown 中的 LaTeX 公式：`$$` 块级公式单独成行且前后空行，行内用 `$...$`，`\begin{aligned}` 等多行环境用块级，避免 `\text{}` 包裹中文

- ⛔ 主交付文件：`问题分析.md`。避免在根目录写额外报告

- ⛔ **避免建立独立的 .py 文件。** 当前环节只交付 问题分析.md。数据探索用 Bash 内联 Python 一次性脚本即可，避免留存为 程序/*.py。数学机制构造和计算实验实现是后续环节的职责

- ⛔ **分段写入：每一次 Bash heredoc < 150 行。** 避免一次性写完整个报告，分 3-4 段追加写入（`>>` 而非 `>`）

