Remove ForwardDiff dependency#42
Conversation
|
I think this is good to go now. You were right @samtalki, some of the switching terms were missing... |
|
paging @djturizo as he mentioned he has previously worked out closed form expresions of the implicit function theorem applied to AC OPF in some of his legacy code https://github.com/djturizo/Shortest-Path-OPF |
samtalki
left a comment
There was a problem hiding this comment.
This is an incredibly valuable contribution that will be a core piece of many downstream applications, thank you @klamike . To summarize my (minor) comments overall:
- It would be helpful to deduplicate some of the repeated physics logic into consistent derivative primitives, and
- there are several places where we may be able to better exploit sparsity and avoid densifying matrices.
|
Thanks for the detailed comments @samtalki @cameronkhanpour, I will do some passes next week |
Benchmark Results (Julia v1)Time benchmarks
Memory benchmarks
|
|
@klamike In the most recent commits I went ahead and addressed the comments @samtalki, @djturizo, and I made. I see that PR #48 is staged to merge the mk/backend branch into this mk/ac branch; do we want to wait until that PR is finished and merged before merging this branch into main? |
|
Great work @cameronkhanpour!! Thank you for taking over and sorry for my delay, been super busy with moving to London. I reviewed the commit, the changes look good to me! One thing I am curious about is the benchmark workflow. It would be great to verify (perhaps manually) that the final version does result in a speedup before merging (in particular on some medium-sized case e.g. 1354_pegase ACOPF). Regarding the |
|
I am not sure what is best practice, but I added a couple of new benchmarks for the AC OPF since the PR that added the benchmark workflow only had DC OPF. I did manually run case1354_pegase AC OPF and I verified some great speed ups:
I got a little impatient and put in time limits so it wouldn't run forever on my PC, but safe to say that we get multiple orders of magnitude speed ups. I can work on PR #48, taking a look at it briefly I think it might be best to merge this PR into main first then rebase PR 48 onto main since I can see there will be some conflicts that will need to be resolved. |
|
Very nice! Agreed, let's merge this, then rebase. I initially set the target here since when I started working on that one, I based it off of here. |
|
Thank you so much @cameronkhanpour and @klamike ! |
No description provided.