Sienna-Platform / Sienna-Platform/PowerOperationsModels.jl

The penalty for the cycling slack variable is too small and there is no implementation without the slack variable

Open
#60 0 comments 0 reactions 1 assignee View on GitHub

@rodrigomha is already working on this.

Since Sep 16, 2025.

Dominant language
Julia
Stars
2
Forks
1
Avg merge
1d 16h
Merged PRs (30d)
26

Description

The problem is two fold:

  1. the use_slacks = false as indicated in https://nrel-sienna.github.io/StorageSystemsSimulations.jl/stable/formulation_library/StorageDispatchWithReserves/
    StorageDispatchWithReserves · StorageSystemsSimulations.jl
    Documentation for StorageSystemsSimulations.jl.
    won't work because there's no implementation for the no slack version of the constraint
  2. The const CYCLE_VIOLATION_COST = 5e3 is effective 50 when using p.u. which make the cycle violation to be huge when the overall energy cost for the system is high.

Proof for NREL-Sienna/StorageSystemsSimulations.jl#2 is:
1000 ActivePowerInVariable_EnergyReservoirStorage_{VPP_BESS,_22} + 1000 ActivePowerInVariable_EnergyReservoirStorage_{VPP_BESS,_23} + 1000 ActivePowerInVariable_EnergyReservoirStorage_{VPP_BESS,_24} + 5000 StorageChargeCyclingSlackVariable_{VPP_BESS} + 5000 StorageDischargeCyclingSlackVariable_{VPP_BESS} + 1000000 slack_{SystemBalanceSlackDown,_2502,_1} + 1000000 slack_{SystemBalanceSlackUp,_2502,_1} + 1000000 slack_{SystemBalanceSlackDown,_25023,_1} + 1000000 slack_{SystemBalanceSlackUp,_25023,_1}

We have 10$/MW for charging, which is showing up right, which makes the penalty for slack variable 50$/cycle.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.