请添加图片描述

2025年科大讯飞AI算法大赛 全国冠军(低空经济锂离子电池正极材料制造优化赛道)

针对锂离子电池正极材料辊道窑烧结工艺核心痛点,运用AI技术解决“多温区调控难、质量-能效-产能难平衡”问题。

  • 构建深度学习代理模型,基于生产数据实现17个测温点分布+能耗等关键指标精准预测,为工艺优化提供数据支撑。
  • 设计多目标协同优化AI算法,破解参数冲突,成功找到“温度均匀性-高温段长度-能耗”三大目标最优平衡,形成可落地的AI驱动工艺调控方案。

项目说明(初赛与复赛)

本仓库包含两个阶段:

  • 初赛:构建辊道窑烧结过程代理模型,完成测试集预测与提交文件。
  • 复赛:基于代理模型进行多目标协同优化(H/L/E),输出最优设定与评分。

一、项目结构

├─ main.py                         # 初赛主程序:训练/评估/生成 submit1、submit2
├─ finals_optimize.py              # 复赛脚本:加载代理模型并优化 H/L/E
├─ models/                         # 权重与scaler(由 main.py 生成)
│  ├─ model1.pth / model2.pth
│  ├─ best_model1.pth / best_model2.pth
│  ├─ scaler_X_model1.pkl / scaler_X_model2.pkl
│  └─ scaler_y1.pkl / scaler_y2.pkl
├─ train/                          # 训练数据(train1.csv/train2.csv)
├─ test/                           # 测试数据(test1.csv/test2.csv)
├─ output_new/                     # 重采样中间结果(main.py 生成)
├─ results/                        # 输出目录
│  ├─ submit1.csv / submit2.csv    # 初赛预测
│  ├─ optimized_parameters.csv     # 复赛最优设定与 H/L/E/s2
│  ├─ optimization_summary.md      # 复赛摘要
│  └─ optimization_dump.json       # 复赛原始记录
├─ submit/                         # 提交样例(可由最新结果覆盖)
└─ requirements.txt                # 依赖

二、环境

  • Python >= 3.8
  • 安装依赖:
pip install -r requirements.txt

三、初赛(代理模型)

  1. 运行:
python main.py
  1. 关键流程:数据清洗 → 连续段&重采样(≤10min 连续)→ 高级特征工程 → 两阶段级联(模型1: V/T1/T2→T3/T4;模型2: V/T1/T2+T3/T4→T5/T6/E/H/L)→ 训练(含早停/调度/增强/迁移)→ 预测。
  2. 输出:
  • results/submit1.csv(测试集1:T3-/T4-,含 TIME)
  • results/submit2.csv(测试集2:T3-/T4-/T5-/T6-/E/H/L)
  1. 打包初赛提交:
mkdir -Force submit | Out-Null
Copy-Item -Force results\submit1.csv submit\submit1.csv
Copy-Item -Force results\submit2.csv submit\submit2.csv
Compress-Archive -Force -Path submit\* -DestinationPath submit.zip

四、复赛(多目标协同优化)

  1. 前置:确保 models/ 下已有权重与 scaler(由 main.py 训练生成)。
  2. 运行:
python finals_optimize.py
  1. 目标与评分:
  • 目标:最小 H、L∈[2,5]、最小 E。
  • 隶属度与分值:
    • H:H≤2→μ=1(100分);2<H≤5→μ=(5−H)/3(80分);H>5→μ=0(0分)
    • L:L≤2→μ=0(0分);2<L≤5→μ=(L−2)/3(100分);L>5→μ=0(0分)
    • E:E≤200→μ=1(100分);200<E≤300→μ=(300−E)/100(80分);E>300→μ=0(0分)
  • 复赛分:s2 = 0.4H分 + 0.3L分 + 0.3*E分。
  1. 方法:加载模型1/模型2与 scaler → 级联预测(V/T1/T2→T3/T4→T5/T6/E/H/L)→ 进化搜索(历史统计边界内最大化 s2)。
  2. 输出:results/optimized_parameters.csv、optimization_summary.md、optimization_dump.json。

五、复现实验与排错

  • 顺序:python main.py → 检查 models/ → python finals_optimize.py。
  • 若加载权重失败:确认 SimpleMLP 使用属性名 network(已修正)。
  • 若 H/L/E 异常:确保 target_cols2 以 train2 原始列顺序筛选(已修正)。
  • 提升稳健性:增大 pop_size/generations,多 seed 重启;可加入 L 超界惩罚或工艺先验(温区平滑)。

六、提交物建议

  • 初赛:submit.zip(含 submit/submit1.csv、submit/submit2.csv)。
  • 复赛:队伍名称.zip(源码、模型&scaler、数据或指引、results 输出、Word 说明文档:思路、开源依赖、运行步骤与复现)。

七、版权与开源

  • 使用题方数据与常见开源框架(PyTorch、scikit-learn、pandas、numpy)。
  • 产出的权重与脚本用于赛题复现与评审,不含额外闭源依赖。

解题思路与代码复现流程(初赛 + 复赛)

一、问题理解与总体方案

  • 目标:构建辊道窑代理模型,预测 T3-/T4-/T5-/T6-/E/H/L,并在复赛中对 H/L/E 做多目标协同优化。
  • 难点:多温区、多参数强耦合;测试集样本少;时间不规则采样;目标之间存在冲突(均匀性↔高温段长度↔能耗)。
  • 总体思路:
    1. 数据治理与时间连续段处理,重采样到 5min;
    2. 分层特征工程(统计/梯度/交互/多项式/归一化/时间特征);
    3. 级联两阶段 MLP 代理:
      • 模型1:V/T1/T2 → T3/T4
      • 模型2:V/T1/T2 + 预测T3/T4 → T5/T6/E/H/L
    4. 训练策略:标准化、早停、LR 调度、小样本增强、可选迁移;
    5. 复赛优化:在历史数据统计边界内进化搜索,最大化基于隶属度/档位分值的 s2

二、数据处理与特征工程

  • 清洗:数值列缺失用中位数,IQR 裁剪异常。
  • 时间:TIME 转 datetime;相邻点 ≤10min 视为连续段;对 train1 以 5min 网格、±10min 窗口做均值重采样,断段不插值;首尾 ffill/bfill
  • 特征:
    • 统计:mean/std/max/min/range/cv(流量与温度)
    • 梯度/一二阶差分:T1_/T2_
    • 交互与多项式:flow_*T1/T2 相互作用与平方/立方、比值/差异/对数
    • 归一化与时间差 time_diff 的派生

三、模型结构与训练

  • 两阶段 MLP(PyTorch):
    • 隐藏层 [1024, 512, 256, 128, 64]BatchNorm + ReLU/LeakyReLU + Dropout
    • 优化:AdamWReduceLROnPlateau,梯度裁剪
  • 标准化:StandardScaler(特征与各目标分组独立保存)
  • 小样本增强:噪声、插值、缩放、混合、时间趋势/季节性、合成加权混合;低样本自动触发,支持渐进式增量增强。
  • 迁移学习:层名对齐加载匹配权重,迁移率统计与告警。

四、评估指标与提交

  • 初赛:
    • 测试集1:预测 T3-/T4-
    • 测试集2:预测 T3-/T4-/T5-/T6-/E/H/L
    • 相对误差按题面公式逐点求后取平均;s1 = 100 - (0.25*a + 0.75*b)
  • 复赛:
    • 隶属度与档位分值按题面;s2 = 0.4*H分 + 0.3*L分 + 0.3*E分

五、复赛优化方法

  • 级联预测函数:
    • x(V/T1/T2)model1 标准化 → T3/T4(逆标准化)
    • 拼接成 x2model2 标准化 → T5/T6/E/H/L(逆标准化)
  • 目标映射:严格按 train2 原始列顺序定位 H/L/E,避免错位。
  • 搜索空间:来自 train1/2 的列最小/最大值(5% 安全外扩,非负裁剪)。
  • 搜索算法:简化进化策略(精英保留、交叉、变异、缓存评估),最大化 s2
  • 结果输出:
    • results/optimized_parameters.csv:最优 V/T1/T2H/L/E/s2
    • results/optimization_summary.md:摘要
    • results/optimization_dump.json:可复查原始记录

六、代码复现流程

  1. 准备环境:
pip install -r requirements.txt
  1. 放置数据:
  • train/train1.csvtrain/train2.csv
  • test/test1.csvtest/test2.csv
  1. 运行初赛训练与预测:
python main.py
  • 生成:models/*.pth|pklresults/submit1.csvresults/submit2.csv
  1. 运行复赛优化:
python finals_optimize.py
  • 生成:results/optimized_parameters.csvoptimization_summary.mdoptimization_dump.json
  1. 初赛打包提交(Windows PowerShell):
mkdir -Force submit | Out-Null
Copy-Item -Force results\submit1.csv submit\submit1.csv
Copy-Item -Force results\submit2.csv submit\submit2.csv
Compress-Archive -Force -Path submit\* -DestinationPath submit.zip
  1. 复赛打包建议:
  • 队伍名称.zip:源码(含本文件)、models/results/ 输出、train/ 与说明文档(Word)。

七、注意事项与排错

  • 权重加载失败:确保 SimpleMLP 属性名为 network,与保存时一致。
  • H/L/E 数值异常:检查 target_cols2 构造是否“按 train2 原始列顺序过滤”。
  • 搜索贴边:可对 L 加硬约束(越界降权或拒绝)、对 E 允许小幅缓冲(如 ≤205)。
  • 稳健性:增大 pop_size/generations,多 seed 重启;或引入分位数分段放宽的“逐层扩大”搜索。

八、开源组件与可复用说明

  • 仅使用题方数据与通用开源库(PyTorch、scikit-learn、pandas、numpy)。
  • 权重与脚本仅作赛题复现与评审,不含闭源依赖。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐