andrewrosemberg / hydropowermodels.jl Goto Github PK
View Code? Open in Web Editor NEWA Julia/JuMP Package for Hydrothermal economic dispatch Optimization
License: MIT License
A Julia/JuMP Package for Hydrothermal economic dispatch Optimization
License: MIT License
Improve function docs expecially the ones that get exported.
Some good examples:
functions
https://github.com/odow/SDDP.jl/blob/88a2b0e8217e3e0b0ab4ef776a0c7534f5768156/src/user_interface.jl#L113
https://github.com/JuliaGraphs/LightGraphs.jl/blob/adb43fb374266398540ed7073e8b5037ea76f852/src/shortestpaths/yen.jl#L12
Structs
https://github.com/odow/SDDP.jl/blob/88a2b0e8217e3e0b0ab4ef776a0c7534f5768156/src/plugins/risk_measures.jl#L61
https://github.com/odow/SDDP.jl/blob/88a2b0e8217e3e0b0ab4ef776a0c7534f5768156/src/plugins/risk_measures.jl#L115
Docs build is failing (https://travis-ci.com/andrewrosemberg/HydroPowerModels.jl).
Allow the user to run a different model at the forward pass (simulation step). Similar to what was done in this paper (which used the implementation in the out-of-date branch: forw_diff_back ).
Depends on odow/SDDP.jl#419
At first sight, the code coverage seems very low (25%), but you did a lot of appreciable efforts to test correctly HydroPowerModels.jl. Investigating it further with codecov, it occurs that most files are perfectly tested, except:
IO.jl
(75%)utilities.jl
( 43%)visualize_data.jl
(0%)The code coverage is low because of this last file. Do you think it could be relevant to move it a separate folder, dedicated to the plotting utilities (as src/visualization
in the package SDDP.jl)?
Another question is: why are only the deterministic examples tested in runtests.jl
? I would appreciate having a testing procedure that tests stochastic and non-linear examples as well. My opinion is that running a non-linear version of SDDP is one of the key ideas in HydroPowerModels.jl, and you might want to put more emphasis on it.
Remove visualisation tools (at ./src/visualisation) and dependencies (Plots, Cairo, LightGraphs) from the main module;
add them to a submodule (e.g PlotsUtils).
Open issue for discussions and questions about the HydroPowerModels.jl package. Following its predecessor (#19), it will serve as a support for @alexandrestreet 's class on "Power Systems Economics" at PUC-RIO university.
Guidelines:
Please make use of the Julia community whenever possible. They will be much more capable to help you if your questions are about computers or Julia. (https://discourse.julialang.org, http://julialang.slack.com/) Please also read their guidelines.
Only questions in English will be answered. It will help international contributors understand your questions.
Try to be objective. Understanding your question shouldn't take too much time :).
Post your questions here before opening an issue, but, if it is indeed a bug, an issue will be much appreciated.
PS.: Users who star the package get special attention :)
Rm Weave from docs dependencies;
Create examples using Literate instead of Weave in the documentation.
Hi
I am trying to learn about optimization of Hydro Power models using your package but the latest compatibility issues are causing havoc on your package and downgrading dependencies for SDDP/PowerModels etc...
Any chance your could have a go at upgrading the current version to latest compatibility?
Thanks
Hi,
I recently came across this project and it looks to be a very useful toolset for accomplishing the task of hydro scheduling.
Does this tool allow the user to define a hydro system of cascade hydro's with additional complexity in how the water flows are directed?
Update compatibility with main dependencies:
Links are explicit, let us find a way of turning it into a button on the index
I was testting HydroPowerModels on Julia 1.0.5 and I have an error,
this is the log
(v1.0) pkg> test HydroPowerModels
........
[4ec0a83e] Unicode [`@stdlib/Unicode`]
WARNING: could not import JuMP.optimizer_with_attributes into PowerModels
Unable to revert mtime: /Library/Fonts
Fontconfig warning: ignoring UTF-8: not a valid region tag
Test kwargs: Error During Test at /Users/edwardangelino/.julia/packages/HydroPowerModels/TamtQ/test/hydrovalleymodel.jl:4
Got exception outside of a @test
UndefVarError: post_opf not defined
Stacktrace:
[1] macro expansion at /Users/edwardangelino/.julia/packages/HydroPowerModels/TamtQ/test/hydrovalleymodel.jl:5 [inlined]
[2] macro expansion at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:1083 [inlined]
[3] macro expansion at /Users/edwardangelino/.julia/packages/HydroPowerModels/TamtQ/test/hydrovalleymodel.jl:5 [inlined]
[4] macro expansion at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:1083 [inlined]
[5] top-level scope at /Users/edwardangelino/.julia/packages/HydroPowerModels/TamtQ/test/hydrovalleymodel.jl:4
[6] include at ./boot.jl:317 [inlined]
[7] include_relative(::Module, ::String) at ./loading.jl:1044
[8] include(::Module, ::String) at ./sysimg.jl:29
[9] include(::String) at ./client.jl:392
[10] top-level scope at none:0
[11] include at ./boot.jl:317 [inlined]
[12] include_relative(::Module, ::String) at ./loading.jl:1044
[13] include(::Module, ::String) at ./sysimg.jl:29
[14] include(::String) at ./client.jl:392
[15] top-level scope at none:0
[16] eval(::Module, ::Any) at ./boot.jl:319
[17] exec_options(::Base.JLOptions) at ./client.jl:243
[18] _start() at ./client.jl:425
Test Summary: | Error Total
hydrovalleymodel | 1 1
Test kwargs | 1 1
ERROR: LoadError: LoadError: Some tests did not pass: 0 passed, 0 failed, 1 errored, 0 broken.
in expression starting at /Users/edwardangelino/.julia/packages/HydroPowerModels/TamtQ/test/hydrovalleymodel.jl:3
in expression starting at /Users/edwardangelino/.julia/packages/HydroPowerModels/TamtQ/test/runtests.jl:9
ERROR: Package HydroPowerModels errored during testing
Please could you help me to solve this error?
thanks
Edward
Looking at the file Project.toml, it occurs to me that we might want to reduce the dependencies of HydroPowerModels.jl.
For instance, do we need Ipopt.jl
, Weave.jl
, Cairo.jl
or GR.jl
in Project.toml
? By looking at the code in the module, it seems that we only need PowerModels.jl
, JuMP.jl
, GLPK.jl
and SDDP.jl
as main dependencies. Maybe we could move the other packages in [extras]
for testing purposes?
Furthermore, do you think we could add Plots.jl
as an optional dependency (for instance by exporting the plotting functions only if Plots.jl
is already installed)? When deporting some computations in a cluster, we might want to load only the minimal set of packages IMO.
This issue is for questions about studies using the Package
Line 101 in aaff54f
Improve documentation for specific need for others packages branches(Manifest.toml).
If you haven't already, you should take a look at: https://github.com/martinbiel/HydroModels.jl
@martinbiel gave a talk at JuMP-dev II: https://www.youtube.com/watch?v=fy81-fRFnfY&index=11&list=PLP8iPy9hna6RJUxzYlWENcs9yf-CRoDvD
In order to see the weave reports, one should remove the last "/" from the url of the report. For example:
https://andrewrosemberg.github.io/HydroPowerModels.jl/dev/examples/case3/
should be
https://andrewrosemberg.github.io/HydroPowerModels.jl/dev/examples/case3
Add unit tests for functions that create new constraints, variables and add terms to the objective (check if the expression is correct).
The new version of SDDP.jl is landing: odow/SDDP.jl#180
I'm not sure what will happen if you run Pkg.update()
on Julia 0.6 after lands, so you might need to run
Pkg.checkout("SDDP", "release-v0")
to get the existing version.
Once the PR is merged, aAn upgrading guide will be available at
https://odow.github.io/SDDP.jl/latest/upgrading_guide/
Until the PR is merged, the Kokako version is here: https://odow.github.io/Kokako.jl/latest/upgrading_guide/
Unfortunately, it looks like the upgrade will break most of your code ๐ข
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.