Comments (2)
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!
from plasmo.jl.
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.
from plasmo.jl.
Related Issues (20)
- How to insyall Plasmo in julia v0.6.4 HOT 2
- Using a solver other than Ipopt HOT 2
- Adding variables or objective to overall `OptiGraph` object HOT 1
- Docs link in Readme still points to Zavalalab HOT 1
- Modeling with many optinodes does not scale HOT 1
- `aggregate` throws an error for some OptiGraphs when `max_depth` > 0 HOT 1
- Optigraph set_objective is too slow HOT 1
- Quadratic objectives with variables on separate nodes is not supported HOT 1
- Calling `optimize!` on an expanded subgraph resets the solution of a different subgraph HOT 2
- `dual(subgraph, link_ref)` does not work like `value(subgraph, var_ref)` HOT 1
- `unset_binary` function does not work after `optimize!` is called HOT 1
- Retrieving callback data for lazy constraints fails HOT 5
- `dual` does not work on linkconstraints set after `optimize!` is called HOT 2
- Adding nodes to a subgraph after the main graph's backend is initialized does not reset graph backend HOT 1
- Setting `Max` instead of `Min` in objective makes `objective_value` negative HOT 2
- append_to_backend accesses private methods from MOI.Utilities HOT 3
- Can Plasmo be used for nested decomposition (in principle, at least)? HOT 4
- Aggregated graph backend does not update variables correctly HOT 1
- Set model does not update object data in v0.6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plasmo.jl.