Recent Releases of SpineOpt.jl
SpineOpt.jl - v0.11.1
SpineOpt v0.11.1
- Patch lingering bugs in Julia v1.12 compatibility with the representative period implementation.
Merged pull requests:
- Add run spineopt model log info (#1305) (@nnhjy)
- Revert "Add run spineopt model log info" (#1307) (@nnhjy)
- Add run_spineopt model info into running logs (#1308) (@nnhjy)
- Fix static interface for
is_representative. (#1309) (@datejada) - Remove
@evalfromgenerate_starting_point(#1310) (@datejada)
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by github-actions[bot] 3 months ago
SpineOpt.jl - v0.11.0
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)
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by github-actions[bot] 3 months ago
SpineOpt.jl - SpineOpt v0.10.2
Migration script up to latest version
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by tarskul over 1 year ago
SpineOpt.jl - v0.10.1
SpineOpt v0.10.1
Merged pull requests:
- add scenario weights to fom cost (#1187) (@nnhjy)
- Set default values for economic parameters (#1188) (@gnawin)
Closed issues:
- Pkg.update("SpineOpt") may not work (#1186)
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by github-actions[bot] over 1 year ago
SpineOpt.jl - v0.10.0
SpineOpt v0.10.0
Breaking
Fixing compatibility issues with SpineInterface v0.15.2.
Merge v0.7.2.x branch with improvements to representative periods, code optimisation, etc.
Merged pull requests:
- Fix temporal resolution connection_ratio_out_in (#1147) (@gnawin)
- Add options to improve model creation speed (#1149) (@datejada)
- Update docs: verify installation and simple system tutorial (#1151) (@JustinasJas)
- Use
align_variable_duration_unitfunction instead ofconvert_to_days(#1154) (@datejada) - Delete parameter values related to obsolete outputs from spineopt_template (#1166) (@nhniina)
- constraint_node_injection to align with representative time slices (#1168) (@nnhjy)
- Merge changes from v0.7.2.x into Master (#1170) (@tarskul)
- trigger test for spine db api (#1171) (@tarskul)
- Make .install_spinedb_api.jl accept spinedb_api Git ref as command line argument (#1173) (@soininen)
- Fix examples input data (#1177) (@nnhjy)
- Attempt to fix/resolve the representative_periods tests issues (#1179) (@nnhjy)
- default
number_of_unitsfor non-investable and investable units (#1184) (@nnhjy)
Closed issues:
- Representative periods not working with variables requiring history (#1108)
- Couple TulipaClustering for representative periods (#1124)
- Representative periods with variable replacement causing errors (#1136)
- Representative periods with constraint_ratio_out_in_connection_flow causing problems (#1139)
- Fix flexible time resolution in constraint
ratio_out_in_connection_flow(#1146) - Add option
set_string_names_on_creationinrun_spineopt(#1148) - redundant
node_injectionconstraints under representative time (#1150) - Improve convert_to_days function (#1152)
- Migration script tests are failing in the master branch (#1158)
- Inconsistency in the default number_of_units when using candidate_units (#1163)
- Errors when importing spineopt_template.json (#1164)
- Bug: Representative periods tests are not working (#1176)
- Error setting up a model - Bringing model to the first window... (#1181)
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by github-actions[bot] over 1 year ago
SpineOpt.jl - v0.9.2
SpineOpt v0.9.2
Merged pull requests:
- Changed the default number of units based on is_candidate. (#1036) (@Mastomaki)
- Improve the efficiency of the heat rate parameter migration script (#1093) (@nhniina)
- 1116 add dual variables into the output list in the template (#1121) (@nnhjy)
- Apply review suggestions for economic representation calculation (#1130) (@gnawin)
- update with the latest main (#1138) (@nnhjy)
- 1141 update items in the template (#1144) (@nnhjy)
Closed issues:
- Issues with code for computing multi year economic parameter values (#1095)
- Add dual variables into the output list in the template (#1116)
- Update items in the template (#1141)
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by github-actions[bot] over 1 year ago
SpineOpt.jl - v0.9.1
SpineOpt v0.9.1
Merged pull requests:
- Add new gallery section to the docs (#1125) (@datejada)
- Revert "Change indices function in the fixed_om_costs function" (#1132) (@nnhjy)
- 1122 bug function fixed om costs throws and error when using representative periods (#1133) (@nnhjy)
- Add troubleshooting for long names in the solver (#1134) (@datejada)
- Release 0.9.1 (#1137) (@datejada)
Closed issues:
- Create a example gallery section with case study examples (#1103)
- Gurobi Error 10003: Name too long (maximum name length is 255 characters) (#1126)
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by github-actions[bot] over 1 year ago
SpineOpt.jl - v0.9.0
SpineOpt v0.9.0
Merged pull requests:
- 735 tutorial stochastic (#1047) (@tarskul)
- Add multi year investment tutorial (#1048) (@gnawin)
- Tutorial capacity planning (#1049) (@tarskul)
- Use economic parameters in the objection function (#1052) (@gnawin)
- Add economic parameter results to the outputs (#1053) (@datejada)
- Howtohydro (#1054) (@tarskul)
- bugfix database stochastic tutorial (#1055) (@tarskul)
- Include discounted duration parameter to outputs of the economic representation (#1058) (@datejada)
- Update technical lifetime constraints to include sense (#1060) (@datejada)
- Fix flow expression bounds (#1063) (@manuelma)
- Fix replacement expressions to work with any number of ins and outs (#1065) (@manuelma)
- Fix bound constraint updates (#1066) (@manuelma)
- Fix generation of economic representation parameter
tech_discount_factor(#1069) (@gnawin) - Improve saving outputs and fixing history (#1071) (@manuelma)
- Avoid deleting constraints when updating bounds (#1073) (@manuelma)
- Calculate the
_discounted_durationoutputs with the flow indices (#1074) (@datejada) - Piecewiselinear efficiency using ratio unit flow (#1076) (@nhniina)
- Use set_expr_bound (#1077) (@manuelma)
- Tutorial multi-year (#1078) (@gnawin)
- Save results in parallel for each index (#1080) (@manuelma)
- Various performance improvements from 0.7 (#1081) (@manuelma)
- Add multi-year information to advanced concepts in the doc (#1082) (@gnawin)
- Implement changes from code review (#1085) (@datejada)
- Update CONTRIBUTING.md (#1086) (@datejada)
- Introduce report benders iters (#1089) (@manuelma)
- Report all benders gaps if reporting iterations (#1090) (@manuelma)
- Introduce stage__output (#1094) (@manuelma)
- Activate model env before calling RelationshipClass and Parameter (#1096) (@manuelma)
- Get rid of internal_fix bounds (#1097) (@manuelma)
- Minor edit docs (#1098) (@gnawin)
- Rename COPYING to LICENSE for julia reg requirements (#1099) (@clizbe)
- Add validation for min_up_time and min_down_time (#1105) (@datejada)
- Prepare for JuliaRegistry (#1106) (@clizbe)
- CompatHelper: add new compat entry for Distributions at version 0.25, (keep existing compat) (#1109) (@github-actions[bot])
- CompatHelper: add new compat entry for Requires at version 1, (keep existing compat) (#1110) (@github-actions[bot])
- CompatHelper: add new compat entry for DataStructures at version 0.18, (keep existing compat) (#1111) (@github-actions[bot])
- CompatHelper: add new compat entry for TOML at version 1, (keep existing compat) (#1112) (@github-actions[bot])
- CompatHelper: add new compat entry for HiGHS at version 1, (keep existing compat) (#1113) (@github-actions[bot])
- CompatHelper: add new compat entry for Arrow at version 2, (keep existing compat) (#1114) (@github-actions[bot])
- CompatHelper: add new compat entry for JSON at version 0.21, (keep existing compat) (#1115) (@github-actions[bot])
- fix fom_cost formulation (#1117) (@nnhjy)
- Release 0.9.0 (#1127) (@clizbe)
Closed issues:
- Piecewiselinear efficiency using fix_ratio_out_in_unit_flow? (#444)
- Removing extra available variables (#600)
- Economic lifetime of a unit (#601)
- Update on the technical lifetime of a unit/storage/connection constraint (#689)
- Epic: Multi-year investment feature (#908)
- Update the documentation (e.g., formulation and features) (#913)
- Create a Multi-Year Investment tutorial without using economic representation parameters (#914)
- Add constraint to avoid simultaneous starts/shutdowns (#960)
- Improve ease of installation with improved instructions and template workflow+database (#1022)
- Change temporal structure for investment and operation blocks in multi-year investments (#1041)
- Update objective function to use economic parameters (#1050)
- Export economic parameter results (#1051)
- Unit flow upper bounds are not correctly calculated when using replacement expressions (#1056)
- Include unit_discounted_duration, connection_discounted_duration, storage_discounted_duration in the output (#1057)
- Combination of roll forwards and investment optimization fails (#1059)
- Economic representation parameter
tech_discount_factoris not correctly generated sometimes (#1068) - Create a Multi-Year Investment tutorial focusing on how to use economic representation parameters (#1070)
- Fix
X_discounted_durationoutput to include the operational (#1072) - Remove specify the key_type of the dictionary for economic parameters outputs (#1083)
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by github-actions[bot] almost 2 years ago
SpineOpt.jl - v0.8.3 (compatible with Spine Toolbox v0.8)
Version compatible with the latest version of SpineInterface and Spine Toolbox.
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by tarskul about 2 years ago
SpineOpt.jl - v0.8.2 (compatible with Spine Toolbox v0.8)
Version bump to enable new version in the SpineJuliaRegistry
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by jkiviluo over 2 years ago
SpineOpt.jl - v0.8.1 for Spine Toolbox v0.8 compatibilty
Spine Toolbox v0.8 compatible SpineOpt version.
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by jkiviluo over 2 years ago
SpineOpt.jl - v0.7.2
Last release before moving to Spine Toolbox v0.8
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by jkiviluo over 2 years ago
SpineOpt.jl - Bump version
Requires migration of older databases
New features:
- Modelling to generate alternatives is now supported
- Allows to explore near-optimal solutions with maximally different portfolios
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by mihlema over 4 years ago
SpineOpt.jl - v0.4.4
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by almost 5 years ago