Files
MCM/A题/ZJ_v2
2026-02-16 21:52:26 +08:00
..
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00
2026-02-16 21:52:26 +08:00

MCM 2026 Problem A - O-Prize Grade Figure Generation

完整的15张图生成系统用于MCM 2026问题A的高质量论文配图。

文件结构

ZJ_v2/
├── config.yaml                      # 配置文件(参数、场景定义)
├── plot_style.py                    # 统一绘图样式
├── validation.py                    # 质量验证工具
├── requirements.txt                 # Python依赖
├── run_all_figures.py              # 主执行脚本
├── fig01_macro_logic.py            # 图1: 总体流程图
├── fig02_system_interaction.py     # 图2: 系统交互图
├── fig03_ocv_fitting.py            # 图3: OCV拟合验证
├── fig04_internal_resistance.py    # 图4: 内阻3D曲面
├── fig05_radio_tail.py             # 图5: 网络尾流效应
├── fig06_cpl_avalanche.py          # 图6: CPL反馈环路
├── fig07_baseline_validation.py    # 图7: 基准动力学验证
├── fig08_power_breakdown.py        # 图8: 功率分解图
├── fig09_scenario_comparison.py    # 图9: 场景对比含GPS影响
├── fig10_tornado_sensitivity.py    # 图10: 龙卷风灵敏度图
├── fig11_heatmap_temp_signal.py    # 图11: 温度-信号热力图
├── fig12_monte_carlo.py            # 图12: 蒙特卡洛路径
├── fig13_survival_curve.py         # 图13: 生存曲线
├── fig14_lifecycle_degradation.py  # 图14: 老化轨迹
├── fig15_radar_user_guide.py       # 图15: 雷达建议图
├── figures/                         # 输出目录(自动创建)
│   ├── Fig01_*.pdf/png
│   ├── Fig02_*.pdf/png
│   └── ...
└── artifacts/                       # 验证报告
    └── figure_build_report.json

图表清单

第一部分模型架构4张

  1. Fig01 - 宏观逻辑流程图3阶段
  2. Fig02 - 系统边界与变量交互
  3. Fig05 - 网络尾流效应示意
  4. Fig06 - CPL反馈环路机制

第二部分物理建模2张

  1. Fig03 - OCV曲线拟合R²≥0.99
  2. Fig04 - 内阻R₀(T,z)三维曲面

第三部分基准结果2张

  1. Fig07 - 基准放电4联图SOC/V/I/T
  2. Fig08 - 功率成分堆叠面积图

第四部分场景分析3张

  1. Fig09 - 多场景对比标注GPS影响
  2. Fig10 - 龙卷风灵敏度排名
  3. Fig11 - 双参数热力图(温度×信号)

第五部分不确定性2张

  1. Fig12 - 蒙特卡洛意大利面图N=100
  2. Fig13 - 生存/可靠性曲线

第六部分长期影响2张

  1. Fig14 - 全生命周期老化SOH&TTE
  2. Fig15 - 用户建议雷达图

快速开始

1. 安装依赖

pip install -r requirements.txt

注意: Graphviz需要单独安装系统级可执行文件

2. 生成所有图像

python run_all_figures.py

3. 查看输出

  • 图像: figures/ 目录每张图有PDF和PNG两种格式
  • 验证报告: artifacts/figure_build_report.json

配置说明

所有参数在 config.yaml 中定义:

global:
  seed: 42              # 随机种子(确保可重复)
  dpi: 300              # PNG分辨率

battery_params:
  Q_full: 2.78          # 电池容量 (Ah)
  E0: 4.2               # OCV参数
  R_ref: 0.1            # 参考内阻 (Ω)
  # ...更多参数

scenarios:
  baseline: {...}       # 基准场景
  navigation: {...}     # 导航场景GPS开启
  # ...其他场景

质量保证

自动验证

  • Fig03: R² ≥ 0.99
  • Fig07: 电压-电流负相关CPL特征
  • Fig09: ΔTTE标注与计算一致
  • Fig13: 生存曲线单调递减

输出标准

  • 所有图像300 DPI
  • PDF矢量格式 + PNG光栅格式
  • Times New Roman字体
  • 统一配色方案

特色功能

1. 确定性输出

  • 固定随机种子
  • 明确的rcParams设置
  • 无系统时间依赖

2. GPS影响可视化

  • Fig09: 专门标注导航场景的ΔTTE
  • Fig15: GPS最佳实践建议

3. 多维度分析

  • Fig11: 温度×信号耦合效应
  • Fig12: 蒙特卡洛不确定性
  • Fig14: 多周期老化预测

4. 数据完整性

  • 所有数据从config读取
  • 无硬编码路径
  • 缺失配置时清晰报错

使用场景

论文写作

  1. 第1-2节引用 Fig01-02架构
  2. 第3节引用 Fig03-06建模
  3. 第7节引用 Fig07-08基准
  4. 第8-9节引用 Fig09-11场景
  5. 第10节引用 Fig12-13UQ
  6. 第11节引用 Fig14老化
  7. 第12节引用 Fig15建议

演示汇报

  • 使用PDF格式矢量放大无损
  • 关键图Fig03验证, Fig09GPS, Fig12UQ

调试验证

  • 检查 figure_build_report.json
  • 所有指标一目了然

常见问题

Q: Graphviz图像不生成 A: 确保Graphviz可执行文件在PATH中运行 dot -V 测试。

Q: 如何修改参数? A: 编辑 config.yaml,重新运行 run_all_figures.py

Q: 如何单独生成某一张图?

import yaml
from fig03_ocv_fitting import make_figure

config = yaml.safe_load(open('config.yaml'))
result = make_figure(config)
print(result['computed_metrics'])

Q: 图像风格如何统一? A: 所有脚本都调用 plot_style.set_oprice_style()

技术细节

数据生成策略

  • Fig03-04, 07-08: 基于物理模型的确定性数据
  • Fig09: 多场景仿真对比
  • Fig12-13: 蒙特卡洛随机采样
  • Fig14: 老化模型外推

验证逻辑

validation.py

  • 文件存在性检查
  • 尺寸非零检查
  • 图表特定指标检查

模块化设计

每个图脚本独立,结构一致:

def make_figure(config):
    # 1. 设置样式
    set_oprice_style()
    
    # 2. 生成数据
    # ...
    
    # 3. 绘图
    # ...
    
    # 4. 保存
    save_figure(fig, output_base)
    
    # 5. 返回结果
    return {
        "output_files": [...],
        "computed_metrics": {...},
        "validation_flags": {...},
        "pass": True/False
    }

版本历史

  • v2.0 (2026-02-02): 完整15图系统O奖级质量
  • v1.0: 初始ZJ版本仅Fig03, Fig07

许可与引用

本代码为MCM 2026竞赛准备遵循竞赛规则。


生成日期: 2026年2月2日
目标: O Prize (Outstanding Winner)
团队: MCM 2026 Problem A