EnergyTwin: A Multi-Agent System for Simulating and Coordinating Energy Microgrids¶
🕒 Published (v1): 2025-11-25 18:19 UTC · Source: Arxiv · link
Ask a follow-up
Open an assistant pre-loaded with this paper's context.
💬 Ask ChatGPT✦ Ask Claude
TL;DR¶
EnergyTwin is an open-source multi-agent simulation platform that couples physically grounded energy-asset models with a FIPA-compliant agent coordination layer running over the JADE platform. It targets tertiary-layer (minutes-to-hours) microgrid decision-making via rolling-horizon planning and contract-based negotiation. Evaluation on a university campus scenario shows forecast-driven planning improves energy self-sufficiency and battery reserve margins compared to reactive baselines.
Problem¶
Existing microgrid tools split along a hard seam: power-system simulators (OpenDSS, pandapower, HELICS) capture electrical physics but assume centralized control, while agent frameworks (JADE, GridLAB-D) model decentralized decision-making but use abstract commodity-flow representations with no physical grounding. No single stack combines validated DER physics with reusable, protocol-driven multi-agent coordination templates in a modular, extensible way.
Method¶
EnergyTwin wraps each physical asset (PV array, BESS, load, external supply) in a Java/JADE agent that encapsulates both a physical model and local decision logic. A global OrchestratorAgent advances a discrete tick counter and broadcasts TickBroadcastBehaviour messages to synchronize all agents. An AgentStateRegistry aggregates per-agent STATE_UPDATE messages into a single grid-state view. The AggregatorAgent acts as the central planner: at each planning interval it queries the ForecastAgent for load/irradiance predictions, solves an economic dispatch over a rolling horizon, and then—if shortfalls or surpluses are projected—issues FIPA Contract Net Protocol (CNP) call-for-proposals to BatteryAgent and ExternalSupplyAgent, which respond with bids evaluated against their operational constraints (\(SOC\) bounds, C-rate limits). Physical models include:
- PV cell temperature via the NOCT model: \(T_c = T_a + (G/G_\text{NOCT})\times(T_\text{NOCT}-T_\text{amb,NOCT})\)
- Efficiency correction: \(\eta = \eta_\text{STC}\times(1 + \gamma(T_c - T_\text{STC}))\)
- BESS state-of-charge: \(E_{t+1} = E_t + \eta_c P_\text{ch,t}\Delta t - \frac{1}{\eta_d}P_\text{dis,t}\Delta t - E_\text{self}\Delta t\)
Weather variability is injected via Gaussian noise on sinusoidal GHI/temperature profiles. The architecture is implemented in Java (Spring + JADE) and published as open source.
Key Contributions¶
- Hybrid simulation platform unifying validated physical DER models with a FIPA-compliant MAS coordination layer in a single, modular codebase.
- Hierarchical agent taxonomy (
AbstractSimAgent→AbstractEnergySourceAgent/AbstractEnergyStorageAgent/AbstractLoadAgent) enabling plug-and-play DER extension. - Tick-synchronized OrchestratorAgent that enforces a global discrete-time step across all agents, preventing race conditions.
- Forecast-informed rolling-horizon planning loop coupled to CNP-based negotiation for dynamic energy procurement.
- Validated campus-scale scenario demonstrating measurable improvement in self-sufficiency and resilience KPIs across multiple planning strategies.
- Open-source release of code and experimental scenarios for community extension.
Results¶
- Forecast-driven rolling-horizon planning increased local energy self-sufficiency relative to reactive (no-forecast) and static baselines (exact percentages are not reported in the provided text excerpt).
- Higher battery state-of-charge reserves were maintained under the rolling-horizon strategy, reducing vulnerability to demand spikes and contingency events.
- Fewer low-resilience operating states (e.g., near-zero SOC while grid-connected supply is uncertain) were observed with the forecast-driven strategy.
- Results are characterized qualitatively in the abstract; quantitative tables/figures appear in Section 4 of the full paper, which is not included in the provided excerpt.
Limitations¶
- Tertiary-layer focus only: primary (millisecond inverter dynamics) and secondary (set-point restoration) control layers are out of scope.
- Weather model uses a configurable sinusoidal + Gaussian-noise approximation rather than real meteorological time series, limiting fidelity for extreme-event stress tests.
- Negotiation mechanism depth is intentionally deferred to future work; current CNP usage is described as lightweight and not thoroughly evaluated.
- Java/JADE implementation may impose integration friction for Python-centric power-systems workflows (pandapower, PyPSA).
- No convergence guarantees or formal verification of the distributed decision-making are provided.
- Quantitative benchmark comparisons against co-simulation frameworks (HELICS, mosaik) or reinforcement-learning baselines are absent.
Relevance to Harnesses / Meta-Harnesses¶
EnergyTwin is a concrete domain-specific harness architecture: the OrchestratorAgent functions as a meta-harness that clocks and synchronizes all subordinate agents via a broadcast tick loop, while the AgentStateRegistry acts as a shared-state bus—a pattern directly analogous to a workflow harness coordinating parallel worker agents with a central context store. The FIPA CNP bidding loop (CFP → PROPOSE/REFUSE → ACCEPT → EXECUTE) mirrors the task-dispatch/result-collection lifecycle seen in LLM-agent harnesses, grounding the abstract pattern in a physically validated domain. For researchers tracking harness design, EnergyTwin illustrates how tick-based synchronization, hierarchical agent roles, and protocol-driven negotiation can be composed into a reproducible, extensible orchestration layer—lessons transferable to any multi-agent harness that must coordinate heterogeneous, stateful workers under timing constraints.