mirror of
https://github.com/ANL-CEEESA/UnitCommitment.jl.git
synced 2025-12-06 00:08:52 -06:00
3.7 KiB
3.7 KiB
Changelog
All notable changes to this project will be documented in this file.
- The format is based on Keep a Changelog.
- This project adheres to Semantic Versioning.
- For versions before 1.0, we follow the Pkg.jl convention
that
0.a.bis compatible with0.a.c.
[0.4.2] - 2025-11-27
Fixed
- KnuOstWat2018: Fixed a bug in
eq_segprod_limitconstraint (#57)
[0.4.1] - 2025-11-05
Fixed
- Fix multi-threading issues in Julia 1.12
Changed
- The package now requires Julia 1.10 or newer
[0.4.0] - 2024-05-21
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
[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, replaceProvides spinning reserves?byReserve eligibility - In
Parameters, removeReserve shortfall penalty - Revise
Reservessection
- In
- To allow new versions of UnitCommitment.jl to read old instance files, a new required field
Versionhas been added to theParameterssection. 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/
[0.2.2] - 2021-07-21
Fixed
- Fix small bug in validation scripts related to startup costs
- Fix duplicated startup constraints (@mtanneau, #12)
[0.2.1] - 2021-06-02
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
[0.2.0] - 2021-05-28
Added
- Add sub-hourly unit commitment.
- Add
UnitCommitment.write(filename, solution). - Add current mathematical formulation to the documentation.
Changed
- Rename "Time (h)" parameter to "Time horizon (h)".
- Rename
UnitCommitment.get_solutiontoUnitCommitment.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.
somethingbecomes_something) These functions are not part of the public API and may change without notice, even in PATCH releases. - The function
UnitCommitment.build_modelnow returns a plain JuMP model. The structUnitCommitmentModelhas been completely removed. Accessing model elements can now be accomplished as follows:model.vars.x[idx]becomesmodel[:x][idx]model.eqs.y[idx]becomesmodel[:eq_y][idx]model.expr.z[idx]becomesmodel[:expr_z][idx]model.objbecomesmodel[:obj]model.isfbecomesmodel[:isf]model.lodfbecomesmodel[:lodf]
Fixed
- Properly validate solutions with price-sensitive loads.
[0.1.1] - 2020-11-16
Added
- Add OR-LIB and Tejada19 instances.
- Improve documentation.
Fixed
- Fixes to MATLAB and PGLIB-UC instances.
[0.1.0] - 2020-11-06
- Initial public release.