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

Support for piecewise (convex) costs in ACOPF #227

Merged
merged 6 commits into from
Jun 17, 2021

Conversation

michaelbynum
Copy link
Collaborator

Support for piecewise (convex) costs in ACOPF

Copy link
Collaborator

@bknueven bknueven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have lots of comments, mostly because I've implemented piecewise cost curves a few times; feel free to consider them completely optional.

The unit commitment model spends quite bit of effort validating and potentially simplifying the data passed in, e.g., ignoring segments outside of [p_min, p_max], combining close segments, etc. Unfortunately some of these boring and tedious things can make a performance difference; it's also nice just to have some of this preprocessing in Egret itself if the data is messy.

I guess there's also the question of if this is the PWL cost formulation for the ACOPF model, see: https://arxiv.org/pdf/2005.14087.pdf. This also discusses a bit of the preprocessing issues.

egret/model_library/transmission/gen.py Outdated Show resolved Hide resolved
egret/model_library/transmission/gen.py Show resolved Hide resolved
egret/model_library/transmission/gen.py Outdated Show resolved Hide resolved
egret/model_library/transmission/gen.py Outdated Show resolved Hide resolved
egret/models/acopf.py Outdated Show resolved Hide resolved
@michaelbynum
Copy link
Collaborator Author

@bknueven Thanks for all of the feedback. I think this is a greatly improved PR now. Let me know what you think.

@bknueven
Copy link
Collaborator

As it is, the validation code does not handle if the p_max <= the first piecewise point or the p_min >= the last piecewise point. We should either address this in this PR or open and issue.

@bknueven bknueven mentioned this pull request Jun 17, 2021
@bknueven bknueven merged commit 4662ad2 into grid-parity-exchange:main Jun 17, 2021
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

Successfully merging this pull request may close these issues.

2 participants