Releases: ANL-CEEESA/UnitCommitment.jl
Releases · ANL-CEEESA/UnitCommitment.jl
v0.4.0
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
[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
Reserves
section
- In
- To allow new versions of UnitCommitment.jl to read old instance files, a new required field
Version
has been added to theParameters
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
v0.2.1
v0.2.0
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
toUnitCommitment.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
structUnitCommitmentModel
has 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.obj
becomesmodel[:obj]
model.isf
becomesmodel[:isf]
model.lodf
becomesmodel[:lodf]
Fixed
- Properly validate solutions with price-sensitive loads.
v0.1.1
- Fixes to MATLAB and PGLIB-UC instances
- Add OR-LIB and Tejada19 instances
- Improve documentation