| name: openenv-smartgrid-marketsim |
| version: "0.1.0" |
| description: > |
| Multi-agent smart-grid market simulation where strategic bids are cleared by a market, |
| corrected by an explicit dispatch control agent, and then enforced by a physics-constrained |
| safety shield. |
| |
| tags: |
| - openenv |
| - multi-agent |
| - market |
| - smart-grid |
| - long-horizon |
|
|
| tasks: |
| - id: default |
| display_name: Strategic Bidding With Physical Dispatch |
| difficulty: medium |
| max_steps: 24 |
| description: > |
| Agents bid into a market, then LDU enforces grid feasibility. Reward is based on |
| physically delivered outcomes under volatility and shock events. |
| success_threshold: 0.62 |
| - id: long_horizon |
| display_name: Long Horizon Reliability Planning |
| difficulty: hard |
| max_steps: 48 |
| description: > |
| Extended planning task with delayed effects and recurring scarcity windows. |
| Evaluates durable policy memory and low-volatility dispatch behavior. |
| success_threshold: 0.58 |
| - id: stress_shock |
| display_name: Shock Stress Reliability |
| difficulty: hard |
| max_steps: 30 |
| description: > |
| Shock-heavy scenario with renewable collapse and demand volatility. |
| Tests emergency adaptation and correction-aware decision quality. |
| success_threshold: 0.56 |
| - id: normal |
| display_name: Benchmark Normal Operations |
| difficulty: medium |
| max_steps: 24 |
| description: > |
| Mild-variability benchmark with no forced shock, emphasizing efficient |
| low-correction dispatch. |
| success_threshold: 0.62 |
| - id: outage |
| display_name: Benchmark Outage Contingency |
| difficulty: hard |
| max_steps: 30 |
| description: > |
| Outage benchmark with N-1 generator-or-feeder contingency and delayed thermal |
| recovery behavior. |
| success_threshold: 0.56 |
| - id: renewable_collapse |
| display_name: Benchmark Renewable Collapse |
| difficulty: hard |
| max_steps: 30 |
| description: > |
| Severe renewable drop and forecast-error benchmark testing scarcity |
| recovery and reliability adaptation. |
| success_threshold: 0.56 |
|
|
| action_space: |
| type: object |
| fields: |
| bids: |
| type: array |
| description: List of supply and demand bids from multiple agents |
| ev_charge_mwh: |
| type: float |
| min: 0.0 |
| ev_discharge_mwh: |
| type: float |
| min: 0.0 |
|
|
| dispatch_action_space: |
| type: object |
| fields: |
| reserve_activation_mwh: |
| type: float |
| min: 0.0 |
| peaker_adjustment_mwh: |
| type: float |
| storage_dispatch_mwh: |
| type: float |
| corrective_redispatch_mwh: |
| type: float |
|
|
| observation_space: |
| type: object |
| fields: |
| step: |
| type: int |
| steps_taken: |
| type: int |
| max_steps: |
| type: int |
| demand_mwh: |
| type: float |
| renewable_availability_mwh: |
| type: float |
| peaker_capacity_mwh: |
| type: float |
| ev_storage_mwh: |
| type: float |
| ev_storage_capacity_mwh: |
| type: float |
| last_clearing_price: |
| type: float |
| leader_price_signal: |
| type: float |
| scarcity_index: |
| type: float |
| shock_active: |
| type: bool |
| forecast_demand_mwh: |
| type: float |
| forecast_renewable_mwh: |
| type: float |
| load_forecast_error_mwh: |
| type: float |
| renewable_forecast_error_mwh: |
| type: float |
| contingency_active: |
| type: bool |
| contingency_type: |
| type: string |
| operator_override_enabled: |
| type: bool |
| public_signal: |
| type: string |
| schema_info: |
| type: string |
| hint: |
| type: string |
| nullable: true |
| error_message: |
| type: string |
| nullable: true |
|
|
| reward: |
| type: object |
| fields: |
| score: |
| type: float |
| range: [0.0, 1.0] |
| reason: |
| type: string |
| demand_satisfaction_score: |
| type: float |
| cost_efficiency_score: |
| type: float |
| renewable_utilization_score: |
| type: float |
| stability_score: |
| type: float |
| reserve_adequacy_score: |
| type: float |
| emissions_intensity_tco2_per_mwh: |
| type: float |
| infeasibility_penalty: |
| type: float |
| blackout_penalty: |
| type: float |
|
|
| environment: |
| api: REST |
| framework: FastAPI |
| base_url: http://localhost:7860 |
| endpoints: |
| - GET /health |
| - POST /reset |
| - POST /step |
| - POST /act |
| - POST /dispatch-act |
| - GET /state |
| - GET /events |
| - GET /events/stream |
| - GET /info |
| - POST /inject-shock |
| - POST /operator-override |
| - POST /run-inference |
| - POST /run-demo-mode |
| - POST /run-resilience-demo |
| - GET /demo |
|
|
| docker: |
| image: openenv-smartgrid-marketsim |
| port: 7860 |
|
|