Skip to content

Releases: ANL-CEEESA/UnitCommitment.jl

v0.4.0

21 May 16:03
Compare
Choose a tag to compare

Added

  • Add support for two-stage stochastic problems
  • Add support for day-ahead and real-time market clearing simulation
  • Add time decomposition methods
  • Add scenario decomposition methods (progressive hedging)
  • Add support for energy storage units
  • Rewrite documentation with runnable examples

v0.3.0

18 Jul 16:28
Compare
Choose a tag to compare

[0.3.0] - 2022-07-18

Added

  • Add support for multiple reserve products and zonal reserves.
  • Add flexiramp reserve products, following WanHob2016's formulation (@oyurdakul, #21).
  • Add 365 variations for each MATPOWER instance, corresponding to each day of the year.

Changed

  • To support multiple/zonal reserves, the input data format has been modified as follows:
    • In Generators, replace Provides spinning reserves? by Reserve eligibility
    • In Parameters, remove Reserve shortfall penalty
    • Revise Reserves section
  • To allow new versions of UnitCommitment.jl to read old instance files, a new required field Version has been added to the Parameters section. To load v0.2 files in v0.3, please add {"Parameters":{"Version":"0.2"}} to the file.
  • Benchmark test cases are now downloaded on-the-fly as needed, instead of being stored in our GitHub repository. Test cases can also be directly downloaded from: https://axavier.org/UnitCommitment.jl/

v0.2.2

21 Jul 17:26
Compare
Choose a tag to compare

Fixed

  • Fix small bug in validation scripts related to startup costs
  • Fix duplicated startup constraints (@mtanneau, #12)

v0.2.1

02 Jun 14:43
Compare
Choose a tag to compare

Added

  • Add multiple ramping formulations (ArrCon2000, MorLatRam2013, DamKucRajAta2016, PanGua2016)
  • Add multiple piecewise-linear costs formulations (Garver1962, CarArr2006, KnuOstWat2018)
  • Allow benchmark scripts to compare multiple formulations

v0.2.0

28 May 20:43
4f0f57c
Compare
Choose a tag to compare

Added

  • Add sub-hourly unit commitment.
  • Add UnitCommitment.write(filename, solution).
  • Add mathematical formulation to the documentation.

Changed

  • Rename "Time (h)" parameter to "Time horizon (h)".
  • Rename UnitCommitment.get_solution to UnitCommitment.solution, for better
    consistency with JuMP style.
  • Add an underscore to the name of all functions that do not appear in the
    documentation (e.g. something becomes _something) These functions are not
    part of the public API and may change without notice, even in PATCH releases.
  • The function UnitCommitment.build_model now returns a plain JuMP model. The
    struct UnitCommitmentModel has been completely removed. Accessing model
    elements can now be accomplished as follows:
    • model.vars.x[idx] becomes model[:x][idx]
    • model.eqs.y[idx] becomes model[:eq_y][idx]
    • model.expr.z[idx] becomes model[:expr_z][idx]
    • model.obj becomes model[:obj]
    • model.isf becomes model[:isf]
    • model.lodf becomes model[:lodf]

Fixed

  • Properly validate solutions with price-sensitive loads.

v0.1.1

16 Nov 13:06
Compare
Choose a tag to compare
v0.1.1 Pre-release
Pre-release
  • Fixes to MATLAB and PGLIB-UC instances
  • Add OR-LIB and Tejada19 instances
  • Improve documentation

v0.1.0

12 Nov 13:24
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release
  • Initial public release