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

Enforce non-increasing shutdown power constraint across horizon boundary #1070

Merged
merged 2 commits into from
Dec 11, 2023

Conversation

sriharid
Copy link
Contributor

@sriharid sriharid commented Dec 8, 2023

Enforce the non-increasing shutdown power constraint in between the previous timepoint and the current timepoint, instead of the current and the next timepoint. This will ensure that the constraint is enforced across horizon boundaries as well.

Fixes #1003

…aries

Enforce the non-increasing shutdown power constraint in between the previous
timepoint and the current timepoint, instead of the current and the next
timepoint. This will ensure that the constraint is enforced across
horizon boundaries as well.
@sriharid sriharid marked this pull request as ready for review December 8, 2023 19:21
@sriharid
Copy link
Contributor Author

sriharid commented Dec 8, 2023

Hold this PR. Investigating run-time issues.

@anamileva
Copy link
Member

I still don't understand this. Horizons are independent by design. It looks like a bunch of tests are failing, so this will require careful consideration of interactions.

@sriharid
Copy link
Contributor Author

sriharid commented Dec 9, 2023

There was a bug in the previous patch which was causing the failed tests. This bug has been fixed now.

A couple of points:

  • The main issue this patch attempts to fix is the fact that units that are not in the committed state could have spurious generation, i.e., shutdown_power (<= pmin) starting from the first timepoint of a horizon
  • The main difference between this implementation and the previous one is: the constraint is enforced between t-1 and t instead of t and t+1. Thus the corner case at the horizon boundary is handled.
  • While horizons are independent, there are other constraints that are enforced across linked horizons
  • This fix is similar to the implementation in increasing_startup_power_by_st_constraint_rule() where too linked params are used

Please check the current fix. We are testing this fix. Will write back once we look at the results.

@sriharid
Copy link
Contributor Author

@anamileva, just to clarify, this fix is meant for fixing "phantom" generation that could happen due to decreasing_shutdown_power_constraint_rule not enforcing the shutdown power constraint between the first timepoint of a horizon and the last timepoint of the previous horizon.

The fix has been tested to confirm that:

  • the issue described above is seen at least once without the fix, and
  • the issue is not seen at all with the fix in place.

Can provide further info the test we performed and the checks we made.

@anamileva
Copy link
Member

Ah ok, this makes sense for linked horizons. Thanks, @sriharid!

@anamileva anamileva merged commit c538978 into blue-marble:develop Dec 11, 2023
5 of 6 checks passed
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.

Shutdown power can take an arbitrary value <= PMin in the first timepoint of a horizon
2 participants