Skip to content

v0.1.8

Choose a tag to compare

@drewgray drewgray released this 01 May 17:25
· 1 commit to main since this release
6b5ac2e

`surge-dispatch` SCUC security loop: lower memory, faster solves, and
adjoint loss sensitivities. Default policy retuned.

Added (`surge-dispatch`)

  • Lazy PTDF caching on the SCUC security path — caches build only
    when a contingency actually binds, rather than eagerly per period.
  • Adjoint-based DC loss sensitivities replace the explicit per-branch
    Jacobian build in `surge-opf`/`surge-dispatch`, simplifying the
    loss-factor pipeline.

Fixed

  • `surge-dispatch`: SCUC security loop now defers early exit by one
    iteration when sys-row loss treatment is active but no solve has
    yet consumed realized loss factors. Previously both
    `ScalarFeedback` and `PenaltyFactors` could silently no-op on
    scenarios with a clean contingency profile.

Performance (`surge-dispatch`)

  • Lower SCUC security memory footprint at scale: per-period state is
    released after use rather than retained for the full horizon.
  • Faster security wall time via tightened PTDF tolerance, lazy cache
    construction, and adapter-side request reuse.

Changed (defaults)

  • `scuc_loss_treatment` defaulted to `penalty_factors` (was
    `scalar_feedback`), paired with the security-loop fix above.
  • `scuc_thermal_penalty_multiplier` defaulted to `1.25` (was `10.0`)
    to keep SCUC thermal penalties closer to the configured slack rate.