v0.11.0
·
365 commits
to master
since this release
SpineOpt v0.11.0
Julia compatibility, delta formulation for long-term storages with representative periods, improved tutorials and documentation.
Breaking changes
- Julia v1.12 compatibility
- New HSJ and Fuzzy MGA functionality.
- Fix economic discounting duration
- Update migration script and SpineOpt DB version
Merged pull requests:
- Update Project.toml (#1193) (@tarskul)
- Fix trvial spottings (#1197) (@nnhjy)
- improve the implementation of multi year investments (#1198) (@nnhjy)
- Add the node availability factor to the model (#1202) (@datejada)
- Add minimum node state constraint (#1204) (@datejada)
- Update migration script and SpineOpt DB version (#1205) (@datejada)
- Add minimum connection flow constraint (#1208) (@datejada)
- Add parameter function
node_state_lower_limitto the indices function of the minimum node state (#1210) (@datejada) - Up to 7x faster _save_outputs!() (#1217) (@ll-ara)
- Add CI on pull request from forks (#1220) (@datejada)
- Revert "Update migration script and SpineOpt DB version" (#1223) (@nnhjy)
- Update migration script (#1224) (@nnhjy)
- added no_index_found unit test to representative periods test (#1226) (@ll-ara)
- Fix economic discounting duration (#1231) (@nnhjy)
- Ramping update for variable time steps (#1240) (@Mastomaki)
- CompatHelper: bump compat for DataStructures to 0.19, (keep existing compat) (#1243) (@github-actions[bot])
- Don't generate represented variable-expressions if not needed (#1247) (@manuelma)
- New HSJ and Fuzzy MGA functionality (#1249) (@kkozersk)
- Simplify timemsg (#1251) (@manuelma)
- Fix units_started_up coefficient in unit flow ratio (#1252) (@manuelma)
- Delta formulation and free starts (#1253) (@manuelma)
- Rationalize node_state_lower_limit (#1258) (@manuelma)
- Skip connection min flow if zero lower limit (#1260) (@manuelma)
- Code refactoring (#1261) (@manuelma)
- Update Julia version compat (#1264) (@datejada)
- Set add_bridges=true by default (#1267) (@manuelma)
- Change HiGHS compatibility version (#1268) (@datejada)
- 1269 benders tests are unstable for different versions of highs (#1270) (@tarskul)
- Improve economic discounting (#1280) (@nnhjy)
- Add tutorial for representative periods (#1283) (@datejada)
- Add tutorial rolling horizon (#1284) (@datejada)
- Added multi-stage optimisation tutorial and example system (#1285) (@DillonJ)
- Updated multi-stage tutorial (#1286) (@DillonJ)
- Fix user_constraint slack term to apply per-constraint only (#1288) (@DillonJ)
- Add static interface for compatibility with Julia 1.12 (#1290) (@datejada)
- Update 3rd party actions in GitHub actions (#1293) (@soininen)
- Update lead time documentation in template and docs (#1295) (@datejada)
- Add checks for ramping parameters (#1299) (@gnawin)
- Improve optimization check for model feasibility (#1300) (@datejada)
- investment_variable_type = none disables investment variables (#1304) (@Tasqu)
- Bypass
convenience_functions.jlregeneration if it fails. (#1306) (@Tasqu)
Closed issues:
- Linking related optimizations (#318)
- Ensure templates consistent with migration (#464)
- Removing unnecessary parameters (#599)
- Simplify the input database structure (#687)
- Node-node, unit-unit, and efficiencies changes (#688)
- Adding descriptions of outputs in the spineopt_template.json (#748)
- Installing from the SpineJuliaRegistry is not working properly (#835)
- Create a tutorial to create a rolling horizon model (#974)
- Problems with unit ramp limits (#1029)
- Fix the flexible temporal resolution implementation (#1119)
- Incomplete multi-year investments tutorials (#1185)
- Add the
node_availability_factorparameter (#1199) - Add a constraint for the minimum node state limit (#1200)
- Add a constraint for the minimum connection flow limit (#1201)
- Add a constraint for the minimum unit flow limit (#1203)
- Update migration script and SpineOpt DB version (#1207)
- Improve the performance of the function
_representative_index_to_coefficient(#1216) - Replacing
use_economic_representationanduse_milestone_yearsmigration script failing (#1222) - Reformulate formulation with representative periods in SpineOpt (#1233)
- Avoid unnecessary represented-variable expressions when is_longterm_storage = false (#1246)
- Unneeded constraint_connection_min_flow (#1259)
- Limit Julia version to 1.11 (#1263)
- Benders tests are unstable for different versions of HiGHS (#1269)
- db_lp_solver vs db_mip_solver: distinction isn't clear (#1271)
- SpineOpt is not compatible with Julia 1.12 (#1274)
- [docs] Add tutorial for representative periods (#1282)
- User_constraint slack variables erroneously appear in other user constraints (#1287)
- Update Lead Time parameter description in Template and documentation (#1294)
- Write results always if the result count is greater than zero (#1296)
- Ensure consistency between UC and ramping parameters (#1298)
- Set investment variable types to
noneas default. (#1302)