Comments (4)
@bhalonen Thanks for the interest!
There is not yet a timeline for non-linear link constraints. Our current priority is getting Plasmo.jl updated for JuMP v0.22, but we could certainly use help getting nonlinear link constraints to work.
I have briefly looked into nonlinear linking, and I think an OptiGraph
(or OptiEdge
) would need its own JuMP._NLPData
object. Ideally, it's possible to re-use JuMP's nonlinear expression code without digging too much into the weeds of their implementation. Also keep in mind that MathOptInterface.jl intends to support nonlinear eventually which will change things, but probably not before JuMP 1.0.
from plasmo.jl.
To clarify, the type of constraint I need is a Mixed Integer constraint, which I assumed is some kind of non linear constraint.
We are working on getting the subproblems built in JuMP right now, so there is some work we got to do before we decide how to tie them all together.
from plasmo.jl.
@bhalonen In that case, Plasmo.jl might be a suitable option as is. Do you mean you have constraints over integer variables? If yes, you could create the subproblems (which contain integer variables) and use linear link-constraints to capture coupling between said subproblems. You can then use standard mixed-integer solvers like Gurobi (just like with JuMP).
If you end working on large-scale (but structured) mixed-integer problems, there would be a need to get the DSP solver interface working again.
from plasmo.jl.
Nonlinear linking constraints are now supported with #105.
Check out the new docs @bhalonen in case you're interested.
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
- Does Plasmo.jl decompose solving process? HOT 2
- `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.