Lesson 01 · 起点
EnergyPlus 是什么,它在我们项目里干嘛
先把"它是什么"和"为什么是它"两件事钉死,后面才不乱。
方案文档 world-model-hvac-implementation.md 把一堆名词摆在你面前——EnergyPlus、IDF、EPW、Sinergym、pyenergyplus、eppy。这一课只解决两个问题:EnergyPlus 到底是个什么东西,以及为什么我们的 HVAC 智能体非得用它不可。理解了这两点,后面五课都是细节展开。
一句话:它是一栋楼的"物理沙盘"
给一栋虚拟大楼通电,看它耗多少能
你把一栋楼的"简历"喂给 EnergyPlus——它有几层、墙多厚、窗朝哪、装了什么空调、在武汉还是哈尔滨、一年里几点上班几点关灯——然后你按下"播放",它就按时间一步一秒地把这栋楼热起来、冷下来,告诉你:每个房间每个时刻多少度、空调耗了多少电、人舒不舒服。
它不会替你"决定"怎么开空调(那是我们 RL 智能体的事),它只负责忠实演算"如果我这么开,楼会怎样"。这恰好是强化学习最需要的训练场。
"EnergyPlus 是一个整栋建筑的能耗仿真程序,工程师、建筑师和研究人员用它来模拟建筑的能耗——供暖、制冷、通风、照明、设备——以及用水。"
—— EnergyPlus 官网首页
它的"出身":可信度的来源
EnergyPlus 不是某个创业公司的产品,它是美国能源部(DOE)出钱、NREL(国家可再生能源实验室)开发的开源程序。这点很重要,因为它决定了三件事:
| 属性 | 事实 | 对项目意味着什么 |
|---|---|---|
| 维护方 | NREL(NatLabRockies) | 不会哪天突然停更或被收购;二十多年的工程沉淀 |
| 前身 | DOE-2 + BLAST(2001 年合并首发) | 业内最权威的两条脉络汇成一条,行业事实标准 |
| 许可证 | 类 BSD-3(可商用、可修改) | Pivot 内部用、未来做产品都不受限 |
| 发布节奏 | 每年 3 月 / 9 月各一版 | 版本可预期;选型时记得核对"最新稳定版" |
它在 Pivot 项目里扮演的角色
这是整门课最重要的一张图。看懂它,你就懂了 EnergyPlus 的定位:
我们的目标:让 DreamerV3 智能体学会控空调、省电
│
│ ❌ 不能直接拿真楼试错 —— 会把人冻感冒、烧坏设备
▼
┌─────────────────────────────────────────────┐
│ 训练阶段:智能体在一个"安全的虚拟楼"里学习 │
│ │
│ 智能体 ──动作──▶ EnergyPlus 仿真器 │
│ ▲ │ │
│ │ ▼ │
│ └───── 下一时刻的楼的状态 + 能耗 ◀──────┘ │
│ │
│ ↑ 这个"虚拟楼"就是 EnergyPlus │
└─────────────────────────────────────────────┘
│
│ 学成之后,再逐步灰度部署到真实楼宇(带安全门控)
▼
用强化学习的术语说:EnergyPlus 是智能体的环境(environment)。智能体每发一个动作(比如"把冷机功率调到 60%"),EnergyPlus 就演算这个动作的后果,回吐新的状态(室温、水温、能耗)。这套课的后面几课,本质都在讲"怎么把 EnergyPlus 做成一个 RL 智能体能说话的环境"。
为什么是 EnergyPlus,而不是别的
市面上能耗仿真软件不止一个。方案 §2.2 选 EnergyPlus,背后是几个硬指标的权衡:
| 软件 | 定位 | 为什么不选它当首选 |
|---|---|---|
| EnergyPlus | 开源、整栋楼能耗仿真,热平衡法 | —— 这就是我们的选择 |
| TRNSYS | 模块化瞬态仿真,强于自定义混合系统 | 商业闭源、模块式搭法对"整栋楼 + RL"偏重 |
| IDA ICE | 方程式建模,欧洲流行,GUI 强 | 闭源商业;脚本化/批改能力弱于 Python 生态 |
| Modelica + Buildings 库 | 方程式、非因果建模,强于动态控制 | 学习曲线陡;它的长处(自定义设备)我们 PoC 用不上 |
| 自建简化模型 / CityLearn 内置 | 快,但物理粗糙 | sim-to-real 差距太大;省的能不是真省的能 |
三个决定性理由,记牢即可:
- 物理保真:它用 ASHRAE 热平衡法算传热,比简化模型可信——这点第 2 课细讲。对 RL 而言,sim-to-real gap(仿真到真楼的偏差)是头号风险,物理越真,gap 越小。
- 开源 + Python API:我们能让智能体用 Python 实时读写仿真里的传感器和执行器。闭源软件做不到或代价大。这是第 4 课的主题。
- 生态成熟:已有 Sinergym 把 EnergyPlus 包成标准 RL 环境接口,省掉我们从零写适配层。方案明确选它(第 5 课)。
EnergyPlus 是 NREL 维护的开源整栋楼能耗仿真器。在 Pivot 项目里,它是 DreamerV3 智能体的"训练沙盘"——智能体在它里面安全地试错学控空调。选它而不是自建/商业软件,是因为它物理保真、开源、且有 Python 接口和成熟 RL 封装。
在 Pivot 的 HVAC 方案里,EnergyPlus 的角色最准确地说是?
卡住了就问我:这一课里"开源 / 闭源 / Python API"这些判断你如果觉得抽象,可以直接问我"如果选 TRNSYS,我们的 RL 智能体具体会怎么卡住"——我会用更具体的场景回答你。