-
-
Notifications
You must be signed in to change notification settings - Fork 83
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
Support for MathOptInterface.AbstractOptimizer that do not support MathOptInterface.NLPBlock #369
Comments
There are two possibilities for this
I prefere option two. @ChrisRackauckas Would it be ok to add Another issue I see when using the Julia expressions in the problem, is that the parameters have already been replaced so no |
Yes, adding Symbolics.jl for this is good. Hessian sparsity detection would tell you if it's linear, and then you calculate the Hessian to see if non-constant to get if it's quadratic. @shashi might have a better way via the tracer to make it return true/false for quadratic. In theory the algorithm would already know this because it replaces nonlinear expressions with polynomials, and if it ever does that if could flip a bool. |
This seems more like a job for MTK but would be very cool indeed and somewhat cutting edge. |
I recently thought about this, too, when discovering Coming from JuMP, I think there are some issues in Symbolics and SymbolicUtils with vector-algebra that we can keep in mind to make setting up linear or quadratic problems easy and avoid unexpected errors with scalarization or simplification.
As I am still relatively new to the whole ecosystem, some of the proposed changes might very-well be very dumb. I just wanted to link them because they popped up when thinking about Symbolics for LP and QP. PS: if re-instantiation of an optimization problem with different parameters can be made to work, this would be great, because currently that's not well-supported in ParametricOptInterface, e.g., |
The re-initalization will be handled via a caching interface, see #406, also for MOI. |
I have just skimmed a few of the implementation in #381. Personally, I don't see the harm in using low-level MOI calls, but the Expr parsing indeed looks like something to outsource. Could the parsing and simplification be handled by Please excuse, if these are silly questions, as I am not well versed in the internals of Optimization.jl and MTK 🙈 |
I have to say the idea is actually quite nice. JuMP lacks an interface for parameters. At least a real on, ParametricOptInterface can not handle more complex stuff. |
No description provided.
The text was updated successfully, but these errors were encountered: