Agents
CityLearn supports centralized, decentralized-independent and decentralized-coordinated control architectures. In the centralized architecture, 1 agent controls all storage, cooling and heating devices i.e. provides as many actions as storage, cooling and heating devices in the district. In the decentralized-independent architecture, each building has it’s own unique agent and building agents do not share information i.e. each agent acts in isolation and provides as many actions as storage, cooling and heating devices in the building it controls. The decentralized-coordinated architecture is similar to the decentralized-independent architecture with the exception of information sharing amongst agents.
CityLearn provides implementations of rule-based control (RBC) and reinforcement learning control (RLC) algorithms. The rule-based control algorithms are in the citylearn.agents.rbc
module, while there are two reinforcement learning modules: citylearn.agents.sac
and citylearn.agents.marlisa
. The table below summarizes which control architectures the control algorithms support:
Agents |
Control Algorithm |
Centralized |
Independent |
Coordinated |
---|---|---|---|---|
RBC |
✔️ |
✔️ |
❌ |
|
RLC |
✔️ |
✔️ |
❌ |
|
RLC |
❌ |
✔️ |
✔️ |