G.5 Gurobi – High-performance LP and QP Solvers

Gurobi [35] is a collection of optimization tools that includes high-performance solvers for large-scale linear programming (LP) and quadratic programming (QP) problems, among others. The project was started by some former CPLEX developers. More information is available at https://www.gurobi.com/.

Although Gurobi is a commercial package, at the time of this writing their is a free academic license available. See https://www.gurobi.com/academia/for-universities for more details.

Beginning with version 5.0.0, Gurobi includes a native Matlab interface, which is supported in Matpower version 4.2 and above.71

When Gurobi is installed, it can be used to solve DC OPF problems by setting the opf.dc.solver option equal to 'GUROBI'. The solution algorithms can be controlled by Matpower’s gurobi.method option. See Table C-12 for a summary of the Gurobi-related Matpower options. A “Gurobi user options” function can also be specified via gurobi.opt_fname to override the defaults for any of the many Gurobi parameters. See help gurobi_options and the “Parameters” section of the “Gurobi Optimizer Reference Manual” at https://www.gurobi.com/documentation/ for details.

It can also be used to solve general LP and QP problems via Matpower’s common QP solver interface qps_matpower, or MILP and MIQP problems via miqps_matpower, with the algorithm option set to 'GUROBI' (or 700 for backward compatibility), or by calling qps_gurobi or miqps_gurobi directly.