-
Notifications
You must be signed in to change notification settings - Fork 502
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
Algorithms for ill-conditioned problems #114
Comments
@WinfriedL: Having a simple test case would be helpful for testing, are there simple test cases for this problem, where different restults are found for different starting solutions? Or does this problem only occurr in larger, more complex grids? |
In principle this problem exists in all grids, but usually the voltage magnitudes of the 'wrong' solution should be far enough away from an initial flat start of 1 pu. I am not sure what part of my testgrid leads to the proximity of both solutions. |
I implemented a version of the Iwamoto Newton Rapshon. This may help to improve convergence. The algorithm can be used by choosing |
Great addition! Unfortunatly it currently does not help in my testcase. And I believe it cannot work for any network with PV buses. |
I have looked again, and either I am missing something completly (which is perfectly possible), or this can never work as expected. Since the voltage of the slack bus is in the matrix there should always be an element with dV==0. |
I have looked at the original Iwamoto papers and I think the Implementation was wrong. Or at least I did not understand how the implementation was related to Iwamoto paper. It somehow looked like a strange implementation of the formulas given by Milano (which also differ from the Iwamoto formulas) I tried to implement the original Iwamoto: It seems to work, and in most cases improves the convergence behaviour. I have not yet done speed comparisons. It would be great if someone can look at the implementation for some obvious errors and maybe test it. It is not yet ready for a pull request, there is at least some cleanup necessary. |
I have checked all formulas again, and I think they are correct. I have alos done some speed and convergence comparison. The iwamoto step is slower than a pure NR step, as expected. However, in most of my tests it converges faster and needs less iterations. So depending on the net and the tolerance, it is either a bit slower (if it needs the same amount of iterations) or faster (if it needs less iterations). And at least in one testcase, the standard Newton-Raphson converged in an unstable solution, while the Iwamoto converged in the stable solution. But that might be coincidence and is probably not a general rule. |
That sounds great, thanks a lot! |
If you still need small test cases:
|
Thanks, we will look at the 11 bus system. However, it will take some time because the data format is not very "user friendly". Do you have any tools to convert a Ybus matrix into a pandapower network? |
I tried to create the 11 bus testcase. Some observations:
|
After GridCal has released an updated version of the HELM algorithm (see https://gridcal.readthedocs.io/en/latest/theory/power_flow/holomorphic_embedding.html), I looked into this once more. Unfortunately, the iwamoto 11 bus testcase still doesn't converge with the HELM. But I looked into the source once more, and I have doubts the iwamoto network as it is now in pandapower is correct:
With that much information missing, I don't see how a network can be compiled with certainty... I would vote to remove the iwamoto network from pandapower as long as we are not sure it is correct |
Hi all, |
I tried to follow this thread, I believe its extremely intresting. |
I have built a prototype, but it doesnot produce correct results, I think I made something wrong while converting the datastructures: #2067 |
In meshed networks, multiple solution might exist, and different solutions might be found depending on the starting values (see #110). Aside from smart choice of initial solution (see #113), other algorithms than Newton-Raphson might be better suited to deal with ill-conditioned problems, such as Levenberg-Marquart or Holomorphic embedding.
GridCal already has implementations of LM and HELM. Do these implementations work and can we adopt them for pandapower (also due to the license)?
@ascheidl you have run some tests, can you report your findings?
The text was updated successfully, but these errors were encountered: