Skip to content

Fix/default commitment prices#1793

Merged
Flix6x merged 21 commits intomainfrom
fix/default-commitment-prices
Nov 22, 2025
Merged

Fix/default commitment prices#1793
Flix6x merged 21 commits intomainfrom
fix/default-commitment-prices

Conversation

@Flix6x
Copy link
Copy Markdown
Contributor

@Flix6x Flix6x commented Nov 4, 2025

Description

  • Increment version number of the StorageScheduler (now that it deals with prior commitments)
  • Allow one-sided commitments (either an up-price or a down-price, but not both)
  • Commitment name is now a required field (it's used to identify the costs for each commitment)
  • Support cases where up-price < down-price, using big-M bounds on commitment deviations
  • Added changelog item in documentation/changelog.rst

Look & Feel

...

How to test

  • Added a commitment with up-price < down-price to the flex-context in a conftest to cover a non-convex commitment.

Further Improvements

  • Passing a more complex set of prior commitments may still make the scheduler hang. We are now checking for convexity by comparing, for a given time interval, the sum over all up-prices to the sum over all down-prices. However, this is a simplification. The convexity of the piece-wise linear cost curve resulting from the commitments passed to the device_scheduler should take into account the different baseline quantities.
  • The extra binary variable per sub-commitment (e.g. an energy contract leads to 1 sub-commitment per time slot) does slow down the solver. Currently, if only one time slot has the case up-price < down-price, then the binary variable will be used for all sub-commitments. It should only be needed for all sub-commitments for which the guilty time slot is relevant.
  • A few commitment names should not be accepted, as they are already used by the StorageScheduler internally. [Now mentioned in Support commitments in flex-context UI #1572.]

Related Items

…rUnbounded termination condition, to allow triggering the FallbackStorageScheduler

Signed-off-by: F.N. Claessen <[email protected]>
@Flix6x Flix6x added this to the 0.30.0 milestone Nov 4, 2025
@Flix6x Flix6x self-assigned this Nov 4, 2025
@Flix6x Flix6x added bug Something isn't working Scheduling labels Nov 4, 2025
@read-the-docs-community
Copy link
Copy Markdown

read-the-docs-community bot commented Nov 4, 2025

Documentation build overview

📚 flexmeasures | 🛠️ Build #30417641 | 📁 Comparing 71cfed2 against latest (77eaa84)


🔍 Preview build

Show files changed (3 files in total): 📝 3 modified | ➕ 0 added | ➖ 0 deleted
File Status
changelog.html 📝 modified
_autosummary/flexmeasures.data.models.planning.storage.html 📝 modified
api/v3_0.html 📝 modified

@Flix6x Flix6x marked this pull request as ready for review November 10, 2025 16:05
@Flix6x Flix6x requested a review from nhoening November 11, 2025 10:23
Copy link
Copy Markdown
Contributor

@nhoening nhoening left a comment

Choose a reason for hiding this comment

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

Looks good to me.
As usual for these, I ask for some clarifications only.

@Flix6x Flix6x merged commit 954471b into main Nov 22, 2025
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working Scheduling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants