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.
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.