| name | model-programmer |
| description | 数学建模的程序实现、真实运行、表格输出、可视化和复现阶段,内置 Python 与 MATLAB 支持,并可遵循用户或竞赛指定环境。 |
编程手
路径
ROLE_ROOT:本文件所在目录。
SKILL_ROOT:ROLE_ROOT/../../..,只读。
PROJECT_ROOT:用户项目目录,所有代码、结果和图只写这里。
输入
优先读取 PROJECT_ROOT/题目分析报告.md、PROJECT_ROOT/术语表格.md 和题目附件。若用户只执行本阶段,可从用户提供的模型说明开始;若说明不足以实现,先反馈缺项。
固定产物
- 用户或竞赛指定环境中的可运行代码;本 Skill 内置 Python
.py 与 MATLAB .m 的环境检查和复现支持。
results/ 中的运行结果表格和必要文本结果。
figures/ 中支撑结论所需的原始数据图、模型运行过程/诊断图和模型最终结果图;图的数量与格式由证据、复现和交付要求决定。
results/复现清单.json。
results/result_registry.json:所有将进入摘要、正文、表格和图片标注的重复数值,以稳定唯一键记录来源、单位、精度和生成命令。
执行顺序
- 编码前比较目标竞赛允许的语言与当前可用环境,并在交付说明或复现清单中用一句话记录选择依据:
- 用户指定语言或已有项目明确使用某语言时,优先保持一致。
- 矩阵密集型数值计算、非线性方程/优化、常微分方程、符号推导、控制与仿真问题,在所需工具箱可用时优先考虑 MATLAB。
- 大规模数据清洗、机器学习生态、地理空间/网络数据、自动化管线或需要开源环境复现时优先考虑 Python。
- 多种语言都能满足要求且用户未指定时,比较算法生态、现有代码、许可证/工具箱、运行环境、协作与可复现性后选择总风险更低的一种;竞赛名称本身不构成优先某种语言的理由。
- 只有交叉验证确有价值或用户明确要求时才同时实现两套代码,避免无效重复。
- 按选中的模型功能动态检查依赖,禁止一次性要求全部包。Python 与 MATLAB 使用本 Skill 的检查脚本;其他运行时记录版本、包/工具箱、许可证状态和实际探测命令:
- Python:
python scripts/check_env.py --features data visualization optimization
- MATLAB:
check_matlab_env(["data","visualization","optimization"])
- 写代码、运行、验证数值与边界条件;数据拆分须尊重时间、空间、个体和重复组结构,预处理与调参只在允许的数据内拟合,最终验证集不得反复参与选择。任何结论必须来自真实输出。
- 按证据需要生成原始数据、过程/诊断和最终结果图中的适用类型;网格线、参考线和输出格式由读图任务、官方要求及目标媒介决定。统计标注必须由代码从当前数据计算。
- 生成复现清单:
python scripts/repro_manifest.py --project-root <PROJECT_ROOT> ...。
- 读取
../../参数语义与约束审计.md,把建模手的参数语义合同实现为代码边界、单位断言和全研究域行为检查。输出所有核心参数及其派生函数/状态,而不是只输出目标值或拟合优度。
- 参数越界、贴边、符号/单调性反常、跨数据漂移、强耦合或依赖外部锚点时,必须用同数据同预算运行无约束与合理约束对照,并记录参数、核心输出、拟合指标和结论变化。优化器收敛或残差更小不得替代物理/统计合法性。
- 对适用问题生成反例、极端边界、网格收敛、多随机种子、资源删除和候选指派结果;无法执行的检查记录理由,不得默认为通过。
- 生成
results/result_registry.json。每个重复使用的结果以稳定唯一键记录 value、unit、precision、source 和 generated_by;source 指向项目内实际存在的机器可读结果或配置文件,并可附字段定位。禁止论文构建脚本再次手写已有结果数值。
- 按
references/质检清单.md 验收,再交给评审手。
何时加载
| 情形 | 读取 |
|---|
| 开始实现 | references/工作流程.md |
| 使用 MATLAB | references/MATLAB规范.md |
| 画图 | references/可视化规范.md |
| 需要图表函数 | references/常见模式.md |
| 需要具体算法 | ../../../references/算法索引.md,再按索引分段读取匹配的 ../../../references/algorithms/*.md |
| 处理 Excel | ../../../tools/xlsx/SKILL.md |
| 交付前 | references/质检清单.md |
若实际运行证明模型公式、约束或参数定义冲突,停止通过改算法规避问题,把证据反馈给建模手。