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

Does Plasmo.jl decompose solving process? #96

Open
ArmanZarrin97 opened this issue Oct 26, 2023 · 2 comments
Open

Does Plasmo.jl decompose solving process? #96

ArmanZarrin97 opened this issue Oct 26, 2023 · 2 comments
Labels

Comments

@ArmanZarrin97
Copy link

I have been lucky to meet @odow in a workshop and he introduced Plasmo.jl for my research. I can already see that it will enhance the modeling method and we could differentiate linking constraints from normal constraints. However, I didn't find any documentation regarding the solving process. does it use decomposition in the solving process? if so, which method has been used for this matter? ADMM? Benders cut?

I appreciate your response.

@jalving
Copy link
Member

jalving commented Oct 27, 2023

Hi @ArmanZarrin97! Thank you for your interest in the package. Plasmo.jl does not perform decomposition at the solver-level. The optigraph does not really touch the solution process, but it does provide methods you might use to help write your own decomposition solver (if that is something you wanted to do).

At one point there was an effort to build out some standard decomposition algorithms with PlasmoAlgorithms.jl, but it never quite used the optigraph in the intended way (you will also see the docs there refer to ModelGraph which was from before we renamed to OptiGraph). They do have some examples of Lagrange and Benders decomposition you might find useful.

There were also some prototype interfaces to DSPopt.jl and PipsNLP.jl, but we never got to something very stable or usable.

I am currently working on an overhaul of the core codebase (when time permits), but developing a standard decomposition interface in Julia has been something of interest for a few of the plasmo devs (see here). I envision someday having some proper decomposition solvers that you can just use through Plasmo.jl, but it is still likely a ways off.

@ArmanZarrin97
Copy link
Author

Hi @jalving. Thank you very much for your detailed answer. I hope eventually different decomposition methods can be applied to a Plasmo Optigraph. It would be a great contribution. Best of luck!

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

No branches or pull requests

2 participants