CITYlearn介绍与初步使用
1. 介绍
CityLearn 是一个强化学习环境,用于研究 多智能体强化学习(Multi-Agent Reinforcement Learning, MARL) 在城市能源管理中的应用。
简单的来说,这是一个python的包,只不过这个包还能当模拟器用,在内部集成了建筑能耗、储能、电价、碳排放、气候等“物理模型”每执行一步 (env.step(actions)),都会模拟“1小时或15分钟的城市运行过程”,并且该环境会反馈:
· 各建筑的电力消耗;
· 储能水平;
· 奖励函数(是否节能/减碳);
· 下一时刻的状态。
研究场景
Building Energy Storage Control
→ 智能体决定何时充放电以降低峰值负载。
(目标:降低电价或平滑全城功率曲线)
Multi-Agent Coordination
→ 多栋建筑通过协作学习,共同优化城市能源使用。
(目标:降低全局碳排或电网压力)
Demand Response (DR)
→ 响应动态电价或电网信号,调整能耗。
District Heating/Cooling Optimization
→ 有时扩展到热力与制冷系统的协调
官方推荐算法结构
1 | for episode in range(num_episodes): |
每个 agent_i 可以是:
· PPO agent
· DDPG agent
· 共享参数的多智能体 SAC agent
其他步骤会在AI大世界中给出,链接为:?
实战
1. conda环境
1 | conda create -n citylearn python=3.10 -y |
官方文档里说建议 Python 3.9 或 3.10 and 不要3.12(会导致部分库(如 stable-baselines3)不兼容)
安装包
1 | pip install citylearn |
当然,如果后期打算训练强化学习智能体(比如 PPO/SAC),可以提前安装SB3
1 | pip install stable-baselines3 |
sb算法库,包含经典 RL 算法(如 PPO、SAC、TD3、DQN 等),可直接和 OpenAI Gym 或 CityLearn 这样的环境对接
数据集
官方数据集
1 | git clone https://github.com/intelligent-environments-lab/CityLearn.git |
把它down下来
测试
创建测试文件
1 | from citylearn import CityLearnEnv |