How salazarna/marlem works
MARLEM simulates decentralized local energy markets and trains/evaluates multi-agent reinforcement-learning policies. Its principal workflow is: agent actions are constrained and validated, converted to orders, cleared into trades, applied to agent/grid state, scored with rewards and coordination metrics, then returned as observations for the next decision. The README documents these stages; sampled source confirms market matching, grid handling, profile generation, coordination metrics, and training behavior. Wiring for unsampled environment modules is represented only where the documented step sequence supports it.
Main entry points: lem.py Market environment · matching.py Market matching · der.py DER agents · train.py RL trainer
Components 23
Learning Environment
- RL trainer
src/environment/train.py - Policy inference
src/environment/inference.py - Market environment
src/environment/lem.py - Action handling
src/environment/action.py - Observations
src/environment/observation.py - Rewards
src/environment/reward.py
Market Clearing
- Orders and trades
src/market/order.py - Market matching
src/market/matching.py - Pricing mechanisms
src/market/mechanism.py - Trade validation
src/market/validation.py - Reputation
src/market/reputation.py - DSO fallback
src/market/dso.py
Agents and Grid
- DER agents
src/agent/der.py - Battery storage
src/agent/battery.py - Grid network
src/grid/network.py
Coordination and Analysis
- Implicit cooperation
src/coordination/implicit_cooperation.py - Coordination metrics
src/analytics/coordination_metrics.py - Grid metrics
src/analytics/grid_metrics.py - Market analytics
src/analytics/market_analytics.py - Visualization
src/visualization/plotter.py
Scenario Inputs
- DER profiles
src/profile/der.py - DSO profiles
src/profile/dso.py
Other components
- Researcher
Connections 30
- Researcher → RL trainer: configures training
- RL trainer → Market environment: creates environment
- Policy inference → Market environment: runs episodes
- Market environment → Action handling: processes actions
- Market environment → DER agents: constrains actions
- Action handling → Orders and trades: forms orders
- Market environment → Market matching: clears orders
- Market matching → Pricing mechanisms: prices trades
- Market matching → Trade validation: validates trades
- Market matching → Grid network: checks constraints
- Market matching → DSO fallback: routes unmatched
- Market matching → Reputation: uses reputation
- Market matching → Orders and trades: produces trades
- Market environment → DER agents: updates energy state
- DER agents → Battery storage: updates storage
- Market environment → Grid network: updates grid state
- Market environment → Implicit cooperation: computes KPIs
- Implicit cooperation → Rewards: provides KPIs
- Market environment → Rewards: calculates rewards
- Market environment → Reputation: updates reputation
- Market environment → Observations: builds observations
- Market environment → RL trainer: returns episode results
- Market matching → Coordination metrics: supplies match history
- Market matching → Grid metrics: supplies match history
- Grid network → Grid metrics: supplies topology
- Market analytics → Visualization: provides analysis
- Coordination metrics → Visualization: provides metrics
- Grid metrics → Visualization: provides metrics
- DER profiles → DER agents: generates profiles
- DSO profiles → DSO fallback: supplies prices