Future-Power-Networks / MAPDN

This repository is for an open-source environment for multi-agent active voltage control on power distribution networks (MAPDN).
MIT License
203 stars 55 forks source link

Bug: Multiple actions per agent #36

Open kosmylo opened 2 months ago

kosmylo commented 2 months ago

I have identified a potential issue when trying to have multiple actions per agent.

In my example, I have 5 agents and 4 actions per agent, which means that the actions should have shape [1,5,4].

However, according to the error that I am getting, the shape of the actions is [1,1,4]. By debugging it, I found that in the function get_actions(self, state, status, exploration, actions_avail, target=False, last_hid=None) of maddpg.py the variable means had the correct shape [1, 5, 4], but then the problem was due to the following part:

if means.size(-1) > 1:
    means_ = means.sum(dim=1, keepdim=True)
    log_stds_ = log_stds.sum(dim=1, keepdim=True)
 else:
    means_ = means
    log_stds_ = log_stds

My question now is what is the purpose of this part?

hsvgbkhgbv commented 1 week ago

Hi,

Thank you for your report. I have checked the code again, and cannot really be reminded about the purpose of this part. Since this part has not been applied and tested in the proposed environment (distributed mode) in the paper, I have no idea about its purpose at this moment. However, as your analysis shows, I temporarily vote for the uselessness of this part of code here. If this part of code has its own utility, this should be related to decentralized mode.

P.S. If I was reminded about its original purpose, I would inform you. Thank you again for your efforts.