--- name: 2analysis-modeling description: "数学建模赛题分析与建模设计合并阶段。用于读取题面和附件,完成子问题拆解、数据理解、假设预检、变量定义、模型公式、目标函数、约束条件、求解策略和可交给代码实现的建模报告。" allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, Agent, WebSearch, WebFetch --- # 赛题分析与建模设计 ## 数学建模规范参考 如需领域判断,读取 `../_references/math_modeling_norms.md` 中的“赛题理解与子问题识别”“假设与模型建立”和“题型防错速查”小节。该文件只作为规范知识库,不替代本阶段的分析报告结构。 ## 必须产出 在当前工作目录的 `reports/` 子目录中创建或更新: - `reports/ANALYSIS_MODELING_REPORT.md`: - 赛题分析、子问题拆解、数据与附件理解、评价标准、关键歧义和假设预检。 - 变量、符号、模型假设、目标函数、约束条件、求解算法、各子问题实现口径、代码阶段任务清单 不要在本阶段写论文正文,不要生成最终 `paper/`,不要把图表排版任务提前到这里。 ## 工作流程 ### Step 1: 子问题拆解 只把题面中明确编号的顶层问题当作子问题,例如“问题一/二/三”“Problem 1/2/3”。不要把小问、背景描述、数据说明、提交要求误当成独立子问题。 在 `ANALYSIS_MODELING_REPORT.md` 开头明确写: 根据题目动态调整问题数量 本赛题共 X 个子问题。 每个子问题要说明: - 输入数据和已知条件。 - 决策变量或预测对象。 - 目标函数或评价指标。 - 约束条件。 - 与其它子问题的依赖关系。 - 绘制哪些图像或表格来展示结果。 ### Step 2: 假设敏感性预检 列出关键歧义,不要急着定模型。对影响结果的歧义至少给出两种解释,并用简单验算或逻辑递进判断选择。 必须在 `ANALYSIS_MODELING_REPORT.md` 中包含: ```markdown ## 假设敏感性预检 ### 模糊表述及解释 ... ### 快速验算与递进性检查 ... ### 最终采用的解释 ... ### 绘制的图像和对比表格 ``` 如果某个假设会让后续问题的新增条件没有边际效果,要回头调整解释. ### Step 3: 数据理解与建模路线 对每份附件做数据理解: - 行列规模和字段解释。 - 缺失、异常、重复、单位不一致。 - 可直接用于建模的变量。 - 需要派生的指标。 然后给出总体路线: ```text 题面 -> 数据清洗(EDA) -> 子问题一模型 -> 子问题二模型 -> 。。。。 -> 结果检验 -> 论文展示 ``` ### Step 4: 建模报告 在 `ANALYSIS_MODELING_REPORT.md` 中写出可交给代码阶段实现的完整方案。 每个子问题至少包含: - 问题目标。 - 符号和变量。 - 模型假设。 - 目标函数。 - 约束条件。 - 求解方法。 - 输入输出。 - 代码实现要点。 - 结果校验方法。 公式要清楚到代码阶段能直接实现。算法描述要包含核心步骤、停止条件、复杂度或可行性说明。 推荐结构: ```markdown # 建模报告 ## 1. 总体建模框架 ## 2. 数据处理方案 ## 3. 符号说明 ## 4. 问题一模型 ## 5. 问题二模型 ## 6. 问题三模型 .... ## 7. 灵敏度分析与检验方案 ## 8. 代码实现任务清单 ``` 如果子问题数量不是 3 个,按实际题面调整章节,不要硬凑。 ### Step 5: 给代码阶段的接口 在 `ANALYSIS_MODELING_REPORT.md` 末尾写一个“代码实现任务清单”,格式如下: ```markdown ## 代码实现任务清单 | 任务 | 输入 | 输出 | 方法 | 校验 | | --- | --- | --- | --- | --- | | 问题一 | ... | ... | ... | ... | | 问题二 | ... | ... | ... | ... | ``` ## 质量要求 - 所有结论都能回到题面或数据。 - 不编造数据字段和数值。 - 不跳过歧义分析。 - 模型既要有数学表达,也要能被代码实现。 - 若数据不足或题面不清,要明确记录风险和替代方案。