Grid2op / lightsim2grid

LightSim2grid implements a c++ backend targeting the Grid2Op (https://github.com/rte-france/grid2op) platform.
https://lightsim2grid.readthedocs.io/en/latest/
Mozilla Public License 2.0
49 stars 9 forks source link

Power Flow Diverged #3

Closed djmax008 closed 4 years ago

djmax008 commented 4 years ago

Hi,

I encountered a problem when resetting the environment. Sometimes, the power flow diverged during the env.rest() as below. I am not sure what I have done wrong. ''self.reset_grid() File "/home/jiajun/Desktop/Grid2op_voltv0.7/grid2op/Environment/Environment.py", line 490, in reset_grid "Available information are: {}".format(info)) grid2op.Exceptions.Grid2OpException.Grid2OpException: Grid2OpException "Impossible to initialize the powergrid, the powerflow diverge at iteration 0. Available information are: {'disc_lines': None, 'is_illegal': False, 'is_ambiguous': False, 'is_dispatching_illegal': False, 'is_illegal_reco': True, 'exception': [Grid2OpException AmbiguousAction InvalidRedispatching GeneratorTurnedOnTooSoon GeneratorTurnedOnTooSoon('Some generator has been connected too early ([0 1])',), Grid2OpException DivergingPowerFlow DivergingPowerFlow('Powerflow has diverged during computation.',)], 'rewards':

Thanks, Jiajun

BDonnot commented 4 years ago

Hello,

Without further indication on what you were doing iI won't be able to make good progress.

Can you specify me the version of grid2op and lightsimbackend that you use ? Does this happens with pandapower backend with the same code ? Which environment are you using ?

Thanks

Benjamin

djmax008 commented 4 years ago

Hi Benjamin,

I am using grid2op v8.0. The environment is made by env = grid2op.make('l2rpn_case14_sandbox', backend = backend, gamerules_class=AlwaysLegal, voltagecontroler_class=ControlVoltageFromFile) This does not happen to the pandapower backend with the same code.

Thanks, Jiajun

BDonnot commented 4 years ago

Nice thanks :-) Can i see the code to try to replicate the bug ?

Thanks

djmax008 commented 4 years ago

Hi,

I am using my own baseline to train the agent. I tried to push my baseline to gitbub, but the permission is denied as follows. ''' remote: Permission to rte-france/l2rpn-baselines.git denied to djmax008. fatal: unable to access 'https://github.com/rte-france/l2rpn-baselines.git/': The requested URL returned error: 403 ''' Anyway, my code to run the training function is as follows.

from grid2op.MakeEnv import make import grid2op from grid2op.VoltageControler import ControlVoltageFromFile from grid2op.Rules import AlwaysLegal from l2rpn_baselines.Geirina import train from l2rpn_baselines.Geirina import evaluate from lightsim2grid import LightSimBackend

backend = LightSimBackend() env = grid2op.make('l2rpn_case14_sandbox', gamerules_class=AlwaysLegal, backend= backend, voltagecontroler_class=ControlVoltageFromFile)

train(env, name="Geirina", iterations=10, load_path=None, save_path="basline_result")

BDonnot commented 4 years ago

Yes it's normal that you cannot push to L2rpn-baseline. You might want to re read the instructions. When your baseline is ready you put it in a github repository, and we include it through a submodule.

Can you invite me (by mail) to your repo, I'll try to debug using your code.

Thanks

Benjamin

djmax008 commented 4 years ago

Hi, Sorry for the confusion. I have invited you to my repo. I like your avatar, BTW. Thanks, Jiajun

BDonnot commented 4 years ago

Hello,

Thanks for the avatar. It's actually made by a Belgian youtuber La statistique expliquée à mon chat It represents a "skeptical cat" :-)

I was able, with quite some effort, to make your code running on my machine. It was not easy because some path were hard coded and depends on the time where you saved the model, especially the part where you load it.

Once I was able to reproduce it, I was able to fix that. I push a new version that solves the issue. Let me know if it doesn't.

Benjamin