osqp / miosqp

MIQP solver based on OSQP
Apache License 2.0
96 stars 27 forks source link

Nonconvex MIQP? #4

Closed vallis closed 5 years ago

vallis commented 5 years ago

Hello Bartolomeo and Vihang,

thank you for your work. May I ask if there's any way to use your package to find solutions to a nonconvex MIQP (i.e., a problem with a nonpositive-definite P). If not, is that because of limitations in the underlying OSQP, and are there other packages (commercial or not) that may do better?

Thanks!

Michele

PS: Your README.md needs a small patch to the code example: MIOSQP.setup() must be given miosqp_settings and osqp_settings, as you demonstrate in the examples.

goulart-paul commented 5 years ago

No, there is no way of solving an MIQP with a non-convex cost function using this package. The reason is that miOSQP works by relaxing the integer constraints in the problem into interval constraints using a branch-and-bound approach, leaving a continuous (and convex) QP to be solved by the OSQP sub solver at each step. OSQP is a standard QP solver and can only handle convex QPs / LPs.

You could try CPLEX, which can solve your type of problem starting from release V12.6. There are probably other options (Mosek, Gurobi?), but that’s the first one I found.

On 9 Jan 2019, at 23:35, Michele Vallisneri notifications@github.com<mailto:notifications@github.com> wrote:

Hello Bartolomeo and Vihang,

thank you for your work. May I ask if there's any way to use your package to find solutions to a nonconvex MIQP (i.e., a problem with a nonpositive-definite P). If not, is that because of limitations in the underlying OSQP, and are there other packages (commercial or not) that may do better?

Thanks!

Michele

PS: Your README.md needs a small patch to the code example: MIOSQP.setup() must be given miosqp_settings and osqp_settings, as you demonstrate in the examples.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/oxfordcontrol/miosqp/issues/4, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGhaqaAWLDOI0e3JobY2dQpBjWnM6aRBks5vBnzIgaJpZM4Z4gmU.

vallis commented 5 years ago

Thank you Paul! This is very helpful.