Closed eltuck closed 3 years ago
I haven't moved over the cut pattern code since I didn't think it was super critical, and I don't think it'd be too tricky for someone to add.
Yep you should be able to go epsilon = ...
inside @variable
. Looks like this kwarg is tested but didn't make it into any examples, it would probably be nice to get an example :-).
We still need to write some docs: https://github.com/odow/SDDP.jl/issues/246
I only have a placeholder for now: https://odow.github.io/SDDP.jl/latest/tutorial/13_integrality
The syntax is
@variable(subproblem, 0 <= x <= 2, SDDP.State, initial_value = 0, epsilon = 0.01)
Thank you both! This is very helpful and all sounds good.
Regarding the cuts, what pattern/type of cuts are applied currently? Does it cycle through all 3 (IO, SB, L)?
SDDiP will add Lagrangian cuts only
Thank you!
I'm going to re-open this as a reminder for someone to add IO or SB cuts in the future.
I will add a thought- given that IO cuts will not be better than SB or L cuts, implementing these may just lead to adding unnecessary code to SDDP.jl. Also if the implementation of L cuts could be improved, perhaps the SB cuts would be less valuable also.
given that IO cuts will not be better than SB or L cuts, implementing these may just lead to adding unnecessary code to SDDP.jl
I'm all for avoiding unnecessary code.
Also if the implementation of L cuts could be improved
Is this related to: https://github.com/odow/SDDP.jl/blob/a33786a24c33d6c0a0232432c80659c99788f2b0/src/plugins/integrality_handlers.jl#L214 What's the "smart choice"?
Although for people reading this, I'm unlikely to work on this, and I don't think @lkapelevich is either, so help wanted :).
I would try to start with infeasible duals so that Kelley's method has the chance to work toward a cut that is only "just valid". But I don't know how worthwhile it'll turn out practically.
Closing in favor of #246
Thank y'all for all your work on SDDP and SDDiP packages. I've been been updating a model that previously used SDDiP.jl to SDDP.jl, and an initial draft seems to run fine. At this point, I have a couple questions:
I glanced through the src files but couldn't figure out what the options would be or if those are still features.
Thanks, again!