-
Notifications
You must be signed in to change notification settings - Fork 62
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
Central Path Cutting Plane #755
Comments
I have not implemented it. All code for SDDP.jl is contained in this repo. |
Hi @FSchmidtDIW, how'd you get on? Here's a place that might be useful to start SDDP.jl/src/plugins/forward_passes.jl Lines 323 to 372 in 3b2570b
|
I strongly dislike any methods which require modifying existing cut intercepts. It is not something that is easily achievable in SDDP.jl. I don't know if you should spend time working on this. Why do you even need to modify the cuts? Can't you just perturb the states in the forward pass to be closer to the centre of the feasible region polyhedron? I didn't read their paper, but modifying the cuts is not what I expected to happen. |
I understand! That makes sense! I'll close this issue! I suppose if you pertubed the states towards the centre you'd end up with a stabilisation/gravity centre-like approach where the stability centre is the (Chebyshev) centre of the feasible region. May be worth a shot! |
If you're thinking about this:
One approach would be to add some constraint that restricts state variables to some trust region around the Chebyshev centre, solve the forward pass, and then delete the constraint in preparation for the backwards pass. This is kinda what this does (for the first-stage only): SDDP.jl/src/plugins/forward_passes.jl Lines 356 to 370 in 3b2570b
A second approach would be to solve the forward pass as usual, and then take a convex combination of the forward pass and the Chebyshev center Then you can make Some other things to consider:
|
That's actually a very fair point. Working on capacity expansion models, it appears useful for the first stage at least but I suppose the existing RegularizedForwardPass already does that. Additionally, as the feasible polyhedron in a given node changes between iterations one would have to recompute the centre every time, which is probably not a major computational effort but complicates things. I will probably drop it for my current project and may come back to it after. |
Yes, now thiiiiiis makes sense. Feel free to open a PR if you have ideas for how we could improve |
Will do! Thank you! I recall that at some point before adding |
That was for the Lagrangian dual problem. I didn't experiment much with RegularizedForwardPass. Any and all ideas accepted 😄 |
on it :) |
Hi Oscar,
I was wondering if anyone has implemented the Central Path Cutting Plane algorithm based on Chebyshev centres by Beltran et al. for SDDP.jl. I was going to have a go at a new ForwardPass but wanted to make sure that it is not implemented anywhere yet.
Thanks a lot
Felix
The text was updated successfully, but these errors were encountered: