I have been writing solver interfaces for a new multiparametric solver I have been writing, and it leads me to realize that there is no general resource for calling Gurobi to solve LPs, QPs, and MILPs, and MIQP in a normal matrix interface. This is not completely unexpected as this is generally a sparse solver, but it is somewhat unsatisfying that I cannot solve an LP with Gurobi in the following way.
import gurobipy
solution = gurobipy.solve_LP(c, A, b, equality_constraints = indices, verbose = False)
Some packages hook into QP solvers or LP solvers, such as Stephane Caron’s qpsolvers package or PuLP, but they either do not cover the mixed-integer case or the quadratic case.
I have developed a simple and thin wrapper for Gurobi in python to simplify the development experience for solving dense LPs, QPs, MILPs, and MIQPs (with QCPs, and MIQCPs coming soon). You can find it on my GitHub SimpleDenseGurobi. To allow one to solve LPs, QPs, MILPs, and MIQPs in a single line of python without learning how to interact with the Gurobi subsystem.