Skip to content

Releases: TulipaEnergy/TulipaEnergyModel.jl

v0.7.0

11 Mar 11:48
59df3e0
Compare
Choose a tag to compare

TulipaEnergyModel v0.7.0

Diff since v0.6.2

Merged pull requests:

  • Add long and short storage asset constraints (#498) (@datejada)
  • Update feature.md (#500) (@gnawin)
  • Add memory table to the benchmark report (#504) (@abelsiqueira)
  • Add storage level between (intra) representative periods to the outputs (#511) (@datejada)
  • Change storage type definition to use boolean instead of strings (#515) (@datejada)
  • Add optimization problem size info to the display of EnergyProblem (#519) (@gnawin)
  • Use multiple profile types (#521) (@abelsiqueira)
  • Add partitions for base_periods and create separate partitions and profiles files (#524) (@abelsiqueira)
  • Add minimum and maximum storage level limits (#527) (@datejada)
  • Rename flow columns in the constraints dataframes to ignore the suffix _lowest and _highest (#528) (@abelsiqueira)

Closed issues:

  • Add the constraints for short- and long-storage in the model (#456)
  • Consider refactoring the names of the incoming and outgoing flows (#468)
  • Update the features explanation in the documentation (#480)
  • Update the GitHub actions for testing in the main branch (#481)
  • Update benchmark to show memory (#502)
  • Change the temporal structure of the inter period constraints to be more similar to the partitions in the intra period constraints (#507)
  • Add the new storage_level_intra_rp results to the outputs (#509)
  • Show more solver info in run_scenario (#510)
  • Add a new spillage variable for the storage_inter_rp_balance (#512)
  • Change the storage type to boolean (e.g., is_long) instead of a string (#514)
  • Create new files to store the different kinds of profiles (#516)
  • Improve the pre-filled contents of the csv files (#520)
  • Refactor the base periods to have partitions and add base period profiles (#522)
  • Add constraints for the limits for storage in the base periods (#523)

v0.6.2

26 Feb 16:20
f2c3da5
Compare
Choose a tag to compare

TulipaEnergyModel v0.6.2

Diff since v0.6.1

Merged pull requests:

Closed issues:

  • Create a function to export the whole solution to file (e.g., CSV, parquet, JSON, etc.) (#295)
  • Check if JuMP is threaded (#338)
  • Change the compute_rp_partition function strategies (#344)
  • Update CodeCov action to v4 (#445)
  • Move TulipaPlots to separate repo (#451)
  • Update the logo (#460)
  • Improve the EnergyProblem documentation (#471)
  • Add to the EnergyProblem structure the time to create the problem and the time to solve (#474)
  • [BUG] - Can't build documentation locally (#478)
  • [BUG] Remove Cbc from documentation (#490)
  • Create Solution structure and add to energy model (#492)

v0.6.1

12 Feb 16:28
a84c853
Compare
Choose a tag to compare

TulipaEnergyModel v0.6.1

Diff since v0.6.0

Merged pull requests:

Closed issues:

  • Make plots dependencies optional (#424)
  • [BUG] - Parsing underscores in documentation (#434)
  • Always attach efficiencies to inflows and outflows (#436)
  • Update the columns in the CSV input files of the case studies (#440)
  • Tests fail on Mac with M1 chip (#447)
  • Update the input data and read it into the model for the linked-representative days (#455)
  • [BUG] - The EnergyProblem is not exported in the model (#463)

v0.6.0

31 Jan 15:18
b6b74e2
Compare
Choose a tag to compare

TulipaEnergyModel v0.6.0

Diff since v0.5.2

Merged pull requests:

Closed issues:

  • Map ESDL to a Julia data structure (assets data, flows data, and graph) (#89)
  • Add tests for convergence and correctness (#114)
  • Produce feedback for failed benchmark runs (#234)
  • Profile the problem solving (#294)
  • Implement show for the EnergyProblem type (#321)
  • Add prices to the solution of the model (#328)
  • [BUG] Benchmark action is still not working or broken again (#403)
  • Split README.dev into 2 docs (#406)
  • On runtests.jl, only include files ending with .jl (#409)
  • Consider using a dummy variable for the initial energy storage level (#412)
  • Rearrange some instructions in dev.md (#417)
  • The western EU case results in an infeasible optimization problem (#419)
  • Add CONTRIBUTING to Contributing section of Readme (#421)
  • [BUG] - The codecov badge in the README.md status is unknown (#422)

v0.5.2

10 Jan 23:47
463079b
Compare
Choose a tag to compare

TulipaEnergyModel v0.5.2

Diff since v0.5.1

Merged pull requests:

  • 191 plot functions (#360) (@clizbe)
  • Add verbose option to run_scenario (#361) (@clizbe)
  • Updates on the feature section (#363) (@datejada)
  • Update EU data with rep-periods-data.csv (#365) (@abelsiqueira)
  • Update features.md (#367) (@g-moralesespana)
  • Allow passing a different optimizer and attributes (#368) (@abelsiqueira)
  • Refactor model.jl into create-model.jl and solve-model.jl (#370) (@abelsiqueira)
  • CompatHelper: add new compat entry for MathOptInterface at version 1, (keep existing compat) (#375) (@github-actions[bot])
  • Test the Norse case with solvers HiGHS and SCIP (#377) (@abelsiqueira)
  • default_parameters now dispatches on Val types (#379) (@abelsiqueira)
  • Test Norse with Cbc and GLPK and conditionally with SCIP (#380) (@abelsiqueira)
  • Added pkg install & minor edits (#382) (@clizbe)
  • Create function to read parameters from file (#384) (@abelsiqueira)
  • Add stable doc badge (#386) (@abelsiqueira)
  • Add logo to the documentation (#387) (@datejada)
  • Add option to have both integer and continuous investments (#388) (@datejada)
  • CompatHelper: add new compat entry for TOML at version 1, (keep existing compat) (#389) (@github-actions[bot])
  • CompatHelper: add new compat entry for GraphMakie at version 0.5, (keep existing compat) (#390) (@github-actions[bot])
  • CompatHelper: add new compat entry for Colors at version 0.12, (keep existing compat) (#391) (@github-actions[bot])
  • CompatHelper: add new compat entry for Plots at version 1, (keep existing compat) (#392) (@github-actions[bot])
  • CompatHelper: add new compat entry for CairoMakie at version 0.11, (keep existing compat) (#393) (@github-actions[bot])
  • Add option to have the initial storage level as free value (#394) (@datejada)
  • Update benchmark action (#395) (@abelsiqueira)
  • Updated plot tutorial and minor docs fixes (#398) (@clizbe)
  • Added strict flag to check all assets have partition data (#399) (@clizbe)
  • Add log file (#400) (@gnawin)
  • CompatHelper: add new compat entry for TimerOutputs at version 0.5, (keep existing compat) (#402) (@github-actions[bot])

Closed issues:

  • Compare output to expected output (#35)
  • Add tests using multiple solvers (#113)
  • Create function to plot (#191)
  • Add an input column for assets and investments to select MIP or LP investments (#214)
  • Improve comment of run-benchmark (#235)
  • Include solver & options in call to optimize (#246)
  • Add a strict flag to reading partition data that disallows missing assets (#290)
  • Add option to set the initial stored energy free (#296)
  • Test @expression vs Dict for the calculation of flow_max_capacity (#305)
  • Create a log file recording the time spent for every step of the workflow (#308)
  • Add verbose option to the run_scenario function (#309)
  • Add to the documentation how to use commercial solvers (i.e., Gurobi, Xpress, Cplex) (#312)
  • Add a new section in the features in the documentation for the graph representation (#346)
  • Give option to rerun model with fixed integer variables to produce duals (#353)
  • [BUG] The EU data is not up-to-date (#364)
  • Refactor model.jl into create-model.jl and solve-model.jl (#369)
  • Update How to Use: Install section (#372)
  • Allow reading solver options from a file (#373)
  • Explain how to use different solvers and set different options in the documentation (#374)
  • Change how the default solver parameter function works (#376)
  • [BUG] SCIP doesn't work on Windows so testing fails (#378)
  • Update Plotting section of tutorial to include new plot functions (#381)
  • Add Tulipa logo to docs (#383)
  • Add stable doc badge (#385)

v0.5.1

13 Dec 16:38
b90a567
Compare
Choose a tag to compare

TulipaEnergyModel v0.5.1

Diff since v0.5.0

Merged pull requests:

  • CompatHelper: bump compat for MetaGraphsNext to 0.7, (keep existing compat) (#347) (@github-actions[bot])
  • Update the explanation of the features (variable time resolution) (#348) (@datejada)
  • Reduced run_scenario from 2 functions to 1 with same functionality (#349) (@clizbe)
  • Remove obsolete function resolution_matrix (#354) (@gnawin)
  • Change the RP input structure (#356) (@greg-neustroev)
  • Refactor transport capacity (#357) (@gnawin)
  • Release 0.5.1 (#362) (@gnawin)

Closed issues:

  • Change the Tulipa logo (#99)
  • Update text across repos (#251)
  • Update formulation in the documentation with the ranges/matrices (#256)
  • Document structures with examples (#298)
  • Change the rep-periods-data.csv structure to allow time-linking constraints (#336)
  • Merge two run_scenario functions into one (#343)
  • Transport assets export/import capacity refactor (#345)
  • Obsolete function resolution_matrix (#351)

v0.5.0

06 Dec 16:28
de3b967
Compare
Choose a tag to compare

TulipaEnergyModel v0.5.0

Diff since v0.4.0

Merged pull requests:

Closed issues:

  • Compare using NamedTuples instead of Dict for the parameters (#36)
  • Data structures to JuMP Model (#61)
  • ESDL to CSV (#88)
  • CSV to data structures (#94)
  • Create struct to hold the Asset and Flow attributes (#105)
  • Create a graph with the data structure (#106)
  • Decide whether to use DataFrames as data structures or actual structs (#118)
  • Use ids in the model formulation instead of node_name (#125)
  • Refactor the flow definition in the i/o and the model (#183)
  • Add a parameter and constraint in the model to include a max investment limit (#197)
  • Check if filtering the time intervals improves the speed of the model (#220)
  • Investigate whether using the matrix for time resolutions is a good idea (#221)
  • Create a new tiny test using different time resolutions (#225)
  • Update README.DEV (#238)
  • Add Greg to the CITATION.cff (#242)
  • Add to the gitignore the folder /coverage (#245)
  • [BUG] - Norse data has repeated flow (#253)
  • Add Lauren's ORCID to the CFF (#258)
  • Store the profiles in the graph structures (#261)
  • Create a structure for the representative periods and other time stuff (#262)
  • Create a structure to hold all parts (#263)
  • [BUG] - Flow profiles are not being used correctly (#264)
  • Store solution in the graph structures (#268)
  • Move partitions to inside the graph structure (#271)
  • Move constraints_partitions to energy problem structure (#279)
  • Rename create_energy_model... to create_energy_problem... (#280)
  • Consider moving the JuMP model inside the EnergyProblem structure (#281)
  • Return all solution values in the solve and pass more general structs to the save output function (#282)
  • Allow non-EnergyModel usage (#293)
  • The variable cost of flow does not get multiplied by the partition range (#300)
  • Add the debugging folder to the gitignore file (#303)
  • Update documentation for V1.0 release! (#306)
  • Add the Julia packages to use XPRESS, GUROBI, CPLEX in the Project.toml file (#310)
  • The overall_output_flows constraint should be written in the highest resolution not the lowest (#313)
  • [BUG] - The upper and lower bound of the flows is not multiply by the duration (#316)
  • Document structures, how to use, and tutorial (#324)
  • Create a section in the documentation with an explanation of the flexible temporal resolution (#325)
  • Describe in the documentation the input data (#326)
  • Include in the tutorial how to export the results to CSV and how to plot some results (#327)
  • Filter B_flow in new highest resolution expressions (#332)
  • Remove a redundant function (#340)

v0.4.0

08 Nov 20:02
dedf117
Compare
Choose a tag to compare

TulipaEnergyModel v0.4.0

Diff since v0.3.0

Merged pull requests:

Closed issues:

  • Update the issue templates (#90)
  • Associate parameters (from ESDL) with asset/flow attributes (#91)
  • Change Actions to only run Ubuntu except on Main (#133)
  • Organize tests into different files (#152)
  • Add LocalCoverage into the workflow (#169)
  • Input and output folders for the benchmark (#174)
  • Update matrix creation (#178)
  • Add number of time steps and time scale to RP file (#179)
  • Make the periods dependent of the representative period (#180)
  • Add a second representative period to Norse case (#181)
  • Add file for the time aggregation/resolution of assets and flows (#182)
  • Add information on installing JuliaFormatter for the pre-commit (#186)
  • Update matrix creation to use time_scale (#187)
  • Add a function to create the constraint time resolution using all breakpoints (#188)
  • Catch warning from infeasible test (#190)
  • Write the output of the benchmark to a different location (#193)
  • Add Storage Inflows and Initial Storage Level data for the Hydro in the Norse Case (#198)
  • Fix mathematical formulation in documentation (#202)
  • Change Norse flows-data to use asset_name (#203)
  • Document running the documentation locally (#207)
  • Better name for time resolution "stuff" (#208)
  • Function to run_scenario (#209)
  • How to layout the time profiles after clustering for representative periods? (#217)
  • Create expressions for the incoming and outgoing flows (and possible others) (#222)
  • Add the initial storage to the equation (#223)
  • Don't use @constraint for lower bound of flow (#224)
  • Standarised all the expression's name in the optimisation model without e_ (#229)
  • [BUG] - Benchmark workflow is broken (#230)
  • Early feedback when run-benchmark is run (#233)
  • [BUG] - Benchmark broken again (#243)

v0.3.0

25 Oct 12:58
edf3196
Compare
Choose a tag to compare

TulipaEnergyModel v0.3.0

Diff since v0.2.0

Merged pull requests:

Closed issues:

  • Compare to a model without Sets and dictionaries (#16)
  • Consider adding a triage tag/status (#34)
  • [BUG] Fix CompatHelper action (#39)
  • Add parameters to the Norse case (#101)
  • Describe every CSV that is required (#102)
  • Create function that reads CSVs (#104)
  • Formulate the model as a network graph (#107)
  • Implement a function that generates the resolution matrix (#109)
  • Add *.lp to .gitignore (#120)
  • Revise the naming convention for everything (e.g., p_*) (#123)
  • Change InputTables.jl to match io.jl (#127)
  • [BUG] - Issue Status Workflow not working (#129)
  • Change Actions to only run Ubuntu except on Main (#133)
  • Ability to couple with other models (#134)
  • Include all the asset types in the formulation (#135)
  • Change Float32 to Float64 (#136)
  • Implement naming convention (#137)
  • Update documentation (#141)
  • Update tests to make Codecov happy (#145)
  • [BUG] - The benchmarks have not been updated (#146)
  • Add an infeasible model for testing (#149)
  • Consider splitting the model creation and the model solving to allow benchmarking separately (#153)
  • Improve dev documentation for push and rebase (#158)
  • Add a description to validate_df (also for autodoc) (#164)
  • Read CSV passing type information to validate while reading (#165)
  • header = 2 can be refactored inside the reading function (#167)
  • Update benchmarks with Norse case (#170)
  • Add data to flows-profiles of Norse (#172)
  • Improve the Norse case test case data (#175)

v0.2.0

27 Sep 15:13
db17fdb
Compare
Choose a tag to compare

TulipaEnergyModel v0.2.0

Diff since v0.1.0

Merged pull requests:

Closed issues:

  • Change input format to use GML (#62)
  • Publish the package! (#82)
  • Convert the current test (tiny example) into CSVs by hand (#100)
  • Create function that reads graph information from CSVs (#103)
  • Implement the graph formulation (#108)