3 ms·
OSQP solves only continuous QPs. For integer variables you need an MIQP solver. We wrote a Python branch-and-bound wrapper around OSQP to solve MIQPs: https://
by sidereus 9y ago
OSQP solves only continuous QPs. For integer variables you need an MIQP solver.
We wrote a Python branch-and-bound wrapper around OSQP to solve MIQPs: https://github.com/oxfordcontrol/miosqp https://github.com/oxfordcontrol/miosqp
However, there are more advanced MIQP algorithms out there such as GUROBI or CPLEX.
- tmyklebu 9y agoDid you test miosqp against standard MIQPs? For example, in QPLIB, there is a handful of convex mixed-integer QPs.
- sidereus 9y agoHaven't tried the MIQP extension against the QPLIB yet. It is just a prototype and it is written in Python. We first need to implement it in C to compare the timings.
- tmyklebu 9y agoYou could compare number of nodes explored rather than absolute timings to see how inaccuracy solving the relaxations affects branch-and-bound.