-
Notifications
You must be signed in to change notification settings - Fork 10
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
Add Open Energy Modeling at JuMP-dev 2024 #156
Conversation
@odow Thanks for the comprehensive summary of our talks from TNO. We learned a lot from the JuMP-dev workshop and were happy to participate and contribute. |
Thanks! Did I miss (or mis-interpret) anything in your talk? I've sent you a calendar invite for a regular call series I'm starting up as it relates to #154. But it's at a pretty terrible time for you, so once we have something concrete to discuss, we could always schedule something at a more convenient time. |
Very good summaries! Regarding |
Thanks for the invitation; let's start with that schedule, and I will try to attend as much as possible. For instance, I'm sorry in advance because I am the first one I cannot participate. It is because I will be out of the office anyway. |
Thanks for the nice summary! In the context of Energy Modeling at SINTEF it is perhaps worth to mention also When it comes to performance in model building and workarounds, better documentation/advertising limitations is always useful, but I think it would benefit the JuMP ecosystem in large if the performance issues with sparse structures could be addressed at the JuMP-level by exploiting sparsity when building constraints, for example (see e.g. jump-dev/JuMP.jl#3438). The broader point of the |
I spent most of today re-watching a lot of JuMP-dev talks (on 2x speed!) and I've added a bunch more content. We've had quite a lot of energy-related talks! There are still a bunch that I haven't got to yet. |
I hope this post is actually pretty useful for future energy modelers. It's really a crash course on "here's everything that people have done previously and the various issues that we've run into." Watching the talks back-to-back and making connections between them really is more than the sum of the parts. |
fc7c166
to
9445854
Compare
@odow I think you should distinguish between applications that are energy models like Tulipa or GenX and those that are simulations tools like Sienna (PowerSimulations.jl) |
repository, and that JuMP's ability to efficiently solve a sequence of similar | ||
problems with some changes in the problem parameters is both a main selling | ||
point of using JuMP over alternative tools and a current bottleneck in existing | ||
workflows. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sienna is also one of the few tools that has a workflow with multiple resolves as part of the features and needs since it is the only JuMP application focused on simulations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know if this is true. SpineOpt has a rolling-horizon feature, and so does @sstroemer's model.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The same is currently in development for EnergyModelsX.
Okay! This kept getting longer and longer, but I think the first draft is done. Feedback appreciated. |
Also cc'ing @jd-foster @leonardgoeke @richard-weinhold @iSoron @joaquimg |
|
||
I found it useful to compare the talk to Jose's [[2019] PowerSimulations.jl](#2019-powersimulationsjl). | ||
If multiple groups arrive at the same set of ideas, I think it demonstrates that | ||
hierarchical models that leverage Julia's multiple dispatch is the "right" way |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could reference from JuMP-dev 2024 that Pyomo arrived to a similar design of implementing a multiple dispatch like capability
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is slightly different. Pyomo would say build models using blocks etc. They're using multiple dispatch internally to simplify the expression tree walkers.
@odow Thanks for including UnitCommitment.jl in this review post. A few comments and suggestions:
|
b9b4799
to
9f1869e
Compare
…-energy-models.md
Co-authored-by: James Foster <[email protected]>
Co-authored-by: James Foster <[email protected]>
Co-authored-by: James Foster <[email protected]>
Co-authored-by: James Foster <[email protected]>
I wonder if the 'big-O' notation is potentially confusing for non-CS types. |
Co-authored-by: James Foster <[email protected]>
Co-authored-by: James Foster <[email protected]>
I don't particularly care 😄 This post is mostly intended for our benefit, with a second-order benefit to energy system modelers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great overview - very useful to see it in one place.
All done. |
Co-authored-by: James Foster <[email protected]>
…-energy-models.md
This is part of a deliverable for #154, so we can wait until that is announced before merging.
I haven't finished yet, but I'll ping @datejada, @trulsf, @jd-lara and @hellemo for initial feedback (if you are interested/have time).
Other talks to include:
https://www.youtube.com/watch?v=rWmllzN4P18Doesn't really focus on the JuMP aspectsMaybe others?