I’m currently using cvx to solve a mixed integer programming problem with constraints like norm(x) + norm(y) <= c. CVX with Gurobi Solver can solve it well but is not fast enough. Thus I’m thinking of solving it directly in Gurobi with C++. But after reading the manual, I find Gurobi only supports linear and quadratic constraints.

Then I’m very curious about how cvx is working with Gurobi Solver to solve a problem that Gurobi can’t solve. My original thinking was that cvx was calling Gurobi’s api directly, but I’m confused now because constraints like norm(x) + norm(y) <= c are not valid. Can someone briefly explain to me how cvx solves MIP with non-linear/non-quadratic constraints?