Releases: GenXProject/GenX.jl
v0.3.1
What's Changed
The major updates to the v0.3.1 patch release are the following:
- Addition of HiGHS as the default solver (HiGHS is open-source, free/non-commercial, and a fast solver as long as LP problems are being solved)
- Significant changes to the way in which GenX is run (We decided to stick to what we have been calling Mathod 1 till date and decided to get rid of Method 2. Please read the README carefully to run GenX)
- Revised and refined DDP model
- Gotten rid of unused package dependencies to expedite the loading and running of GenX.
The details of the patch release as as follows:
- Use joinpath rather than manual path construction from strings by @cfe316 in #191
- Simplify load_period_map by @cfe316 in #192
- Simplify dataframe accesses by @cfe316 in #196
- Reformatted the documentation Welcome page to sectionalize it and condense the left pane by @sambuddhac in #199
- Simplify model generation function calls by @cfe316 in #197
- Simplify flexible demand formulation by @cfe316 in #195
- Fix bug in endogenous_retirement by @cfe316 in #203
- Remove extraneous method_of_morris files by @cfe316 in #207
- Modifications in thermal_no_commit and versioned doc pages by @sambuddhac in #206
- Dev by @sambuddhac in #193
- Prevent writing_storagedual if there's no STOR > 0 by @cfe316 in #226
- GenX Patch 0.3.1 Upgrade: Addition of HiGHS Solver, DDP bug-fixes, and documentation upgrade by @sambuddhac in #236
- Fix images in how_to_run_genx.md by @cfe316 in #260
- Rm five unused files from / by @cfe316 in #261
- Rm Documenter[Tools] from main project by @cfe316 in #262
Full Changelog: v0.3.0...v0.3.1
GenX version v0.3.0
GenX version 0.3.0 Release Notes
In this version, we have upgraded GenX to version v0.3.0. To run GenX 0.3.0, we recommend Julia language version 1.6.x series along with JuMP 0.21.x series (all the environment dependencies have been updated to the most recent compatible versions as well). The following are the salient features that have been added in this version release:
- Added Dual Dynamic Programming (DDP) Multi-stage capacity expansion feature to GenX: This is the major highlight and most important new feature added to GenX in version 0.3.0. Addition of the DDP now allows GenX to carry out multi stage and multi year look-ahead capacity expansion planning into the future in a most rigorous mathematical framework.
- Vectorization of output writing to enhance the speed of generating results files.
- Revised and updated "Method of Morris" for sophisticated sensitivity analyses studies (along with previously created "Modeling to Generate Alternatives (MGS)" analysis).
- Bug-fixes and refinement of modularization of the different policy modules like co2_cap, cap_reserve_margin, minimum_capacity_requirement etc., for ease and convenience for adding new technologies by the users.
Below are the details of the changes in this release:
What's Changed
- Merging Dev into Method of Morris by @nspatank in #66
- modularizing policies: capacity reserve margin, minimum requirement capacity, ESR by @aneeshamanocha in #68
- Multi-Stage GenX by @jf-morris in #78
- Make 'solver' entry case insensitive; document this by @cfe316 in #103
- Simplify loading scripts: use joinpath by @cfe316 in #97
- Use joinpath rather than passing string separator by @cfe316 in #104
- Remove debugging info from flexible demand module by @cfe316 in #107
- Remove service for unsupported Julia versions by @cfe316 in #105
- Add cplex.log file to gitignore. by @cfe316 in #88
- Shorten the .gitignore file by @cfe316 in #110
- Add a default for MultiStage to configure_settings by @cfe316 in #90
- Policies (added must run for capacity reserve margins) by @aneeshamanocha in #69
- Fix bug on main which prevents writing many outputs by @cfe316 in #123
- Refactor period map loading logic by @cfe316 in #130
- Remove unused code requiring CapRes_* cols by @gschivley in #120
- Remove references to LongDurationStorage key by @cfe316 in #124
- Call write_costs exactly once by @cfe316 in #136
- Resolving first-stage-only network expansion issue in multi-stage GenX by @jf-morris in #131
- Add github action test workflow by @gschivley in #142
- Annualizing costs in myopic multi-stage GenX by @jf-morris in #144
- Vectorize the simpler writing procedures by @cfe316 in #137
- Vectorize write_storagedual by @cfe316 in #139
- Documentation for Multi-Stage GenX by @jf-morris in #160
- Vectorize write_costs by @cfe316 in #145
- Vectorize the three slowest outputs by @cfe316 in #147
- Annualize outputs for reserves and ucommit by @cfe316 in #155
- Vectorize writing of outputs by @cfe316 in #157
- DDP Documentation Fix by @jf-morris in #163
- Correcting multi-stage TDR indexing error by @jf-morris in #162
- Include STOR=2 techs in STOR_LONG_DURATION and STOR_SHORT_DURATION sets by @jf-morris in #159
- Fix mismatched arguments in write_outputs by @cfe316 in #175
- Fix and simplify Up&Down_Time constraints by @cfe316 in #151
- Scale all generator Cap_Size, not just those with > 1 MW by @cfe316 in #178
- Gate for accessing Hydro_Energy_to_Power_Ratio by @cfe316 in #174
- DDP Post-convergence extra forward pass by @jf-morris in #182
- Aaron: Reformatting DDP Directory by @jf-morris in #183
- Fix zonal cost summations by @cfe316 in #185
- Dev by @sambuddhac in #179
- Dev by @sambuddhac in #188
New Contributors
- @aneeshamanocha made their first contribution in #68
- @jf-morris made their first contribution in #78
Full Changelog: v0.2.0...v0.3.0
GenX version v0.2.0
In this version, we have once again upgraded GenX to version v0.2.0. This version (like v0.1.0) also runs with Julia language versions 1.5.x and 1.6.x series along with JuMP 0.21.x series (all the environment dependencies have been updated to the most recent compatible versions as well). The following are the salient features that have been added in this version release:
- Added "Method of Morris" for sophisticated sensitivity analyses studies (along with previously created "Modeling to Generate Alternatives (MGS)" analysis).
- Added SCIP as an open source solver option, which has a much superior performance, on, especially mixed integer programming problem instances.
- Modularized the different policy modules like co2_cap, cap_reserve_margin, minimum_capacity_requirement etc., for ease and convenience for adding new technologies by the users.
Just like before, we have also fixed many of the bugs that were present in the earlier release. Version v0.1.0 is still there in the old version branch. The older release before v0.1.0 is still on GitHub on the branch old_version (the older release runs with Julia 1.3.x and 1.4.x series and with older versions of environment dependencies).
GenX version v0.1.0
In this version, we have upgraded GenX, so that it can be run with the two most recent Julia language versions, namely 1.5.x and 1.6.x series along with JuMP 0.21.x series (all the environment dependencies have been updated to the most recent compatible versions as well). We have also fixed many of the bugs that were present in the earlier release. The older release is still on GitHub on the branch old_version (the older release runs with Julia 1.3.x and 1.4.x series and with older versions of environment dependencies).