Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lower and upper bound for the real part of the slack voltage #134

Open
100110110101 opened this issue Mar 18, 2024 · 0 comments
Open

lower and upper bound for the real part of the slack voltage #134

100110110101 opened this issue Mar 18, 2024 · 0 comments

Comments

@100110110101
Copy link

As discussed in #123 I took a closer look at the opf-optimod.
In doing so, a very small suggestion for improvement came to my mind, which I would like to recommend here (it's not a bug):

The lower and upper bound for the imaginary part of the slack voltage are set to zero in line 453 of grbformulator_ac.py. This is clear and reasonable.
But the upper bound of the real part of the slack voltage is set to bus.Vmax and the lower bound is set to -bus.Vmax in lines 444 & 445. I think a tighter formulation is possible without loss of generality: Analogous to setting the voltage angle at the slack bus to zero in polar coordinates, the real part of the slack voltage can be limited between bus.Vmin <= fvar[bus] <= bus.Vmax. This prevents a "mirrored solution" (--> symmetry during optimization) on the negative side of the real axis, which corresponds to an voltage angle of 180°. Therefore, I suggest to add the following code before line 447:
if j == alldata["refbus"]: lbound = bus.Vmin # Modified slack lower bound to prevent a mirrored solution
Furthermore, the quadratic voltage constraint for the slack bus can be omitted.

I assume that this will only bring minor improvements, but I wanted to share the suggestion anyway and put it up for discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant