Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDDP.jl, JuMP 0.19, and Julia 1.0 #172

Closed
odow opened this issue Dec 1, 2018 · 2 comments
Closed

SDDP.jl, JuMP 0.19, and Julia 1.0 #172

odow opened this issue Dec 1, 2018 · 2 comments

Comments

@odow
Copy link
Owner

odow commented Dec 1, 2018

Dear all,

This post is to update you on my plans for the future of SDDP.jl.

Currently SDDP.jl supports Julia v0.6 and JuMP v0.18. JuMP v0.18 has recently added support for Julia v1.0. However, because of the way we implement macros like @state and @rhsnoise, upgrading SDDP.jl to Julia v1.0 is non-trivial. (This is mainly due to some changes in the way scoping works in macros.)

In addition, soon, JuMP will be releasing v0.19. Since there is quite a big difference between JuMP 0.18 and JuMP 0.19, it makes sense to re-write SDDP.jl to support both Julia 1.0 and JuMP 0.19. This will also allow us to fix many outstanding issues (e.g., #10, #29, #68, #70, #79, #80, #84, #92, #107, #116; in fact, it will close almost all outstanding issues...).

That re-write is happening over at https://github.com/odow/Kokako.jl.

It still has a few notable things missing, including cut selection and parallelisation, but otherwise it already solves many of the issues mentioned above.

Kokako currently depends on the JuMP master branch and may change or break at any moment, so if you're risk averse, I recommend staying with SDDP.jl. However, if you want to join the future (and potentially run into loads of bugs), take Kokako out for a spin.

Since SDDP.jl is beginning to gain some brand recognition, it seems a shame to move over to Kokako permanently. Thus, once JuMP 0.19 is released and cut selection is implemented, I will merge Kokako into SDDP.jl as v2.0.

This will necessitate some updates to existing models. However, since it will occur in conjunction with the JuMP and Julia update, I feel it's better to lump everything in at once.

Please reply below if you have any queries/comments,
Oscar

@odow odow mentioned this issue Dec 1, 2018
18 tasks
@joaquimg
Copy link
Contributor

joaquimg commented Dec 3, 2018

Consider using ParameterJuMP in kokako, if you are not doig so already :)

@odow
Copy link
Owner Author

odow commented Dec 4, 2018

My current approach has been to make the user implement a parameterize function which lets them use any JuMP functionality.
https://github.com/odow/Kokako.jl/blob/de5fabec518fa769025d5c1a6b599113db2cddcd/examples/infinite_horizon_hydro_thermal.jl#L37-L40

A user could, conceivably, use ParameterJuMP in the subproblem definition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants