-
I have been testing the scalability of PGM vs the likes of Pandapower and PowerFactory, and from my findings PGMs performance time scales linearly as a function of the number of network nodes, as opposed to the others having a trend of n^2. Am I correct with these results, and could you explain as to why it scales like this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Hi @ConnorG51 , Thank you for your valuable input. Apologies for our late response. Apparently, there was an issue regarding notifications and we completely missed this discussion.
I hope this answer and the more extensive one below help you continue your research. Please let me know if there's anything else we can help you with. I'm now subscribed to this discussion, so response should be much faster. Kind regards, Martijn Long answerIn an attempt to give a more elaborate answer, I will break it down as much as I can. We do several optimizations to try and get the scaling as close to optimal as possible. See also performance guide for a quick overview of tips and tricks a user might use to obtain better performance without going into detail. The different types of optimizations involve the different layers of the core design. ConventionsLet's call Note that:
BreakdownInterfacing
TopologyTopology step containing graph optimization depends heavily on the type of network:
Ybus construction
SolvingThis may depend on the calculation type and solver used. We assuming constant amount of iterations for iterative approaches
Summary/conclusionOverall, depending on what your data looks like, which solver you use and whether you benchmark batches or clean runs from scratch, your scaling may be:
|
Beta Was this translation helpful? Give feedback.
Hi @ConnorG51 ,
Thank you for your valuable input. Apologies for our late response. Apparently, there was an issue regarding notifications and we completely missed this discussion.
O(N)
.O(N²)
, but even then, most steps scaleO(N)
. In addition, depending on what and how you benchmark, we may cache the state, meaning that theO(N)
-scaling steps usually dominate the calculations for reasonably smallN
. Only for extremely large amounts of nodes will the quadratic behavior come into play. I do not have exact numbers at the moment for where that transition happens, but we would be very happy if you ar…