2025年科大讯飞AI算法大赛 全国冠军(低空经济锂离子电池正极材料制造优化赛道)
本文介绍了2025年科大讯飞AI算法大赛全国冠军项目"低空经济锂离子电池正极材料制造优化"的技术方案。该项目针对锂离子电池正极材料辊道窑烧结工艺中"多温区调控难、质量-能效-产能难平衡"的核心痛点,构建深度学习代理模型实现17个测温点和能耗预测,并设计多目标协同优化AI算法,在温度均匀性、高温段长度和能耗之间找到最优平衡。项目代码包含初赛两阶段MLP代理模型
·

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
三、初赛(代理模型)
- 运行:
python main.py
- 关键流程:数据清洗 → 连续段&重采样(≤10min 连续)→ 高级特征工程 → 两阶段级联(模型1: V/T1/T2→T3/T4;模型2: V/T1/T2+T3/T4→T5/T6/E/H/L)→ 训练(含早停/调度/增强/迁移)→ 预测。
- 输出:
- results/submit1.csv(测试集1:T3-/T4-,含 TIME)
- results/submit2.csv(测试集2:T3-/T4-/T5-/T6-/E/H/L)
- 打包初赛提交:
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
四、复赛(多目标协同优化)
- 前置:确保 models/ 下已有权重与 scaler(由 main.py 训练生成)。
- 运行:
python finals_optimize.py
- 目标与评分:
- 目标:最小 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/模型2与 scaler → 级联预测(V/T1/T2→T3/T4→T5/T6/E/H/L)→ 进化搜索(历史统计边界内最大化 s2)。
- 输出: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做多目标协同优化。 - 难点:多温区、多参数强耦合;测试集样本少;时间不规则采样;目标之间存在冲突(均匀性↔高温段长度↔能耗)。
- 总体思路:
- 数据治理与时间连续段处理,重采样到 5min;
- 分层特征工程(统计/梯度/交互/多项式/归一化/时间特征);
- 级联两阶段 MLP 代理:
- 模型1:
V/T1/T2 → T3/T4; - 模型2:
V/T1/T2 + 预测T3/T4 → T5/T6/E/H/L;
- 模型1:
- 训练策略:标准化、早停、LR 调度、小样本增强、可选迁移;
- 复赛优化:在历史数据统计边界内进化搜索,最大化基于隶属度/档位分值的
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 - 优化:
AdamW,ReduceLROnPlateau,梯度裁剪
- 隐藏层
- 标准化:
StandardScaler(特征与各目标分组独立保存) - 小样本增强:噪声、插值、缩放、混合、时间趋势/季节性、合成加权混合;低样本自动触发,支持渐进式增量增强。
- 迁移学习:层名对齐加载匹配权重,迁移率统计与告警。
四、评估指标与提交
- 初赛:
- 测试集1:预测
T3-/T4-; - 测试集2:预测
T3-/T4-/T5-/T6-/E/H/L; - 相对误差按题面公式逐点求后取平均;
s1 = 100 - (0.25*a + 0.75*b)。
- 测试集1:预测
- 复赛:
- 隶属度与档位分值按题面;
s2 = 0.4*H分 + 0.3*L分 + 0.3*E分。
- 隶属度与档位分值按题面;
五、复赛优化方法
- 级联预测函数:
x(V/T1/T2)→model1标准化 →T3/T4(逆标准化)- 拼接成
x2→model2标准化 →T5/T6/E/H/L(逆标准化)
- 目标映射:严格按
train2原始列顺序定位H/L/E,避免错位。 - 搜索空间:来自
train1/2的列最小/最大值(5% 安全外扩,非负裁剪)。 - 搜索算法:简化进化策略(精英保留、交叉、变异、缓存评估),最大化
s2。 - 结果输出:
results/optimized_parameters.csv:最优V/T1/T2与H/L/E/s2results/optimization_summary.md:摘要results/optimization_dump.json:可复查原始记录
六、代码复现流程
- 准备环境:
pip install -r requirements.txt
- 放置数据:
train/train1.csv、train/train2.csvtest/test1.csv、test/test2.csv
- 运行初赛训练与预测:
python main.py
- 生成:
models/*.pth|pkl、results/submit1.csv、results/submit2.csv
- 运行复赛优化:
python finals_optimize.py
- 生成:
results/optimized_parameters.csv、optimization_summary.md、optimization_dump.json
- 初赛打包提交(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
- 复赛打包建议:
队伍名称.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)。
- 权重与脚本仅作赛题复现与评审,不含闭源依赖。
更多推荐


所有评论(0)