04-从“12 个城市的平均数”到一条真实的街:换框架重做调度,AI 又没赢
Alex Lin · 发布于 2026/10/16 · 更新于 2026/10/19
Alex Lin2026/10/16
上一篇结尾我们承认了一个问题:到目前为止,所有结果都是“12 个城市里的合成节点”的平均数。节点放在城市中心周围的一圈示意位置上,电缆多长、变压器多大都没有落实。这一篇讲我们怎么把仿真搬到一条真实的街上,以及换了框架之后,哪些结论站住了。
一、为什么是赫尔辛基的 Puu-Käpylä
这是赫尔辛基北部一片保留下来的木屋街区,建筑小而密、有庭院,很接近“家庭、社区、商业空间混在一起”的真实形态。我们用到的真实素材:
- 建筑与地形:赫尔辛基市 2017 年公开的航拍摄影测量实景网格(CC BY 4.0),约 1 平方公里,16 个分块、480 多万个三角面,经 Blender 处理后可在网页里自由旋转缩放。
- 建筑轮廓与道路:OpenStreetMap。在约 395 × 435 米的范围内有 105 栋建筑,其中 60 栋标注为住宅,10 栋是附属建筑,35 栋没有更明确的用途标签,我们照实保留为“未分类”。
要说明的是: 105 栋是建筑清单,能源仿真只绑定其中 5 栋建筑加 1 个庭院里的移动集装箱,共 6 个节点(3 户家庭、1 个社区、1 个商业、1 个集装箱)。OSM 里这一片没有商业建筑,所以“商业节点”是我们指定的角色,放在一栋住宅楼上,建筑用途仍记为住宅。其余建筑只展示属性,不会被硬分摊一份仿真数据。
设备间我们用 Blender 逐个建了模:家庭设备间、社区与商业机房、集装箱内舱,都有机柜、保温管路、阀门、线缆桥架。这些是“假如改造成这样”的方案,不是室内实测。
二、第五次转折:用标准框架重做,而不是继续用自己写的环境
我们前面用的是自己写的、参照 CityLearn 命名风格的环境。放进真实街区之前,我们决定换成 CityLearn 3.0.2 本体,用它自带的建筑、电池和水箱模型,并和它的官方评估指标对照。原因很朴素:自己搭的环境,最容易出现“自己出题自己答”。
换框架的同时,我们把模型补得更接近现实:
- 任务有期限。 算力任务分三类:20% 紧急(1 小时内)、50% 批处理(6 小时)、30% 弹性(12 小时),按最早期限先做,做不完的继续排队。
- 热可以送给邻居。 各节点的水箱通过 55/35 度的热水管网连到社区能源站,管损、水泵耗电都计入。
- 有配电容量。 整条街的进线限制为 110 千瓦,线路电阻损耗也算在内。
- AI 是联合决策。 78 个观测量、18 个动作量的集中式 PPO,在规则调度上叠加 0.2 倍的修正。它不是六个独立学习的智能体,所以我们不称它为多智能体强化学习。
训练只用 2023 年的四个周,固定一个随机种子,2024 年不参与训练也不参与挑选。
三、结果:AI 和规则几乎打平
| 窗口 | 不调度 | 规则 | AI | AI 比规则省 |
|---|---|---|---|---|
| 寒潮 216 小时,净成本 € | 4,206.51 | 4,072.36 | 4,068.22 | 4.14 |
| 夏季 168 小时,净成本 € | −648.30 | −639.85 | −648.81 | 8.97 |
寒潮里 AI 比不调度省 3.3%,但比规则只省 4 欧元;夏季里 AI 与不调度只差 0.5 欧元。这和上一篇的结论一致,换了一套独立搭建的环境,“调度有用、AI 并不明显胜过规则”仍然成立。夏季三种策略都有 8.31 度·小时的过热,因为模型里没有主动制冷,我们把它如实留在结果里。
四、真正拉开差距的,是“限时任务”和“共享供热”
我们专门设计了一个 48 小时场景:在第 8、16、24 小时,向商业节点各提交一批 48 单位的算力任务,要求 2 小时内完成。商业节点自己的算力 2 小时最多做 24 单位,一个人扛不住。
| 做法 | 按时完成 | 供暖电耗 kWh | 净成本 € |
|---|---|---|---|
| 各节点独立运行 | 69 / 144 | 2,112 | 2,595.75 |
| 规则协同 | 144 / 144 | 1,907 | 2,466.93 |
| AI 协同 | 144 / 144 | 1,889 | 2,462.69 |
独立运行时,一半以上的突发任务超时。协同运行时,邻居的闲置算力把任务接了过去,三批全部按时完成,同时共享供热还少用了 205 到 223 千瓦时的供暖电。
这个对比有一个必须说清楚的限制:协同同时改变了任务路由和供热共享,我们没法把改善拆给其中某一项,更不能记在 PPO 头上。AI 比规则多省的 4.24 欧元才是 AI 的增量。
所以,“打包交易”真正的价值,我们现在的表述是:让一个节点扛不住的限时任务,可以在社区里被接住,而且接任务的节点正好需要热。 价格上的好处只是附带的。
五、下一步
小时级的结论在真实街区里仍然成立。但“削峰”“停电”这两件事要看秒和分钟,小时数据说不清楚。下一篇讲秒级的结果,以及我们为什么在发布前把全部数据重新审计了一遍。
登录后可以留言