JAX-EC

Local energy communities, where users produce and share local renewable electricity, accelerate the shift toward clean energy sources while maintaining grid stability and resilience. JAX-EC is a high-performance simulation-based framework designed for researchers and stakeholders to prototype, evaluate, and understand energy exchange mechanisms.

🏗️ Technical Core & Interactive Demo

The JAX-EC framework consists of two main components designed to serve both researchers and non-technical stakeholders:

  1. Hardware-Accelerated Simulator: A JAX-based core capable of large-scale multi-agent simulations with a 31x speedup compared to traditional Python implementations. It supports heterogeneous agents (RBC, Q-Learning, PPO) and advanced market mechanisms.
  2. Interactive Demonstration: A user-friendly React web application that allows users to build communities, equip participants, and visualize the economic and environmental impacts of different sharing rules in real-time.

JAX-EC Demo Screenshot

🚀 Key Features

  • Heterogeneous Agents: Support for mixed populations of rule-based and AI-driven agents.
  • AI-Based Pricing: A centralized RL Community Manager that dynamically sets internal prices.
  • Robust Data Handling: Direct support for custom user-provided datasets.

📦 Code & Resources

The full source code, including the JAX environment, pre-trained models, and the interactive frontend, is available on GitHub.

View on GitHub

📜 Citation

This work was presented at the AAMAS 2025 Demonstration Track. If you use JAX-EC in your research, please cite:

@inproceedings{azmani2025jaxec,
  author    = {Hicham Azmani and Andries Rosseau and Marjon Blondeel and Ann Nowé},
  title     = {A JAX-Accelerated Simulation Framework for Multi-Agent Energy Management in Energy Communities: Demonstration Track},
  booktitle = {Proc. of the 24th International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2025)},
  year      = {2025},
  month     = {May 19-23},
  address   = {Detroit, Michigan, USA},
  publisher = {IFAAMAS},
}