课程首页· 代码速查· 参考页 · 技术栈地图

Reference · 技术栈

技术栈地图

每个组件是什么、装什么版本、谁依赖谁、踩坑点在哪——开工前先看这一页。

一、依赖关系总览

┌─────────────────────────────────────────────────────┐
│  你的代码层                                          │
│   ├─ 支柱A 预测    ├─ 支柱B 控制   ├─ 支柱C 门控    │
└──────┬──────────────────┬────────────────┬──────────┘
       │                  │                │
       ▼                  ▼                │
┌──────────────┐  ┌────────────────┐       │
│ torchdiffeq  │  │ Stable         │       │
│ (Neural ODE) │  │ Baselines3 SAC │       │
└──────┬───────┘  └───────┬────────┘       │
       │                  │                │
       ▼                  ▼                │
   PyTorch ←──────────────┘                │
       │                  │                │
       │                  ▼                │
       │          ┌──────────────┐         │
       │          │ Gymnasium    │←────────┘ (门控包在 env 外)
       │          │ (env 接口)   │
       │          └──────┬───────┘
       │                 │
       │                 ▼
       │          ┌──────────────┐
       │          │ Sinergym     │  ← 把 EnergyPlus 包成 gym
       │          └──────┬───────┘
       │                 │ 调用 pyenergyplus
       │                 ▼
       │          ┌──────────────┐
       └─────────→│ EnergyPlus   │  ← 物理仿真引擎(C 库)
                  │  25.1.0      │
                  └──────────────┘

二、版本矩阵(钉死,别漂)

2026-07 验证的稳定组合
组件版本装法角色
EnergyPlus25.1.0energyplus.net 下载(macOS ARM 原生)物理仿真引擎
Sinergym3.11.0 / 3.12.xpip install sinergymEnergyPlus→Gymnasium 封装
Python3.12.3Sinergym 钉死运行时
Gymnasium1.0+pip install gymnasiumRL 环境接口标准
Stable Baselines32.9.0pip install stable-baselines3[extra]SAC/PPO/TD3
torchdiffeqlatestpip install torchdiffeqNeural ODE 求解
PyTorch≥ 2.8pip install torch底层数学
eppy0.5.69pip install eppyIDF 编辑(可选)
d3rlpy2.8.1pip install d3rlpy离线 RL(延伸)

三、各组件详解

EnergyPlus — 物理仿真引擎

美国能源部出品,C 库,逐时间步算一栋楼的热平衡、冷机 COP、管网、能耗。每个 RL episode = 一次全年仿真。Sinergym 通过它的 Python API(pyenergyplus)在回调里读写传感器/执行器。

Sinergym — RL 环境封装(本课主力)

西班牙格拉纳达大学 SAIL 实验室维护,把 EnergyPlus 包成 Gymnasium env。社区首选,2026-07 仍在活跃更新。

Gymnasium — RL 环境接口标准

Farama 基金会维护,OpenAI gym 的继任者。v1.0+ 接口冻结。务必用它,别用旧 gym(step 返回 4 元组已废弃)。

Stable Baselines3 — RL 算法库

德国 DLR 维护,SAC/TD3/PPO 参考实现。连续控制首选 SAC(off-policy、样本高效)。

torchdiffeq — Neural ODE 求解

Neural ODE 论文一作 Ricky Chen 的参考实现。两个接口:adjoint(省显存)/ 普通(快)。

四、平台与算力

任务算力说明
Sinergym 跑 episodeCPU 即可EnergyPlus 是 CPU 仿真
Neural ODE 训练1×GPU 推荐adjoint 法反复调求解器,GPU 明显加速
SAC 训练1×GPU(或强 CPU)策略网络小,CPU 也能跑但慢
推理(部署)SAC:云端 CPU 即可;Neural ODE:CPU 够控制周期 5–15min,对延迟不敏感

五、替代/延伸工具

工具何时考虑链接
BOPTEST想要 IBPSA 官方控制基准 + 规则基线ibpsa/project1-boptest
BCVTB需要 EnergyPlus + Modelica 多领域联合仿真LBNL BCVTB
eppy / geomeppy需要编程式改 IDF 建筑模型eppy · geomeppy
d3rlpy用历史 BMS 日志做离线 RL 预训练github.com/takuseno/d3rlpy
torchdyn想要更高层的 Neural ODE 模板github.com/DiffEqML/torchdyn
完整资料清单见: RESOURCES.md(含一手论文 arXiv 链接与两处 ID 勘误记录)