Spaces:
Sleeping
Task 2 — n_minus_1
Purpose
Task 2 tests post-contingency control rather than single-line repair. One line is already disconnected at reset, and the agent has to operate the degraded topology safely for 20 steps without blacking out the grid. This is closer to classical N-1 security reasoning than Task 1, where the topology is still intact. [1][2]
Current task definition in code:
- description and horizon: server/tasks.py
- reward: server/environment.py
- grader: server/graders.py
What We Changed
The earlier version of Task 2 behaved too much like a generic survivability problem. We updated it to better reflect the actual N-1 objective.
Main changes:
- added explicit emergency and steady-state phases in the prompt
- added reconnection guidance for the faulted line
- added structural graph guidance through
n1_security_scoreand bridge-line analysis - changed the reward to combine survival, overload margin, redispatch cost, and a reconnect bonus
- changed the grader to score emergency clearing, sustained secure operation, and reconnection success separately
Relevant prompt and candidate logic:
Current Implementation
Reset:
- line
0is disconnected at reset - episode length is
20steps
Prompt-side task rules now include:
- emergency thresholding with
rho >= 0.92 - steady-state target with
rho < 0.90 - reconnect guidance once cooldown allows
- explicit warning that passive
do_nothingis not enough in the emergency window
Current reward shape:
- constant survival term
- clipped thermal-margin term over line loadings
- redispatch cost penalty
- reconnect bonus when a reconnection succeeds without worsening the state too much
- strong positive terminal bonus for surviving the full horizon
- strong negative penalty for blackout
Current grader:
30%emergency response quality50%sustained security in phase 220%reconnection achievement
This is much closer to how N-1 security is discussed in the Grid2Op and L2RPN ecosystem, where reconnecting safely and keeping the degraded topology secure matters more than merely surviving step to step. [1][3][4]
What We Observed
This task improved materially after the prompt and ranking updates.
Final SFT result, seed block 0..4:
0.990
Final SFT result, unseen seeds 100..102:
0.9222223
Key improvement:
- earlier runs overused
do_nothing - the final system became more active, using redispatch and reconnect actions more effectively
Main action counts for the final SFT model on seed block 0..4:
do_nothing=16reconnect_line=5redispatch=79
Current Limitation
Task 2 is now in a good place compared with the other tasks. The main remaining risk is that it still uses a simplified structural proxy for some N-1 reasoning, not a full online contingency analysis engine. That is acceptable for the hackathon benchmark, but it is worth stating clearly.
References
[1] Grid2Op reward documentation and built-in reward classes:
https://grid2op.readthedocs.io/en/v1.9.8/reward.html
[2] Learning to run a power network challenge for training topology controllers:
https://www.sciencedirect.com/science/article/abs/pii/S0378779620304387
[3] Grid2Op LinesReconnectedReward documentation:
https://grid2op.readthedocs.io/en/v1.10.5/_modules/grid2op/Reward/linesReconnectedReward.html
[4] L2RPN 2023 winning-agent writeup with greedy reconnection discussion:
https://lajavaness.medium.com/how-we-built-the-winning-real-time-autonomous-agent-for-power-grid-management-in-the-l2rpn-41ab3cfaddbd